]> granicus.if.org Git - esp-idf/commitdiff
xtensa: remove unused header files
authorIvan Grokhotkov <ivan@espressif.com>
Tue, 29 May 2018 16:33:09 +0000 (00:33 +0800)
committerbot <bot@espressif.com>
Thu, 31 May 2018 02:21:36 +0000 (02:21 +0000)
85 files changed:
components/esp32/dport_panic_highint_hdl.S
components/esp32/include/xtensa/board.h [deleted file]
components/esp32/include/xtensa/c6x-compat.h [deleted file]
components/esp32/include/xtensa/debugfs.h [deleted file]
components/esp32/include/xtensa/feedback.h [deleted file]
components/esp32/include/xtensa/gdbio.h [deleted file]
components/esp32/include/xtensa/jtag-xtensa.h [deleted file]
components/esp32/include/xtensa/lcd-splc780d-4bitmode-board.h [deleted file]
components/esp32/include/xtensa/lcd-splc780d-4bitmode.h [deleted file]
components/esp32/include/xtensa/lcd-splc780d.h [deleted file]
components/esp32/include/xtensa/overlay.h [deleted file]
components/esp32/include/xtensa/overlay_os_asm.h [deleted file]
components/esp32/include/xtensa/sim.h [deleted file]
components/esp32/include/xtensa/simboard.h [deleted file]
components/esp32/include/xtensa/simcall-errno.h [deleted file]
components/esp32/include/xtensa/simcall-fcntl.h [deleted file]
components/esp32/include/xtensa/simcall.h [deleted file]
components/esp32/include/xtensa/tie/xt_DFP_assist.h [deleted file]
components/esp32/include/xtensa/tie/xt_FP.h [deleted file]
components/esp32/include/xtensa/tie/xt_MAC16.h [deleted file]
components/esp32/include/xtensa/tie/xt_MUL32.h [deleted file]
components/esp32/include/xtensa/tie/xt_booleans.h [deleted file]
components/esp32/include/xtensa/tie/xt_coprocessors.h [deleted file]
components/esp32/include/xtensa/tie/xt_core.h [deleted file]
components/esp32/include/xtensa/tie/xt_debug.h [deleted file]
components/esp32/include/xtensa/tie/xt_density.h [deleted file]
components/esp32/include/xtensa/tie/xt_exceptions.h [deleted file]
components/esp32/include/xtensa/tie/xt_externalregisters.h [deleted file]
components/esp32/include/xtensa/tie/xt_integerdivide.h [deleted file]
components/esp32/include/xtensa/tie/xt_interrupt.h [deleted file]
components/esp32/include/xtensa/tie/xt_ioports.h [deleted file]
components/esp32/include/xtensa/tie/xt_misc.h [deleted file]
components/esp32/include/xtensa/tie/xt_mmu.h [deleted file]
components/esp32/include/xtensa/tie/xt_mul.h [deleted file]
components/esp32/include/xtensa/tie/xt_regwin.h [deleted file]
components/esp32/include/xtensa/tie/xt_scmpr.h [deleted file]
components/esp32/include/xtensa/tie/xt_sync.h [deleted file]
components/esp32/include/xtensa/tie/xt_timer.h [deleted file]
components/esp32/include/xtensa/tie/xt_trace.h [deleted file]
components/esp32/include/xtensa/trax-api.h [deleted file]
components/esp32/include/xtensa/trax-core-config.h [deleted file]
components/esp32/include/xtensa/trax-proto.h [deleted file]
components/esp32/include/xtensa/trax-util.h [deleted file]
components/esp32/include/xtensa/trax.h [deleted file]
components/esp32/include/xtensa/traxfile.h [deleted file]
components/esp32/include/xtensa/uart-16550-board.h [deleted file]
components/esp32/include/xtensa/uart-16550.h [deleted file]
components/esp32/include/xtensa/udma.h [deleted file]
components/esp32/include/xtensa/xmon.h [deleted file]
components/esp32/include/xtensa/xmp-library.h [deleted file]
components/esp32/include/xtensa/xos.h [deleted file]
components/esp32/include/xtensa/xos_common.h [deleted file]
components/esp32/include/xtensa/xos_cond.h [deleted file]
components/esp32/include/xtensa/xos_errors.h [deleted file]
components/esp32/include/xtensa/xos_event.h [deleted file]
components/esp32/include/xtensa/xos_internal.h [deleted file]
components/esp32/include/xtensa/xos_msgq.h [deleted file]
components/esp32/include/xtensa/xos_mutex.h [deleted file]
components/esp32/include/xtensa/xos_params.h [deleted file]
components/esp32/include/xtensa/xos_regaccess.h [deleted file]
components/esp32/include/xtensa/xos_semaphore.h [deleted file]
components/esp32/include/xtensa/xos_stopwatch.h [deleted file]
components/esp32/include/xtensa/xos_syslog.h [deleted file]
components/esp32/include/xtensa/xos_thread.h [deleted file]
components/esp32/include/xtensa/xos_timer.h [deleted file]
components/esp32/include/xtensa/xos_types.h [deleted file]
components/esp32/include/xtensa/xt_perfmon.h [deleted file]
components/esp32/include/xtensa/xt_profiling.h [deleted file]
components/esp32/include/xtensa/xt_reftb.h [deleted file]
components/esp32/include/xtensa/xtav110.h [deleted file]
components/esp32/include/xtensa/xtav110/xtensa/board.h [deleted file]
components/esp32/include/xtensa/xtav200.h [deleted file]
components/esp32/include/xtensa/xtav200/xtensa/board.h [deleted file]
components/esp32/include/xtensa/xtav60.h [deleted file]
components/esp32/include/xtensa/xtav60/xtensa/board.h [deleted file]
components/esp32/include/xtensa/xtav60/xtensa/lcd-splc780d-board.h [deleted file]
components/esp32/include/xtensa/xtbsp.h [deleted file]
components/esp32/include/xtensa/xtkc705.h [deleted file]
components/esp32/include/xtensa/xtkc705/xtensa/board.h [deleted file]
components/esp32/include/xtensa/xtload-api.h [deleted file]
components/esp32/include/xtensa/xtml605.h [deleted file]
components/esp32/include/xtensa/xtml605/xtensa/board.h [deleted file]
components/esp32/include/xtensa/xtutil.h [deleted file]
components/freertos/include/freertos/portmacro.h
components/freertos/include/freertos/xtensa_rtos.h

index ffd3b45f11342a629d59ea23af5cc49d36756644..bddde3cdffa4407049166d4a2d73efa23fcb84e4 100644 (file)
@@ -16,7 +16,6 @@
 #include <xtensa/coreasm.h>
 #include <xtensa/corebits.h>
 #include <xtensa/config/system.h>
-#include <xtensa/simcall.h>
 #include "freertos/xtensa_context.h"
 #include "esp_panic.h"
 #include "sdkconfig.h"
diff --git a/components/esp32/include/xtensa/board.h b/components/esp32/include/xtensa/board.h
deleted file mode 100644 (file)
index c6b04a2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/*  This header is supposed to be obtained from <board>/xtensa/board.h
-    using a -I directive passed to the compiler.  */
-
-#error "Unspecified board.  Missing -I directive to select supported Xtensa board, usually -I XTENSA_TOOLS_ROOT/xtensa-elf/include/xtensa/<BOARD> (XTENSA_TOOLS_ROOT is root of Xtensa Tools install, see xt-run --show-config=xttools)"
-
-/*
- * Copyright (c) 2013 Tensilica Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
diff --git a/components/esp32/include/xtensa/c6x-compat.h b/components/esp32/include/xtensa/c6x-compat.h
deleted file mode 100644 (file)
index 4b17987..0000000
+++ /dev/null
@@ -1,1758 +0,0 @@
-/*\r
- * Copyright (c) 2006-2010 Tensilica Inc. ALL RIGHTS RESERVED.\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining a copy\r
- * of this software and associated documentation files (the "Software"), to deal\r
- * in the Software without restriction, including without limitation the rights\r
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
- * copies of the Software, and to permit persons to whom the Software is\r
- * furnished to do so, subject to the following conditions:\r
- *\r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
-\r
-#ifndef __C6X_COMPAT__H\r
-#define __C6X_COMPAT__H\r
-\r
-/* Unimplemented functions _gmpy, _gmpy4, _xormpy, _lssub, _cmpy, _cmpyr,\r
-   _cmpyr1, _ddotpl2r, _ddotph2r */\r
-\r
-\r
-typedef long long C6X_COMPAT_LONG40;\r
-\r
-\r
-#define _memd8(a) (*((double*)(a)))\r
-#define _memd8_const(a) (*((const double*)(a)))\r
-\r
-#define _amemd8(a) (*((double*)(a)))\r
-#define _amemd8_const(a) (*((const double*)(a)))\r
-\r
-#define _mem8(a) (*((unsigned long long*)(a)))\r
-#define _mem8_const(a) (*((const unsigned long long*)(a)))\r
-\r
-#define _mem4(a) (*((unsigned*)(a)))\r
-#define _mem4_const(a) (*((const unsigned*)(a)))\r
-#define _amem4_const(a) (*((const unsigned*)(a)))\r
-\r
-/*  NOTE: To emulate a C6X properly you should define global variables\r
-    for your Xtensa with these names.  Some of the emulation routines\r
-    will set these values.  */\r
-\r
-extern int _carry;\r
-extern int _overflow;\r
-\r
-//   Utility routines\r
-\r
-\r
-#define TESTBIT(x,n) (((x) >> (n)) & 1)\r
-\r
-#define NSA_BITS 32\r
-\r
-static inline unsigned int norm_shift_amt_U_and_non_U(int is_signed, int inp) {\r
-int j=0, k=0;\r
-int x=inp;\r
-if (is_signed) {\r
-    /* Invert signed val if negative */\r
-    x= TESTBIT(x,(NSA_BITS-1))? ~x: x;\r
-    x= (x&1)|(x<<1);           /* Shift up to return count-1 */\r
-    if (x ==0) \r
-      return NSA_BITS-1;\r
-  }\r
-  if (x ==0) \r
-    return NSA_BITS;\r
-  /* Now count leading zeros */\r
-  for (j=0, k=NSA_BITS-1; k>=0; j++, k--) {\r
-    if (TESTBIT(x,k)) \r
-      return j;\r
-  }\r
-  return NSA_BITS;\r
-}\r
-\r
-\r
-\r
-static inline long long\r
-orig_L40_set( long long L40_var1) {\r
-   long long L40_var_out;\r
-   \r
-   L40_var_out =  L40_var1 & 0x000000ffffffffffLL;\r
-\r
-   if( L40_var1 & 0x8000000000LL)\r
-      L40_var_out = L40_var_out | 0xffffff0000000000LL;\r
-\r
-   return( L40_var_out);\r
-}\r
-\r
-\r
-\r
-static inline signed long long\r
-util_saturate_n_no_state(signed long long t, int n)\r
-{\r
-  signed long long maxv, minv;\r
-  maxv = (1LL << (n-1)) - 1;\r
-  minv = (-1LL << (n-1));\r
-  if (t > maxv) {\r
-    t = maxv;\r
-  } else if (t < minv) {\r
-    t = minv;\r
-  }\r
-  return t;\r
-}\r
-\r
-\r
-static inline signed long long\r
-util_saturate_n_sgn(signed long long t, int n)\r
-{\r
-  signed long long result;\r
-  signed long long maxv, minv;\r
-  maxv = (1LL << (n-1)) - 1;\r
-  minv = (-1LL << (n-1));\r
-  if (t > 0) {\r
-    result = maxv;\r
-    _overflow = 1;\r
-  } else if (t < 0) {\r
-    result = minv;\r
-    _overflow = 1;\r
-  } else {\r
-    result = 0;\r
-  }\r
-  return result;\r
-}\r
-\r
-\r
-\r
-\r
-/* well-behaved signed shift right (left on negative) with\r
-   saturation */\r
-static inline signed long long\r
-util_shift_right_saturate_n(signed long long t, int shval, int n)\r
-{\r
-  /* n should be <= 62 */\r
-  long long result;\r
-\r
-  signed long long mask;\r
-  int actual_shift = shval;\r
-  long long shft = actual_shift > 0 ? actual_shift : -actual_shift;\r
-\r
-  if (t == 0 || actual_shift == 0)\r
-    return t;\r
-\r
-  if (actual_shift >= n) {\r
-    return (t < 0) ? -1 : 0;\r
-  }\r
-  if (actual_shift <= -n) {\r
-    return util_saturate_n_sgn(t, n);\r
-  }\r
-  if (actual_shift > 0) {\r
-    return t >> actual_shift;\r
-  }\r
-  /* actual_shift < 0. Check for saturation after shift. */\r
-  mask = (-1LL << (n-shft-1));\r
-  if (t > 0 && ((mask & t) != 0)) {\r
-    return util_saturate_n_sgn(t, n);\r
-  }\r
-  if (t < 0 && ((mask & t) != mask)) {\r
-    return util_saturate_n_sgn(t, n);\r
-  }\r
-  result = t << shft;\r
-\r
-  return result;\r
-}\r
-\r
-\r
-/* Implemented c6x standard C compatibility functions (alphabetical\r
-   order) */\r
-\r
-\r
-static inline int _abs(int src1) {\r
-       if ((unsigned) src1 == (unsigned) 0x80000000) {\r
-               return 0x7fffffff;\r
-       }\r
-       return abs(src1);\r
-}\r
-\r
-\r
-static inline int _abs2(int src1) {\r
-       short s1[2],r[2];\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       if ((unsigned short) s1[1] == (unsigned short) 0x8000) r[1] = 0x7fff;\r
-          else r[1] = abs(s1[1]);\r
-       if ((unsigned short) s1[0] == (unsigned short) 0x8000) r[0] = 0x7fff;\r
-          else r[0] = abs(s1[0]);\r
-       result = *(int*)r;\r
-       return result;\r
-       }\r
-\r
-\r
-\r
-\r
-static inline int _add2(int src1, int src2) {\r
-       short s1[2], s2[2], r[2];\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       *((int*)s2) = src2;\r
-       r[0] = s1[0] + s2[0];\r
-       r[1] = s1[1] + s2[1];\r
-       result = *(int*)r;\r
-       return result;\r
-}\r
-\r
-static inline int _add4(int src1, int src2) {\r
-       char c1[4], c2[4], r[4];\r
-       int result;\r
-       *((int*)c1) = src1;\r
-       *((int*)c2) = src2;\r
-       r[0] = c1[0] + c2[0];\r
-       r[1] = c1[1] + c2[1];\r
-       r[2] = c1[2] + c2[2];\r
-       r[3] = c1[3] + c2[3];\r
-       result = *(int*)r;\r
-       return result;\r
-}\r
-\r
-\r
-\r
-static inline long long _addsub(unsigned int src1, unsigned int src2)\r
-{\r
-  \r
-  int res_lo;\r
-  int res_hi;\r
\r
-  res_hi = src1+src2;\r
-  res_lo = src1-src2;\r
-  return (((unsigned long long) res_hi) << 32) | ((unsigned int) res_lo) ;\r
-}\r
-\r
-  \r
-static inline long long _addsub2(unsigned int src1, unsigned int src2)\r
-{\r
-  short s1[2], s2[2], ra[2], rs[2];\r
-  int res_lo;\r
-  int res_hi;\r
-\r
-  *((int*)s1) = src1;\r
-  *((int*)s2) = src2;\r
-  ra[0] = s1[0] + s2[0];\r
-  ra[1] = s1[1] + s2[1];\r
-  rs[0] = s1[0] - s2[0];\r
-  rs[1] = s1[1] - s2[1];\r
-  \r
-  res_hi = *(int*)ra;\r
-  res_lo = *(int*)rs;\r
-  return (((unsigned long long) res_hi) << 32) | ((unsigned int) res_lo) ;\r
-}\r
-\r
-\r
-static inline int _avg2(int src1, int src2) {\r
-  int low = (((int)1 +  (short) src1 + (short) src2) >> 1) & 0XFFFF;\r
-  int high1 = src1 >> 16;\r
-  int high2 = src2 >> 16;\r
-  int high = ((high1 + high2 + 1) >> 1)<< 16;\r
-  return high | low;\r
-}\r
-\r
-\r
-\r
-static inline unsigned int _avgu4(unsigned int src1, unsigned int src2) {\r
-unsigned int res0 = ((src1 & 0xFF) + (src2 & 0xFF) + 1) >> 1;\r
-  unsigned int res1 = (((src1 & 0xFF00) >> 8) + ((src2 & 0xFF00) >> 8) + 1) >> 1;\r
-  unsigned int res2 = (((src1 & 0xFF0000) >> 16) + ((src2 & 0xFF0000) >> 16) + 1) >> 1;\r
-  unsigned int res3 = (((src1 & 0xFF000000) >> 24) + ((src2 & 0xFF000000) >> 24) + 1) >> 1;\r
-  return (res3 << 24) | (res2 << 16) | (res1 << 8) | res0;\r
-}\r
-\r
-\r
-static inline int TEN_popc (unsigned char b)\r
-{\r
-  int i, result = 0;\r
-  for (i = 0; i <  8; i++){\r
-    if (b & 0x1)\r
-      result++;\r
-    b >>= 1;\r
-  }\r
-  return result;\r
-}\r
-\r
-static inline unsigned int _bitc4(unsigned int src1)\r
-{\r
-  unsigned int res0 = TEN_popc(src1 & 0xFF);\r
-  unsigned int res1 = TEN_popc((src1 & 0xFF00) >> 8);\r
-  unsigned int res2 = TEN_popc((src1 & 0xFF0000) >> 16);\r
-  unsigned int res3 = TEN_popc((src1 & 0xFF000000) >> 24);\r
-  return (res3 << 24) | (res2 << 16) | (res1 << 8) | res0;\r
-}\r
-\r
-static inline unsigned int _bitr(unsigned int src) {\r
-       int i;\r
-       unsigned r = 0;\r
-       for (i = 0; i< 32; ++i) {\r
-               r = r | (((src >> i) & 1)<<(31-i));\r
-       }\r
-       return r;\r
-}\r
-\r
-\r
-static inline unsigned int _clr(unsigned int src2,  int csta,  int cstb)\r
-{\r
-  csta &= 0x1f;\r
-  cstb &= 0x1f;\r
-  if (csta > cstb)\r
-    return src2;\r
-  else {\r
-    unsigned int mask =  (((1 <<  (cstb -  csta)) <<  1) -  1) <<  csta;\r
-    return src2 & (~mask);\r
-  }\r
-}\r
-\r
-static inline unsigned int _clrr(unsigned int src2, int src1)\r
-{\r
-  unsigned int csta = (src1 >> 5) & 0x1f;\r
-  unsigned int cstb = src1 & 0x1f;\r
-  if (csta > cstb)\r
-    return src2;\r
-  else {\r
-    unsigned int mask =  (((1 <<  (cstb -  csta)) <<  1) -  1) <<  csta;\r
-    return src2 & (~mask);\r
-  }\r
-}\r
-\r
-\r
-\r
-\r
-static inline int _cmpeq2(int src1, int src2) {\r
-       short s1[2], s2[2];\r
-       int r0, r1;\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       *((int*)s2) = src2;\r
-       r0 = s1[0] == s2[0] ? 1 : 0;\r
-       r1 = s1[1] == s2[1] ? 1 : 0;\r
-       result = (r1 << 1) | r0;\r
-       return result;\r
-}\r
-\r
-static inline int _cmpeq4(int src1, int src2) {\r
-       char s1[4], s2[4];\r
-       int r0, r1, r2, r3;\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       *((int*)s2) = src2;\r
-       r0 = s1[0] == s2[0] ? 1 : 0;\r
-       r1 = s1[1] == s2[1] ? 1 : 0;\r
-       r2 = s1[2] == s2[2] ? 1 : 0;\r
-       r3 = s1[3] == s2[3] ? 1 : 0;\r
-       result = (r3 << 3) | (r2 << 2) | (r1 << 1) | r0;\r
-       return result;\r
-}\r
-\r
-\r
-static inline int _cmpgt2(int src1, int src2) {\r
-       short s1[2], s2[2];\r
-       int r1, r0;\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       *((int*)s2) = src2;\r
-       r0 = s1[0] > s2[0] ? 1 : 0;\r
-       r1 = s1[1] > s2[1] ? 1 : 0;\r
-       result = (r1<<1) | r0;\r
-       return result;\r
-}\r
-\r
-\r
-static inline unsigned int _cmpgtu4(unsigned int src1, unsigned int src2) {\r
-  unsigned int s1_0 = (src1 & 0xFF);\r
-  unsigned int s1_1 = (src1 & 0xFF00) >> 8;\r
-  unsigned int s1_2 = (src1 & 0xFF0000) >> 16;\r
-  unsigned int s1_3 = (src1 & 0xFF000000) >> 24;\r
-\r
-  unsigned int s2_0 = (src2 & 0xFF);\r
-  unsigned int s2_1 = (src2 & 0xFF00) >> 8;\r
-  unsigned int s2_2 = (src2 & 0xFF0000) >> 16;\r
-  unsigned int s2_3 = (src2 & 0xFF000000) >> 24;\r
-\r
-  unsigned int result = 0;\r
-\r
-  if (s1_0 > s2_0)\r
-    result |= 0x1;\r
-\r
-  if (s1_1 > s2_1)\r
-    result |= 0x2;\r
-\r
-  if (s1_2 > s2_2)\r
-    result |= 0x4;\r
-\r
-  if (s1_3 > s2_3)\r
-    result |= 0x8;\r
-\r
-  return result;\r
-}\r
-\r
-\r
-\r
-\r
-static inline long long _ddotp4(unsigned int src1, unsigned int src2) {\r
-  unsigned int res0, res1;\r
-  short s1_0 = (src1 & 0xffff);\r
-  short s1_1 = (src1 & 0xfff0000) >> 16;\r
-\r
-  unsigned short s2_0 = (src2 & 0xff);\r
-  unsigned short s2_1 = (src2 & 0xff00) >> 8;\r
-  unsigned short s2_2 = (src2 & 0xff0000) >> 16;\r
-  unsigned short s2_3 = (src2 & 0xff000000) >> 24;\r
-\r
-  res0 = ((int)s1_0) * s2_0 + ((int)s1_1) * s2_1;\r
-  res1 = ((int)s1_0) * s2_2 + ((int)s1_1) * s2_3;\r
-\r
-  return (res1 << 16) | res0;\r
-}\r
-\r
-\r
-static inline long long _ddotph2(long long src1_o_src1_e, unsigned int src2)\r
-{\r
-\r
-  unsigned int src1_o = src1_o_src1_e >> 32;  \r
-  unsigned int src1_e = src1_o_src1_e & 0xFFFFFFFF;  \r
-  short ls1_o = src1_o & 0XFFFF;\r
-  short hs1_o = src1_o >> 16;\r
-//  short ls1_e = src1_e & 0XFFFF;\r
-  short hs1_e = src1_e >> 16;\r
-  short ls2 = src2 & 0XFFFF;\r
-  short hs2 = src2 >> 16;\r
-\r
-  unsigned long long res_hi = ls2 * ls1_o + hs2 * hs1_o;\r
-  unsigned int res_lo = ls1_o * hs2 + hs1_e * ls2;\r
-  return (res_hi << 32) | res_lo;\r
-}\r
-\r
-\r
-static inline long long _ddotpl2(long long src1_o_src1_e, unsigned int src2)\r
-{\r
-  unsigned int src1_o = src1_o_src1_e >> 32;  \r
-  unsigned int src1_e = src1_o_src1_e & 0xFFFFFFFF;  \r
-  short ls1_o = src1_o & 0XFFFF;\r
-//  short hs1_o = src1_o >> 16;\r
-  short ls1_e = src1_e & 0XFFFF;\r
-  short hs1_e = src1_e >> 16;\r
-  short ls2 = src2 & 0XFFFF;\r
-  short hs2 = src2 >> 16;\r
-\r
-  unsigned long long res_hi = ls2 * hs1_e + hs2 * ls1_o;\r
-  unsigned res_lo = hs1_e * hs2 + ls1_e * ls2;\r
-  return (res_hi << 32) | res_lo;\r
-}\r
-\r
-\r
-static inline unsigned int _deal(unsigned int src)\r
-{\r
-  int i;\r
-  unsigned short lo = 0, hi = 0;\r
-  for (i = 0; i < 32; i+= 2) {\r
-    lo >>= 1;\r
-    lo |= (src & 0x1) << 15;\r
-    src >>= 1;\r
-    hi >>= 1;\r
-    hi |= (src & 0x1) << 15;\r
-    src >>= 1;\r
-  }\r
-  return (hi << 16) | lo;\r
-}\r
-\r
-\r
-static inline long long _dmv(unsigned int src1, unsigned int src2)\r
-{\r
-  return (((long long) src1) << 32) | src2;\r
-}\r
-\r
-\r
-static inline int _dotpn2(int src1, int src2) {\r
-short int s1_h = src1>>16;\r
-       short int s1_l = src1;\r
-       short int s2_h = src2>>16;\r
-       short int s2_l = src2;\r
-       return s1_h * s2_h - s1_l * s2_l;\r
-}\r
-\r
-\r
-static inline int _dotp2(int src1, int src2) {\r
-       short int s1_h = src1>>16;\r
-       short int s1_l = src1;\r
-       short int s2_h = src2>>16;\r
-       short int s2_l = src2;\r
-       return s1_h * s2_h + s1_l * s2_l;\r
-}\r
-\r
-\r
-\r
-static inline int _dotpnrsu2(int src1, unsigned int src2)\r
-{\r
-  short ls1 = src1 & 0XFFFF;\r
-  unsigned short ls2 = src2 & 0XFFFF;\r
-  short hs1 = src1 >> 16;\r
-  unsigned short hs2 = src2 >> 16;\r
-\r
-  int result = (((long long) (int)(hs1 * hs2)) - ((long long) (int)(ls1 * ls2)) +  (1 << 15)) >> 16;\r
-  return result;\r
-}\r
-\r
-\r
-\r
-static inline int _dotprsu2(int src1, unsigned int src2) {\r
-  short ls1 = src1 & 0XFFFF;\r
-  unsigned short ls2 =  (src2 & 0XFFFF);\r
-  short hs1 = src1 >> 16;\r
-  unsigned short hs2 =  (src2 >> 16);\r
-\r
-  int result = (((long long) (int) (ls1 * ls2)) + ((long long) (int) (hs1 * hs2)) +  (1LL << 15)) >> 16;\r
-  return result;\r
-}\r
-\r
-\r
-\r
-\r
-\r
-\r
-\r
-static inline int _dotpsu4(int src1, unsigned int src2) {\r
-  int result;\r
-  signed char s1_0 = (src1 & 0xff);\r
-  signed char s1_1 = (src1 & 0xff00) >> 8;\r
-  signed char s1_2 = (src1 & 0xff0000) >> 16;\r
-  signed char s1_3 = (src1 & 0xff000000) >> 24;\r
-\r
-  unsigned int s2_0 = (src2 & 0xff);\r
-  unsigned int s2_1 = (src2 & 0xff00) >> 8;\r
-  unsigned int s2_2 = (src2 & 0xff0000) >> 16;\r
-  unsigned int s2_3 = (src2 & 0xff000000) >> 24;\r
-\r
-  result = s1_0 * s2_0 + s1_1 * s2_1 + s1_2 * s2_2 + s1_3 * s2_3;\r
-  return result;\r
-}\r
-\r
-\r
-static inline unsigned int _dotpu4(unsigned int src1, unsigned int src2) {\r
-       unsigned char v1_0 = src1 & 0xff;\r
-       unsigned char v1_1 = (src1>>8) & 0xff;\r
-       unsigned char v1_2 = (src1>>16) & 0xff;\r
-       unsigned char v1_3 = (src1>>24) & 0xff;\r
-\r
-       unsigned char v2_0 = src2 & 0xff;\r
-       unsigned char v2_1 = (src2>>8) & 0xff;\r
-       unsigned char v2_2 = (src2>>16) & 0xff;\r
-       unsigned char v2_3 = (src2>>24) & 0xff;\r
-\r
-       unsigned v = v1_0 * v2_0  + v1_1 * v2_1 + v1_2 * v2_2 + v1_3 * v2_3;\r
-       return v;\r
-}\r
-\r
-\r
-static inline long long _dpack2(unsigned int src1, unsigned int src2){\r
-unsigned short s1[2], s2[2];\r
-*((int*)s1) = src1;\r
-*((int*)s2) = src2;\r
-return ((unsigned long long) s1[1] << 48) | ((unsigned long long) s2[1] << 32) | ((unsigned long long) s1[0] << 16) | ((unsigned long long) s2[0]);\r
-}\r
-\r
-\r
-static inline long long _dpackx2(unsigned int src1, unsigned int src2){\r
-unsigned short s1[2], s2[2];\r
-*((int*)s1) = src1;\r
-*((int*)s2) = src2;\r
-return ((unsigned long long) s2[0] << 48) | ((unsigned long long) s1[1] << 32) | ((unsigned long long) s1[0] << 16) | ((unsigned long long) s2[1]);\r
-}\r
-\r
-static inline int _ext(int src2, unsigned int csta, unsigned int cstb)\r
-{\r
-  return (src2 << csta) >> cstb;\r
-}\r
-\r
-static inline int _extr(int src2, int src1)\r
-{\r
-  unsigned int csta = (src1 >> 5) & 0x1f;\r
-  unsigned int cstb = src1 & 0x1f;\r
-  return (src2 << csta) >> cstb;\r
-}\r
-\r
-static inline unsigned int _extu(unsigned int src2, unsigned int csta, unsigned int cstb)\r
-{\r
-  return (src2 << csta) >> cstb;\r
-}\r
-\r
-static inline unsigned int _extur(unsigned int src2, int src1)\r
-{\r
-  unsigned int csta = (src1 >> 5) & 0x1f;\r
-  unsigned int cstb = src1 & 0x1f;\r
-  return (src2 << csta) >> cstb;\r
-}\r
-\r
-\r
-static inline unsigned long long _hi(double src) {\r
-       unsigned long long v;\r
-       *(double*)&v = src;\r
-       return v>>32;\r
-}\r
-\r
-static inline unsigned int _hill (long long src)\r
-{\r
-  return (unsigned int) (src >> 32);\r
-}\r
-\r
-\r
-\r
-static inline double _itod(unsigned hi, unsigned lo) {\r
-       double v;\r
-       unsigned long long ll = ((((unsigned long long)(hi))<<32) | (unsigned long long)((unsigned)lo)); \r
-       *((unsigned long long *)&v) = ll;\r
-       return v;\r
-}\r
-\r
-\r
-static inline long long _itoll(unsigned int src2, unsigned int src1)\r
-{\r
-  return (((long long) src2) << 32) | src1;\r
-}\r
-\r
-\r
-static inline C6X_COMPAT_LONG40 _labs(C6X_COMPAT_LONG40 src2)\r
-{\r
-  long long maxv = (1LL << (40 -1)) - 1;\r
-  long long minv = (-1LL << (40 - 1));\r
-  C6X_COMPAT_LONG40 lres =  orig_L40_set(src2);\r
-\r
-  lres = lres < 0 ? -lres : lres;\r
-  if (lres > maxv) lres = maxv;\r
-  else if (lres < minv) lres = minv;\r
-  \r
-  return lres;\r
-}\r
-\r
-\r
-static inline C6X_COMPAT_LONG40 _ldotp2(int src1, int src2) {\r
-return (C6X_COMPAT_LONG40) _dotp2(src1, src2);\r
-}\r
-\r
-\r
-static inline unsigned int _lmbd(unsigned int src1, unsigned int src2)\r
-{\r
-  return norm_shift_amt_U_and_non_U(0,(((int) (src1 << 31)) >> 31) ^ (~src2));\r
-}\r
-\r
-\r
-static inline unsigned int _lnorm(C6X_COMPAT_LONG40 src2) {\r
-if (src2 == 0)\r
-    return 39;\r
-  else {\r
-    int hi = (int)(src2 >> 32);\r
-    int lo = (int)src2;\r
-    \r
-\r
-    long long temp = (unsigned long long)(unsigned)lo | (unsigned long long)hi << 32;\r
-    temp = orig_L40_set(temp);\r
-\r
-    if (temp == 0) return 0;\r
-    int cnt = 0;\r
-    while (((temp >> 39) & 1) == ((temp >> 38) & 1)) {\r
-       temp <<= 1;\r
-       cnt++;\r
-       }\r
-  return cnt;\r
-  }\r
-}\r
-\r
-\r
-static inline unsigned long long _lo(double src) {\r
-       unsigned long long v;\r
-       *(double*)&v = src;\r
-       return v;\r
-}\r
-\r
-\r
-static inline unsigned int _loll (long long src)\r
-{\r
-  return (unsigned int) src;\r
-}\r
-\r
-\r
-static inline C6X_COMPAT_LONG40 _lsadd(int src1, C6X_COMPAT_LONG40 src2)\r
-{\r
-  long long maxv = (1LL << (40 -1)) - 1;\r
-  long long minv = (-1LL << (40 - 1));\r
-  int hi = (int)(src2 >> 32);\r
-  int lo = (int)src2;\r
-  long long src2_int =  (unsigned long long)(unsigned)lo | (unsigned long long)hi << 32;\r
-\r
-\r
-  long long src2_int2 =  orig_L40_set(src2_int);\r
-  \r
-  long long res = src1 + src2_int2;\r
-\r
-  if (res > maxv) { \r
-       res = maxv;\r
-       _overflow = 1;\r
-       }\r
-  else if (res < minv) {\r
-       res = minv;\r
-       _overflow = 1;\r
-       }\r
-\r
-  long long res2 = orig_L40_set(res);\r
-\r
-  res2 = (signed char)(res2 >> 32);\r
-  \r
-  C6X_COMPAT_LONG40 lres = (((C6X_COMPAT_LONG40) res2) << 32) | ((unsigned int)res);\r
-  return lres;\r
-}\r
-\r
-\r
-\r
-static inline int _max2 (int src1, int src2) {\r
-       short s1[2], s2[2], r[2];\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       *((int*)s2) = src2;\r
-       r[0] = s1[0] > s2[0] ? s1[0] : s2[0];\r
-       r[1] = s1[1] > s2[1] ? s1[1] : s2[1];\r
-       result = *(int*)r;\r
-       return result;\r
-}\r
-\r
-\r
-\r
-\r
-\r
-\r
-static inline unsigned int _maxu4(unsigned int src1, unsigned int src2) {\r
-  unsigned int res0, res1, res2, res3;\r
-  unsigned int s1_0 = res0 = (src1 & 0xFF);\r
-  unsigned int s1_1 = res1 = (src1 & 0xFF00) >> 8;\r
-  unsigned int s1_2 = res2 = (src1 & 0xFF0000) >> 16;\r
-  unsigned int s1_3 = res3 = (src1 & 0xFF000000) >> 24;\r
-\r
-  unsigned int s2_0 = (src2 & 0xFF);\r
-  unsigned int s2_1 = (src2 & 0xFF00) >> 8;\r
-  unsigned int s2_2 = (src2 & 0xFF0000) >> 16;\r
-  unsigned int s2_3 = (src2 & 0xFF000000) >> 24;\r
-\r
-//  unsigned int res = 0;\r
-\r
-  if (s1_0 < s2_0)\r
-    res0 = s2_0;\r
-\r
-  if (s1_1 < s2_1)\r
-    res1 = s2_1;\r
-\r
-  if (s1_2 < s2_2)\r
-    res2 = s2_2;\r
-\r
-  if (s1_3 < s2_3)\r
-    res3 = s2_3;\r
-\r
-  return (res3 << 24) | (res2 << 16) | (res1 << 8) | res0;\r
-\r
-\r
-}\r
-\r
-static inline int _min2(int src1, int src2) {\r
-       short s1[2], s2[2], r[2];\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       *((int*)s2) = src2;\r
-       r[0] = s1[0] < s2[0] ? s1[0] : s2[0];\r
-       r[1] = s1[1] < s2[1] ? s1[1] : s2[1];\r
-       result = *(int*)r;\r
-       return result;\r
-}\r
-\r
-\r
-static inline unsigned int _minu4(unsigned int src1, unsigned int src2) {\r
-unsigned int res0, res1, res2, res3;\r
-  unsigned int s1_0 = res0 = (src1 & 0xFF);\r
-  unsigned int s1_1 = res1 = (src1 & 0xFF00) >> 8;\r
-  unsigned int s1_2 = res2 = (src1 & 0xFF0000) >> 16;\r
-  unsigned int s1_3 = res3 = (src1 & 0xFF000000) >> 24;\r
-\r
-  unsigned int s2_0 = (src2 & 0xFF);\r
-  unsigned int s2_1 = (src2 & 0xFF00) >> 8;\r
-  unsigned int s2_2 = (src2 & 0xFF0000) >> 16;\r
-  unsigned int s2_3 = (src2 & 0xFF000000) >> 24;\r
-\r
-//  unsigned int res = 0;\r
-\r
-  if (s1_0 > s2_0)\r
-    res0 = s2_0;\r
-\r
-  if (s1_1 > s2_1)\r
-    res1 = s2_1;\r
-\r
-  if (s1_2 > s2_2)\r
-    res2 = s2_2;\r
-\r
-  if (s1_3 > s2_3)\r
-    res3 = s2_3;\r
-\r
-  return (res3 << 24) | (res2 << 16) | (res1 << 8) | res0;\r
-}\r
-\r
-\r
-static inline int _mpy(int src1, int src2) {\r
-return (short) src1 * (short) src2;\r
-}\r
-\r
-\r
-static inline int _mpyh(int src1, int src2) {\r
-return (short) (src1 >> 16) * (short) (src2 >> 16);\r
-}\r
-\r
-\r
-static inline long long _mpyhill (int src1,  int src2)\r
-{\r
-  short s1 = src1 >> 16;\r
-  return ((long long) src2) * s1;\r
-}\r
-\r
-static inline int _mpyhir(int src1, int src2)\r
-{\r
-  short s1 = src1 >> 16;\r
-  long long result = ((long long) src2) * s1 + (1 << 14);\r
-  result >>= 15;\r
-  return result;\r
-}\r
-\r
-\r
-static inline int _mpyhl(int src1, int src2) {\r
-return (short) (src1 >> 16) * (short) (src2);\r
-}\r
-\r
-static inline unsigned int _mpyhlu(unsigned int src1, unsigned int src2) {\r
-return (unsigned short) (src1 >> 16) * (unsigned short) (src2);\r
-}\r
-\r
-static inline int _mpyhslu(int src1, unsigned int src2) {\r
-return (short) (src1 >> 16) * (unsigned short) src2;\r
-}\r
-\r
-\r
-static inline int _mpyhsu(int src1, unsigned int src2) {\r
-return (short) (src1 >>16) * (unsigned short) (src2 >>16);\r
-}\r
-\r
-\r
-static inline unsigned int _mpyhu(unsigned int src1, unsigned int src2) {\r
-return (unsigned short) (src1 >>16) * (unsigned short) (src2 >> 16);\r
-}\r
-\r
-\r
-static inline int _mpyhuls(unsigned int src1, int src2) {\r
-return (unsigned short) (src1 >>16) * (signed short) (src2);\r
-}\r
-\r
-\r
-static inline int _mpyhus(unsigned int src1, int src2) {\r
-return (unsigned short) (src1 >> 16) * (short) (src2 >>16);\r
-}\r
-\r
-\r
-\r
-static inline long long _mpyidll (int src1, int src2)\r
-{\r
-  return (long long) src1 * src2;\r
-}\r
-\r
-\r
-static inline int _mpylh(int src1, int src2) {\r
-return (signed short) (src1 & 0xffff) * (signed short) (src2 >> 16);\r
-}\r
-\r
-static inline unsigned int _mpylhu(unsigned int src1, unsigned int src2) {\r
-return (unsigned short) src1 * (unsigned short) (src2 >> 16);\r
-}\r
-\r
-\r
-static inline long long _mpylill (int src1,  int src2)\r
-{\r
-  return ((long long) src2) * ((short)src1);\r
-}\r
-\r
-\r
-\r
-static inline int _mpylir(int src1, int src2)\r
-{\r
-  short s1 = src1;\r
-  long long result = ((long long) src2) * s1 + (1 << 14);\r
-  result >>= 15;\r
-  return result;\r
-}\r
-\r
-\r
-static inline int _mpylshu(int src1, unsigned int src2) {\r
-return (short) src1 * (unsigned short) (src2 >> 16);\r
-}\r
-\r
-\r
-static inline int _mpyluhs(unsigned int src1, int src2) {\r
-return (unsigned short) src1 * (short) (src2 >> 16);\r
-}\r
-\r
-\r
-\r
-static inline int _mpysu(int src1, unsigned int src2) {\r
-return (short) src1 * (unsigned short) src2;\r
-}\r
-\r
-\r
-\r
-static inline long long _mpysu4ll (int src1,  unsigned int src2) {\r
-  unsigned short res0, res1, res2, res3;\r
-  signed char s1_0 = (src1 & 0xff);\r
-  signed char s1_1 = (src1 & 0xff00) >> 8;\r
-  signed char s1_2 = (src1 & 0xff0000) >> 16;\r
-  signed char s1_3 = (src1 & 0xff000000) >> 24;\r
-\r
-  unsigned short s2_0 = (src2 & 0xff);\r
-  unsigned short s2_1 = (src2 & 0xff00) >> 8;\r
-  unsigned short s2_2 = (src2 & 0xff0000) >> 16;\r
-  unsigned short s2_3 = (src2 & 0xff000000) >> 24;\r
-\r
-  res0 = s1_0 * s2_0;\r
-  res1 = s1_1 * s2_1;\r
-  res2 = s1_2 * s2_2;\r
-  res3 = s1_3 * s2_3;\r
-\r
-  return (((unsigned long long) res3) << 48)\r
-    | (((unsigned long long) res2) << 32)\r
-    | (((unsigned long long) res1) << 16)\r
-    | res0;\r
-}\r
-\r
-static inline unsigned int _mpyu(unsigned int src1, unsigned int src2) {\r
-       unsigned v = (unsigned short)src1 * (unsigned short)src2;\r
-       return v;\r
-}\r
-\r
-static inline int _mpyus(unsigned int src1, int src2) {\r
-return (unsigned short) src1 * (short) src2;\r
-}\r
-\r
-static inline long long _mpyu4ll (unsigned int src1,  unsigned int src2) {\r
-  unsigned short res0, res1, res2, res3;\r
-  unsigned char s1_0 = (src1 & 0xff);\r
-  unsigned char s1_1 = (src1 & 0xff00) >> 8;\r
-  unsigned char s1_2 = (src1 & 0xff0000) >> 16;\r
-  unsigned char s1_3 = (src1 & 0xff000000) >> 24;\r
-\r
-  unsigned short s2_0 = (src2 & 0xff);\r
-  unsigned short s2_1 = (src2 & 0xff00) >> 8;\r
-  unsigned short s2_2 = (src2 & 0xff0000) >> 16;\r
-  unsigned short s2_3 = (src2 & 0xff000000) >> 24;\r
-\r
-  res0 = s1_0 * s2_0;\r
-  res1 = s1_1 * s2_1;\r
-  res2 = s1_2 * s2_2;\r
-  res3 = s1_3 * s2_3;\r
-\r
-  return (((unsigned long long) res3) << 48)\r
-    | (((unsigned long long) res2) << 32)\r
-    | (((unsigned long long) res1) << 16)\r
-    | res0;\r
-}\r
-\r
-\r
-static inline long long _mpy2ir(unsigned int src1, unsigned int src2)\r
-{\r
-  if ((src1 == 0x8000) && (src2 == 0x80000000)) {\r
-    _overflow = 1;\r
-    return 0;\r
-  }\r
-  else {\r
-    short ls1 = src1 & 0xffff;\r
-    short hs1 = src1 >> 16;\r
-    unsigned long long hi = (((long long) hs1) * (int) src2 + (1 << 14)) >> 15;\r
-    unsigned long long lo = ((((long long) ls1) * (int) src2 + (1 << 14)) >> 15) & 0xFFFFFFFF;\r
-    return (hi << 32) | lo;\r
-  }\r
-}\r
-\r
-\r
-static inline long long _mpy2ll (int src1,  int src2) {\r
-  short ls1 = src1 & 0xffff;\r
-  short hs1 = src1 >> 16;\r
-  short ls2 = src2 & 0xffff;\r
-  short hs2 = src2 >> 16;\r
-\r
-  unsigned long long hi = hs1 * hs2;\r
-  unsigned long long lo = (ls1 * ls2) & 0xFFFFFFFF;\r
-\r
-  return (hi << 32) | lo;\r
-  \r
-}\r
-\r
-\r
-static inline int _mpy32(int src1, int src2)\r
-{\r
-  return src1 * src2;\r
-}\r
-\r
-\r
-static inline long long _mpy32ll(int src1, int src2)\r
-{\r
-  return ((long long) src1) * src2;\r
-}\r
-\r
-static inline long long _mpy32su(int src1, unsigned int src2)\r
-{\r
-  return ((long long) src1) * ((int) src2);\r
-}\r
-\r
-static inline long long _mpy32u(unsigned int src1, unsigned int src2)\r
-{\r
-  return ((long long) ((int) src1)) * ((long long) ((int) src2));\r
-}\r
-\r
-static inline long long _mpy32us(unsigned int src1, int src2)\r
-{\r
-  return ((int) src1) * ((long long) src2);\r
-}\r
-\r
-static inline int _mvd (int src2)\r
-{\r
-  return src2;\r
-}\r
-\r
-\r
-static inline unsigned int _norm(int src2)\r
-{\r
-  return norm_shift_amt_U_and_non_U(1,src2);\r
-}\r
-\r
-\r
-static inline unsigned int _pack2 (unsigned int src1, unsigned int src2) {\r
-       short s1[2], s2[2], r[2];\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       *((int*)s2) = src2;\r
-       r[0] = s2[0];\r
-       r[1] = s1[0];\r
-       result = *(int*)r;\r
-       return result;\r
-}\r
-\r
-\r
-static inline int _packh2 (unsigned int src1, unsigned int src2) {\r
-       unsigned v0 = src1 & 0xffff0000;\r
-       unsigned v1 = src2 >> 16;\r
-       unsigned v = v0|v1;\r
-       return v;\r
-       \r
-}\r
-\r
-static inline unsigned int _packh4 (unsigned int src1, unsigned int src2) {\r
-       unsigned v3 = (src1 >> 24) & 0xff;\r
-       unsigned v2 = (src1 >> 8) & 0xff;\r
-       unsigned v1 = (src2 >> 24) & 0xff;\r
-       unsigned v0 = (src2 >> 8) & 0xff;\r
-       unsigned v = (v3<<24) | (v2<<16) | (v1 << 8) | v0;\r
-       return v;\r
-}\r
-\r
-static inline unsigned int _packhl2 (unsigned int src1,  unsigned int src2) {\r
-       unsigned v0 = src1 & 0xffff0000;\r
-       unsigned v1 = src2 & 0x0000ffff;\r
-       unsigned v = v0|v1;\r
-       return v;\r
-}\r
-\r
-static inline unsigned int _packlh2 (unsigned int src1,  unsigned int src2) {\r
-       unsigned v0 = src1 << 16;\r
-       unsigned v1 = (src2 >> 16) & 0xffff;\r
-       unsigned v = v0|v1;\r
-       return v;\r
-}\r
-\r
-\r
-\r
-\r
-static inline unsigned int _packl4 (unsigned int src1, unsigned int src2) {\r
-       unsigned v3 = (src1 >> 16) & 0xff;\r
-       unsigned v2 = (src1) & 0xff;\r
-       unsigned v1 = (src2 >> 16) & 0xff;\r
-       unsigned v0 = (src2) & 0xff;\r
-       unsigned v = (v3<<24) | (v2<<16) | (v1 << 8) | v0;\r
-       return v;\r
-}\r
-\r
-\r
-\r
-\r
-static inline unsigned int _rpack2 (unsigned int src1, unsigned int src2) {\r
-int s1 = (int) src1;\r
-int s2 = (int) src2;\r
-s1 = util_shift_right_saturate_n (s1, -1, 32);\r
-s2 = util_shift_right_saturate_n (s2, -1, 32);\r
-return (unsigned int) (s1 & 0xffff0000) | (unsigned int) ((s2 & 0xffff0000) >>16);\r
-}\r
-\r
-\r
-static inline unsigned int _rotl (unsigned int src1, unsigned int src2)\r
-{\r
-  src2 &= 0x1f;\r
-  return (src1 << src2) | (src1 >> (32 - src2));\r
-}\r
-\r
-\r
-static inline int _sadd(int src1, int src2) {\r
-signed long long res;\r
-signed long long maxv, minv;\r
-maxv = (1LL << (32-1)) - 1;\r
-minv = (-1LL << (32-1));\r
-res = (long long) src1 + (long long) src2;\r
-if (res > maxv) {\r
-       res = maxv;\r
-       _overflow = 1;\r
-       }\r
-else if (res < minv ) {\r
-       res = minv;\r
-       _overflow = 1;\r
-       }\r
-return (int) res;\r
-}\r
-\r
-static inline long long _saddsub(unsigned int src1, unsigned int src2) {\r
-int radd;\r
-signed long long rsub;\r
-\r
-signed long long maxv, minv;\r
-maxv = (1LL << (32-1)) - 1;\r
-minv = (-1LL << (32-1));\r
-\r
-radd = (int) src1 + (int) src2;\r
-\r
-//   saturate on subtract, not add\r
-\r
-\r
-rsub = (long long) ((int) src1) - (long long) ((int) src2);\r
-if (rsub > maxv) {\r
-       rsub = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (rsub < minv ) {\r
-       rsub = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-\r
-return  (((unsigned long long) radd) << 32) |  ( rsub & 0x00000000ffffffff ) ;\r
-}\r
-\r
-\r
-\r
-static inline long long _saddsub2(unsigned int src1, unsigned int src2) {\r
-signed int radd[2];\r
-signed int rsub[2];\r
-signed short s1[2], s2[2];\r
-\r
-signed int maxv, minv;\r
-maxv = (1L << (16-1)) - 1;\r
-minv = (-1L << (16-1));\r
-\r
-*((int*)s1) = src1;\r
-*((int*)s2) = src2;\r
-\r
-radd[0] =  (int) s1[0] + (int) s2[0];\r
-radd[1] =  (int) s1[1] + (int) s2[1];\r
-\r
-rsub[0] =  (int) s1[0] - (int) s2[0];\r
-rsub[1] =  (int) s1[1] - (int) s2[1];\r
-\r
-if (radd[0] > maxv) {\r
-       radd[0] = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (radd[0] < minv ) {\r
-       radd[0] = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-\r
-if (radd[1] > maxv) {\r
-       radd[1] = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (radd[1] < minv ) {\r
-       radd[1] = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-\r
-\r
-if (rsub[0] > maxv) {\r
-       rsub[0] = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (rsub[0] < minv ) {\r
-       rsub[0] = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-\r
-if (rsub[1] > maxv) {\r
-       rsub[1] = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (rsub[1] < minv ) {\r
-       rsub[1] = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-\r
-\r
-return  ((((unsigned long long) radd[1]) & 0x000000000000ffff) << 48) | \r
-        ((((unsigned long long) radd[0]) & 0x000000000000ffff) << 32) | \r
-        ((((unsigned long long) rsub[1]) & 0x000000000000ffff) << 16) |\r
-        ((((unsigned long long) rsub[0]) & 0x000000000000ffff));\r
-}\r
-\r
-\r
-\r
-static inline  int _sadd2(int src1, int src2) {\r
-signed short s1[2], s2[2];\r
-signed int r[2], maxv, minv;\r
-\r
-maxv = (1L << (16-1)) - 1;\r
-minv = (-1L << (16-1));\r
-\r
-\r
-*((int*)s1) = src1;\r
-*((int*)s2) = src2;\r
-\r
-r[0] =  (int) s1[0] + (int) s2[0];\r
-r[1] =  (int) s1[1] + (int) s2[1];\r
-\r
-if (r[0] > maxv) {\r
-       r[0] = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (r[0] < minv ) {\r
-       r[0] = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-if (r[1] > maxv) {\r
-       r[1] = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (r[1] < minv ) {\r
-       r[1] = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-\r
-return ((r[1] & 0xffff) << 16 ) | (r[0] & 0xffff) ;\r
-}\r
-\r
-\r
-static inline int _saddus2(unsigned int src1, int src2) {\r
-int res0, res1;\r
-  unsigned int s1_0 = (src1 & 0xffff);\r
-  unsigned int s1_1 = (src1 & 0xffff0000) >> 16;\r
-\r
-  short s2_0 = (src2 & 0xffff);\r
-  short s2_1 = (src2 & 0xffff0000) >> 16;\r
-\r
-  res0 = s1_0 + s2_0;\r
-  res1 = s1_1 + s2_1;\r
-\r
-  if (res0 >= 0x10000)\r
-    res0 = 0xffff;\r
-  else if (res0 < 0)\r
-    res0 = 0;\r
-  \r
-  if (res1 >= 0x10000)\r
-    res1 = 0xffff;\r
-  else if (res1 < 0)\r
-    res1 = 0;\r
-  \r
-  return (res1 << 16) | res0;\r
-}\r
-\r
-\r
-static inline unsigned int _saddu4(unsigned int src1, unsigned int src2) {\r
-unsigned int res0, res1, res2, res3;\r
-  unsigned int s1_0 = (src1 & 0xff);\r
-  unsigned int s1_1 = (src1 & 0xff00) >> 8;\r
-  unsigned int s1_2 = (src1 & 0xff0000) >> 16;\r
-  unsigned int s1_3 = (src1 & 0xff000000) >> 24;\r
-\r
-  unsigned int s2_0 = (src2 & 0xff);\r
-  unsigned int s2_1 = (src2 & 0xff00) >> 8;\r
-  unsigned int s2_2 = (src2 & 0xff0000) >> 16;\r
-  unsigned int s2_3 = (src2 & 0xff000000) >> 24;\r
-\r
-  res0 = s1_0 + s2_0;\r
-  res1 = s1_1 + s2_1;\r
-  res2 = s1_2 + s2_2;\r
-  res3 = s1_3 + s2_3;\r
-\r
-  if (res0 >= 0x100)\r
-    res0 = 0xff;\r
-  \r
-  if (res1 >= 0x100)\r
-    res1 = 0xff;\r
-  \r
-  if (res2 >= 0x100)\r
-    res2 = 0xff;\r
-  \r
-  if (res3 >= 0x100)\r
-    res3 = 0xff;\r
-\r
-  return (res3 << 24) | (res2 << 16) | (res1 << 8) | res0;\r
-\r
-}\r
-\r
-\r
-\r
-static inline int _sat(C6X_COMPAT_LONG40 src2)\r
-{\r
-  long long maxv = (1LL << (32-1)) - 1;\r
-  long long minv = (-1LL << (32-1));\r
-\r
-  int hi = (int)(src2 >> 32);\r
-  int lo = (int)src2;\r
-  long long temp = (unsigned long long)(unsigned)lo | (unsigned long long)hi << 32;\r
-  temp = orig_L40_set(temp);\r
-  \r
-  if (temp > maxv) {\r
-       temp = maxv;\r
-       _overflow = 1;\r
-       }\r
-  else if (temp < minv) {\r
-       temp = minv;\r
-       _overflow = 1;\r
-       }\r
-  return (int) temp;\r
-}\r
-\r
-static inline unsigned int _set(unsigned int src2, unsigned int csta, unsigned int cstb)\r
-{\r
-  csta &= 0x1f;\r
-  cstb &= 0x1f;\r
-  if (csta > cstb)\r
-    return src2;\r
-  else {\r
-    unsigned int mask =  (((1 <<  (cstb -  csta)) <<  1) -  1) <<  csta;\r
-    return src2 | mask;\r
-  }\r
-}\r
-\r
-static inline unsigned int _setr(unsigned int src2, int src1)\r
-{\r
-  unsigned int csta = (src1 >> 5) & 0x1f;\r
-  unsigned int cstb = src1 & 0x1f;\r
-  if (csta > cstb)\r
-    return src2;\r
-  else {\r
-    unsigned int mask =  (((1 <<  (cstb -  csta)) <<  1) -  1) <<  csta;\r
-    return src2 | mask;\r
-  }\r
-}\r
-\r
-\r
-static inline unsigned int _shfl (unsigned int src2)\r
-{\r
-  unsigned short lo = src2;\r
-  unsigned short hi = src2 >> 16;\r
-  unsigned int result = 0;\r
-  int i;\r
-  for (i = 0; i < 32; i+= 2) {\r
-    result >>= 1;\r
-    result |= (lo & 0x1) << 31;\r
-    lo >>= 1;\r
-    result >>= 1;\r
-    result |= (hi & 0x1) << 31;\r
-    hi >>= 1;\r
-  }\r
-  return result;\r
-}\r
-\r
-static inline long long _shfl3 (unsigned int src1, unsigned int src2)\r
-{\r
-  unsigned short lo = src2;\r
-  unsigned short hi = src1 >> 16;\r
-  unsigned short mid = src1;\r
-  unsigned long long result = 0;\r
-  int i;\r
-  for (i = 0; i < 32; i+= 2) {\r
-    result >>= 1;\r
-    result |= ((unsigned long long) (lo & 0x1)) << 47;\r
-    lo >>= 1;\r
-    result >>= 1;\r
-    result |= ((unsigned long long) (mid & 0x1)) << 47;\r
-    mid >>= 1;\r
-    result >>= 1;\r
-    result |= ((unsigned long long) (hi & 0x1)) << 47;\r
-    hi >>= 1;\r
-  }\r
-  return result;\r
-}\r
-\r
-\r
-\r
-static inline unsigned int _shlmb (unsigned int src1, unsigned int src2)\r
-{\r
-  return (src2 << 8) | (src1 >> 24);\r
-}\r
-\r
-static inline unsigned int _shrmb (unsigned int src1, unsigned int src2)\r
-{\r
-  return (src2 >> 8) | (src1 << 24);\r
-}\r
-\r
-\r
-static inline unsigned int _shru2 (unsigned int src1, unsigned int src2) {\r
-unsigned short hs1 = src1 >> 16;\r
-  unsigned short ls1 = src1 & 0xFFFF;\r
-  hs1 >>= src2;\r
-  ls1 >>= src2;\r
-  return (hs1 << 16) | ls1;\r
-}\r
-\r
-\r
-static inline int _shr2 (int src1, unsigned int src2) {\r
-  short s1[2], result[2];\r
-  *((int*)s1) = src1;\r
-  src2 = src2 & 31;\r
-  result[0] = (int)s1[0] >> src2;\r
-  result[1] = (int)s1[1] >> src2;\r
-\r
-  return *(int*)result;\r
-}\r
-\r
-\r
-static inline int _smpy (int src1, int src2) {\r
-unsigned long long result;\r
-result =  (((short) src1 * (short) src2) << 1);\r
-\r
-if ((result & 0xffffffff) == 0x80000000){\r
-    result = 0x7fffffff;\r
-    _overflow = 1;\r
-  }\r
-return (int) (result);\r
-}\r
-\r
-static inline int _smpyh (int src1, int src2) {\r
-unsigned long long result;\r
-result =  ((short) (src1 >> 16) * (short) (src2 >> 16)) << 1;\r
-if ((result & 0xffffffff) == 0x80000000){\r
-    result = 0x7fffffff;\r
-    _overflow = 1;\r
-  }\r
-return (int) (result);\r
-}\r
-\r
-static inline int _smpyhl (int src1, int src2) {\r
-unsigned long long result;\r
-result = ((short) (src1 >> 16) * (short) (src2)) << 1;\r
-if ((result & 0xffffffff) == 0x80000000){\r
-    result = 0x7fffffff;\r
-    _overflow = 1;\r
-  }\r
-return (int) (result);\r
-}\r
-\r
-static inline int _smpylh (int src1, int src2) {\r
-unsigned long long result;\r
-result = ((short) (src1) * (short) (src2 >> 16)) << 1;\r
-if ((result & 0xffffffff) == 0x80000000){\r
-    result = 0x7fffffff;\r
-    _overflow = 1;\r
-  }\r
-return (int) (result);\r
-}\r
-\r
-static inline long long _smpy2ll (int src1,  int src2) {\r
-  short ls1 = src1 & 0XFFFF;\r
-  short hs1 = src1 >> 16;\r
-  short ls2 = src2 & 0XFFFF;\r
-  short hs2 = src2 >> 16;\r
-\r
-  unsigned long long hi = (hs1 * hs2) << 1;\r
-  unsigned long long lo = ((ls1 * ls2) << 1) & 0xFFFFFFFF;\r
-  if ((hi & 0xffffffff) == 0x80000000){\r
-    hi = 0x7fffffff;\r
-    _overflow = 1;\r
-  }\r
-\r
-  if ((lo & 0xffffffff) == 0x80000000){\r
-    lo = 0x7fffffff;\r
-    _overflow = 1;\r
-  }\r
-\r
-  return (hi << 32) | lo;\r
-}\r
-\r
-\r
-\r
-\r
-static inline int _smpy32(int src1, int src2)\r
-{\r
-  long long res = (long long) src1 * src2;\r
-  res <<= 1;\r
-  res >>= 32;\r
-  return res;\r
-}\r
-\r
-static inline unsigned char TEN_satu8 (short src)\r
-{\r
-  if (src > 0xff)\r
-    return 0xff;\r
-  else if (src < 0)\r
-    return 0;\r
-  else\r
-    return src;\r
-}\r
-\r
-static inline int _spack2 (int src1, int src2) {\r
-short s1 = (short) util_saturate_n_no_state(src1,16);\r
-short s2 = (short) util_saturate_n_no_state(src2,16);\r
-return  ( (unsigned int) s1 << 16) | (((int) s2) & 0xFFFF);\r
-}\r
-\r
-\r
-static inline unsigned int _spacku4 (int src1, int src2) {\r
-  short lolo = src2;\r
-  short lohi = src2 >> 16;\r
-  short hilo = src1;\r
-  short hihi = src1 >> 16;\r
-\r
-  lolo = TEN_satu8(lolo);\r
-  lohi = TEN_satu8(lohi);\r
-  hilo = TEN_satu8(hilo);\r
-  hihi = TEN_satu8(hihi);\r
-\r
-  return (((unsigned int) hihi) <<  24) | (((unsigned int) hilo) << 16) | (lohi << 8) | lolo;\r
-}\r
-\r
-\r
-\r
-static inline int _sshl (int src1, unsigned int src2) {\r
-short local2 = (short)(src2 & 0x7FFF);\r
-return (int) util_shift_right_saturate_n(src1, -local2, 32);\r
-}\r
-\r
-\r
-\r
-\r
-static inline int _sshvl (int src2, int src1) {\r
-  short s1;\r
-  if (src1 > 31)\r
-    s1 = 31;\r
-  else if (src1 < -31)\r
-    s1 = -31;\r
-  else\r
-    s1 = src1;\r
-\r
-  return (int) util_shift_right_saturate_n(src2, -s1, 32);\r
-}\r
-\r
-\r
-\r
-\r
-\r
-static inline int _sshvr (int src2, int src1) {\r
-short s1;\r
-  if (src1 > 31)\r
-    s1 = 31;\r
-  else if (src1 < -31)\r
-    s1 = -31;\r
-  else\r
-    s1 = src1;\r
-  return (int) util_shift_right_saturate_n(src2, s1, 32);\r
-}\r
-\r
-\r
-\r
-\r
-static inline int _ssub(int src1, int src2) {\r
-signed long long res;\r
-signed long long maxv, minv;\r
-maxv = (1LL << (32-1)) - 1;\r
-minv = (-1LL << (32-1));\r
-res = (long long) src1 - (long long) src2;\r
-if (res > maxv) {\r
-       res = maxv;\r
-       _overflow = 1;\r
-       }\r
-else if (res < minv ) {\r
-       res = minv;\r
-       _overflow = 1;\r
-       }\r
-return (int) res;\r
-}\r
-\r
-static inline int _ssub2(int src1, int src2) {\r
-signed short s1[2], s2[2];\r
-signed int r[2], maxv, minv;\r
-\r
-maxv = (1L << (16-1)) - 1;\r
-minv = (-1L << (16-1));\r
-\r
-\r
-*((int*)s1) = src1;\r
-*((int*)s2) = src2;\r
-\r
-r[0] =  (int) s1[0] - (int) s2[0];\r
-r[1] =  (int) s1[1] - (int) s2[1];\r
-\r
-if (r[0] > maxv) {\r
-       r[0] = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (r[0] < minv ) {\r
-       r[0] = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-if (r[1] > maxv) {\r
-       r[1] = maxv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-else if (r[1] < minv ) {\r
-       r[1] = minv;\r
-        /* NOTE:   TI c6x does NOT set the overflow register even if results saturate */\r
-       /*  _overflow = 1; */\r
-       }\r
-\r
-return ((r[1] & 0xffff) << 16 ) | (r[0] & 0xffff) ;\r
-}\r
-\r
-\r
-static inline int _subabs4 (int src1, int src2) {\r
-  int res0, res1, res2, res3;\r
-  unsigned int s1_0 = (src1 & 0xff);\r
-  unsigned int s1_1 = (src1 & 0xff00) >> 8;\r
-  unsigned int s1_2 = (src1 & 0xff0000) >> 16;\r
-  unsigned int s1_3 = (src1 & 0xff000000) >> 24;\r
-\r
-  unsigned int s2_0 = (src2 & 0xff);\r
-  unsigned int s2_1 = (src2 & 0xff00) >> 8;\r
-  unsigned int s2_2 = (src2 & 0xff0000) >> 16;\r
-  unsigned int s2_3 = (src2 & 0xff000000) >> 24;\r
-\r
-  res0 = s1_0 - s2_0;\r
-  res1 = s1_1 - s2_1;\r
-  res2 = s1_2 - s2_2;\r
-  res3 = s1_3 - s2_3;\r
-\r
-  if (res0 < 0)\r
-    res0 = -res0;\r
-  \r
-  if (res1 < 0)\r
-    res1 = -res1;\r
-  \r
-  if (res2 < 0)\r
-    res2 = -res2;\r
-  \r
-  if (res3 < 0)\r
-    res3 = -res3;\r
-\r
-  return (res3 << 24) | (res2 << 16) | (res1 << 8) | res0;\r
-}\r
-\r
-\r
-static inline unsigned int _subc (unsigned int src1, unsigned int src2)\r
-{\r
-  if ( src1 >=  src2)\r
-    return ((src1 - src2) <<  1) +  1;\r
-  else\r
-    return src1 << 1;\r
-}\r
-\r
-\r
-\r
-static inline int _sub2(int src1, int src2) {\r
-       short s1[2], s2[2], r[2];\r
-       int result;\r
-       *((int*)s1) = src1;\r
-       *((int*)s2) = src2;\r
-       r[0] = s1[0] - s2[0];\r
-       r[1] = s1[1] - s2[1];\r
-       result = *(int*)r;\r
-       return result;\r
-}\r
-\r
-\r
-static inline int _sub4(int src1, int src2) {\r
-       char c1[4], c2[4], r[4];\r
-       int result;\r
-       *((int*)c1) = src1;\r
-       *((int*)c2) = src2;\r
-       r[0] = c1[0] - c2[0];\r
-       r[1] = c1[1] - c2[1];\r
-       r[2] = c1[2] - c2[2];\r
-       r[3] = c1[3] - c2[3];\r
-       result = *(int*)r;\r
-       return result;\r
-}\r
-\r
-\r
-static inline int _swap4 (unsigned int src1) {\r
-       unsigned char v0 = src1;\r
-       unsigned char v1 = src1 >> 8;\r
-       unsigned char v2 = src1 >> 16;\r
-       unsigned char v3 = src1 >> 24;\r
-       unsigned v = v0<<8 | v1 | v2<<24 | v3<<16;\r
-       return v;\r
-}\r
-\r
-static inline unsigned int _unpkhu4 (unsigned int src1) {\r
-       unsigned v0 = src1>>24;\r
-       unsigned v1 = (src1>>16) & 0xff;\r
-       return (v0<<16) | v1;\r
-}\r
-\r
-static inline unsigned int _unpklu4 (unsigned int src1) {\r
-       unsigned v1 = (src1>>8) & 0xff;\r
-       unsigned v0 = (src1) & 0xff;\r
-       return (v1<<16) | v0;\r
-}\r
-\r
-\r
-\r
-\r
-static inline unsigned int _xpnd2 (unsigned int src1) {\r
-      int v0 = (src1 & 0x1) ? 0x0000ffff : 0x00000000;\r
-      int v1 = (src1 & 0x2) ? 0xffff0000 : 0x00000000;\r
-      return v0|v1;\r
-}\r
-\r
-static inline unsigned int _xpnd4 (unsigned int src1) {\r
-      int v0 = (src1 & 0x1) ? 0x000000ff : 0x00000000;\r
-      int v1 = (src1 & 0x2) ? 0x0000ff00 : 0x00000000;\r
-      int v2 = (src1 & 0x4) ? 0x00ff0000 : 0x00000000;\r
-      int v3 = (src1 & 0x8) ? 0xff000000 : 0x00000000;\r
-      int r = v0|v1|v2|v3;\r
-      return r;\r
-}\r
-\r
-\r
-\r
-//     end of Implemented in alphabetical order\r
-\r
-\r
-#endif /* __C6X_COMPAT__H */\r
diff --git a/components/esp32/include/xtensa/debugfs.h b/components/esp32/include/xtensa/debugfs.h
deleted file mode 100644 (file)
index eba7b43..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/*  Xtensa Debug-FileSystem definitions  */
-
-/*
- * Copyright (c) 2005-2009 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#ifndef __DEBUGFS_H__
-#define __DEBUGFS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-
-int xt_dbfs_open(const char *pathname, int flags, mode_t mode);
-int xt_dbfs_ftruncate(int fd, off_t length);
-int xt_dbfs_truncate(const char * filename, off_t length);
-int xt_dbfs_creat(const char *pathname, mode_t mode);
-int xt_dbfs_errno(void);
-int xt_dbfs_lseek(int fd, off_t offset, int whence);
-ssize_t xt_dbfs_write(int fd, const void * buf, size_t bytes);
-  ssize_t xt_dbfs_open_append_close(const char * filename, int align,
-                                 const void * buf, size_t bytes);
-ssize_t xt_dbfs_read(int fd, void * buf, size_t bytes);
-int xt_dbfs_close(int fd);
-int xt_dbfs_unlink(const char *pathname);
-
-/* By default, this function is a wrapper around sbrk, and follows 
-   sbrk semantics:
-   
-   On success, it returns increment bytes of memory allocated from 
-   system memory.
-
-   On failure, it returns 0xFFFFFFFF
-
-   
-   If you want to use a method of allocating memory other than sbrk,
-   implement xt_dbfs_sbrk in your own sources, and the linker will 
-   automatically use that copy.
-*/
-void * xt_dbfs_sbrk(int increment);
-
-
-
-#ifdef REPLACE_FS_WITH_DBFS
-#define open xt_dbfs_open
-#define close xt_dbfs_close
-#define creat xt_dbfs_creat
-#define lseek xt_dbfs_lseek
-#define write xt_dbfs_write
-#define read xt_dbfs_read
-#define close xt_dbfs_close
-#define unlink xt_dbfs_unlink
-
-#define rmdir NOT_IMPLEMENTED_IN_DBFS
-#define opendir NOT_IMPLEMENTED_IN_DBFS
-#define closedir NOT_IMPLEMENTED_IN_DBFS
-#define dirfs NOT_IMPLEMENTED_IN_DBFS
-#define readdir NOT_IMPLEMENTED_IN_DBFS
-#define scandir NOT_IMPLEMENTED_IN_DBFS
-#define seekdir NOT_IMPLEMENTED_IN_DBFS
-#define telldir NOT_IMPLEMENTED_IN_DBFS
-
-#define fcntl NOT_IMPLEMENTED_IN_DBFS
-#define dup2 NOT_IMPLEMENTED_IN_DBFS
-#define dup NOT_IMPLEMENTED_IN_DBFS
-#define flock NOT_IMPLEMENTED_IN_DBFS
-#define lockf NOT_IMPLEMENTED_IN_DBFS
-#define link NOT_IMPLEMENTED_IN_DBFS
-#define stat NOT_IMPLEMENTED_IN_DBFS
-#define fstat NOT_IMPLEMENTED_IN_DBFS
-#define lstat NOT_IMPLEMENTED_IN_DBFS
-#define chmod NOT_IMPLEMENTED_IN_DBFS
-#define fchmod NOT_IMPLEMENTED_IN_DBFS
-#define chmown NOT_IMPLEMENTED_IN_DBFS
-#define lchown NOT_IMPLEMENTED_IN_DBFS
-#define fchown NOT_IMPLEMENTED_IN_DBFS
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/components/esp32/include/xtensa/feedback.h b/components/esp32/include/xtensa/feedback.h
deleted file mode 100644 (file)
index aecb745..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-
-/*
- * Copyright (c) 2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#ifndef __XT_FEEDBACK_INCLUDED__
-#define __XT_FEEDBACK_INCLUDED__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* xt_feedback_save_and_reset
-
-   Save and reset the accumulated feedback data.
-*/
-extern void xt_feedback_save_and_reset(void);
-
-/* xt_feedback_enable
-
-   Turn on feedback accumulation. Ordinarily, feedback accumulation is on
-   by default. If you turn it off using xt_feedback_disable, You can turn 
-   it on again via this function.
-*/
-extern void xt_feedback_enable (void);
-
-/* xt_feedback_disable
-
-   Turn off feedback accumulation. If you don't want to gather feedback for a
-   portion of your code, use this function and then xt_feedback_enable when
-   you want to start again.
-*/
-extern void xt_feedback_disable (void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XT_FEEDBACK_INCLUDED__ */
-
diff --git a/components/esp32/include/xtensa/gdbio.h b/components/esp32/include/xtensa/gdbio.h
deleted file mode 100644 (file)
index 784a862..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*  Xtensa Debug-FileSystem definitions
- *
- * Copyright (c) 2006-2009 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#ifndef __DEBUGFS_H__
-#define __DEBUGFS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <errno.h>
-
-  int _gdbio_open_r(void * ptr, const char *pathname, int flags, mode_t mode);
-  int _gdbio_creat_r(void * ptr, const char *pathname, mode_t mode);
-  int _gdbio_lseek_r(void * ptr, int fd, off_t offset, int whence);
-  ssize_t _gdbio_write_r(void * ptr, int fd, const void * buf, size_t bytes);
-  ssize_t _gdbio_read_r(void * ptr, int fd, void * buf, size_t bytes);
-  int _gdbio_close_r(void * ptr, int fd);
-  int _gdbio_unlink_r(void * ptr, const char * pathname);
-  
-  static inline
-  int gdbio_open(const char *pathname, int flags, mode_t mode) {
-    return _gdbio_open_r(&errno, pathname, flags, mode);
-  }
-  static inline int 
-  gdbio_creat(const char *pathname, mode_t mode) {
-    return _gdbio_open_r(&errno, pathname, O_CREAT|O_WRONLY|O_TRUNC, mode);
-  }
-  static inline int 
-  gdbio_errno(void) {
-    return errno;
-  }
-  static inline int 
-  gdbio_lseek(int fd, off_t offset, int whence) {
-    return _gdbio_lseek_r(&errno, fd, offset, whence);
-  }
-  static inline 
-  ssize_t gdbio_write(int fd, const void * buf, size_t bytes) {
-    return  _gdbio_write_r(&errno, fd, buf, bytes);
-  }
-  static inline
-  ssize_t gdbio_read(int fd, void * buf, size_t bytes) {
-    return  _gdbio_read_r(&errno, fd, buf, bytes);
-  }
-  static inline int 
-  gdbio_close(int fd) {
-    return _gdbio_close_r(&errno, fd);
-  }
-  static inline int 
-  gdbio_unlink(const char * pathname) {
-    return _gdbio_unlink_r(&errno, pathname);
-  }
-
-#ifdef REPLACE_FS_WITH_GDBIO
-#define open gdbio_open
-#define close gdbio_close
-#define creat gdbio_creat
-#define lseek gdbio_lseek
-#define write gdbio_write
-#define read gdbio_read
-#define close gdbio_close
-#define unlink gdbio_unlink
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/components/esp32/include/xtensa/jtag-xtensa.h b/components/esp32/include/xtensa/jtag-xtensa.h
deleted file mode 100644 (file)
index 45ac1ca..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright (c) 2011-2012 Tensilica Inc.  ALL RIGHTS RESERVED.
-// These coded instructions, statements, and computer programs are the
-// copyrighted works and confidential proprietary information of Tensilica Inc.
-// They may not be modified, copied, reproduced, distributed, or disclosed to
-// third parties in any manner, medium, or form, in whole or in part, without
-// the prior written consent of Tensilica Inc.
-*/
-
-#ifndef _JTAG_XTENSA_H_
-#define _JTAG_XTENSA_H_
-
-
-/* ---------------- JTAG registers ------------------ */
-
-/* -- ER and later JTAG registers */
-typedef enum {
-       regIR,
-       regBypass,
-       regNAR,
-       regNDR,
-       regIdcode,
-       regPWRCTL,
-       regPWRSTAT,
-       regJtagMAX, 
-} xtensaJtagReg;
-
-/* -- pre-ER JTAG registers */
-typedef enum {
-       regOldIR,
-       regOldBypass,
-       regOldDIRW,
-       regOldDIR,
-       regOldDDR,
-       regOldDOSR,
-       regOldESR,
-       regOldDCR,
-       regOldTraxNDR,
-       regOldTraxNAR,
-       regOldMAX
-} xtensaOldJtagReg;
-
-
-/* ---------------- JTAG Instructions ------------------ */
-
-/* -- pre-ER JTAG instructions */
-typedef enum {
-       ji_EnableOCD = 0x11,
-       ji_DebugInt,
-       ji_RetDebugInt,  // TBD: remove
-       ji_DisRetOCD,    // TBD: remove
-       ji_ExecuteDI,
-       ji_LoadDI,
-       ji_ScanDDR,
-       ji_ReadDOSR,
-       ji_ScanDCR,
-       ji_LoadWDI,
-       ji_TRAX   = 0x1c,
-       ji_BYPASS = 0x1f,
-} xtensaJtagInstruction;
-
-typedef enum {
-       OCDNormalMode,
-       OCDRunMode,
-       OCDHaltMode,
-       OCDStepMode
-} xtensaMode;
-
-typedef struct {
-       xtensaMode mode;
-       int DRsel;
-       XTMP_core core;
-       XTMP_tap tap;
-       int core_num;
-       jtagReg_t *jtagRegs;
-       void *dap;             // used for ARM DAP only
-       bool isBig;
-       int dir_array_option;  // used by pre-ER devices only 
-       // for testing, below - FIXME - delete later
-       int ocdReg;
-       unsigned int wr_data;
-       XTMP_event start_OCD_trans;
-       bool data_cycle;
-       bool data_pending;
-} coreSlaveData_t;
-
-
-enum OCD_ACCESS_TYPE{
-   NEXUS_ACCESS,
-   CS_ACCESS,
-};
-
-// pre-ER Xtensa initializiation
-EXTERN XTMP_deviceStatus
-XTMP_jtagCoreSlaveEX(XTMP_component component, XTMP_jtagSlave slave, void* mydata);
-
-extern char *OCDrd;
-extern char *OCDwr;
-
-#endif
diff --git a/components/esp32/include/xtensa/lcd-splc780d-4bitmode-board.h b/components/esp32/include/xtensa/lcd-splc780d-4bitmode-board.h
deleted file mode 100644 (file)
index f4db588..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
-Copyright (c) 2009-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
-These coded instructions, statements, and computer programs are the
-copyrighted works and confidential proprietary information of Tensilica Inc.
-They may not be modified, copied, reproduced, distributed, or disclosed to
-third parties in any manner, medium, or form, in whole or in part, without
-the prior written consent of Tensilica Inc.
---------------------------------------------------------------------------------
-
-lcd-splc780d-4bitmode-board.h    Board-specific LCD info for these boards:
-       Avnet AV110 (XT-AV110)
-       Xilinx ML605 (XT-ML605)
-       Xilinx KC705 (XT-KC705)
-
-Interface between board-independent driver and board-specific header.
-
-This is used by a board-independent SPLC780D LCD controller (4 bit mode)
-driver to obtain board-specific information about LCD displays on the board, 
-such as the controller register base address and spacing (a function of how 
-the address lines are connected on the board) and length of the visible window 
-of the display (a function of the LCD panel the controller drives). 
-The driver doesnot refer directly to the board-specific header, which therefore is not 
-constrained to use macro names consistent with other boards.
-
-!! Must not contain any board-specific macro names (only controller specific) !!
-
-Included at compile-time via an include path specific to the board.
-
-The listed boards contain a single MYTech MOC-16216B-B display driven by 
-a Sunplus SPLC870D controller.
-
-*******************************************************************************/
-
-#ifndef _LCD_SPLC780D_4BIT_BOARD_H
-#define _LCD_SPLC780D_4BIT_BOARD_H
-
-#include <xtensa/board.h>              /* Board info */
-
-
-/* Base address of the controller's registers. */
-#ifdef SPLC780D_4BIT_VADDR
-#define SPLC780D_4BIT_REGBASE SPLC780D_4BIT_VADDR
-#endif
-
-/* 
-The controller's registers are connected at word addresses on these boards.
-Each byte-wide register appears as the least-significant-byte (LSB) of the 
-word regardless of the endianness of the processor (so if using word accesses 
-then endianness doesn't matter).
-*/
-#define SPLC780D_4BIT_REGSPACING 4
-typedef unsigned splc780d_4bit_reg_t;
-
-/* Include generic information shared by all boards that use this device. */
-#include    <xtensa/lcd-splc780d-4bitmode.h>
-
-
-/* Display limits of the LCD panel. */
-#define DISPLAY_VISIBLE_LEN 16  /* length (chars) of visible window */
-
-#endif /* _LCD_SPLC780D_4BIT_BOARD_H */
-
diff --git a/components/esp32/include/xtensa/lcd-splc780d-4bitmode.h b/components/esp32/include/xtensa/lcd-splc780d-4bitmode.h
deleted file mode 100644 (file)
index 0a214bb..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2009-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
-These coded instructions, statements, and computer programs are the
-copyrighted works and confidential proprietary information of Tensilica Inc.
-They may not be modified, copied, reproduced, distributed, or disclosed to
-third parties in any manner, medium, or form, in whole or in part, without
-the prior written consent of Tensilica Inc.
---------------------------------------------------------------------------------
-
-lcd-SPLC780D-4bitmode.h  Generic definitions for Sunplus SPLC780D LCD Controller
-operating in 4 bit mode.
-
-This is used by board-support-packages with one or more LCD displays that use
-a SPLC780D controller in 4 bit mode. A BSP provides a base address for each 
-instance of an SPLC780D LCD controller on the board.
-
-Note that LCD display operation is almost totally independent of the LCD 
-display, depending almost entirely on the controller. However the display
-may limit the number of characters of the controller's RAM buffer that are
-actually visible at one time. The length of the display's visible window
-is not specifified in this controller-specific header, but comes to the 
-driver from the board-specific "display.h" header.
-
-*******************************************************************************/
-
-#ifndef _LCD_SPLC780D_4BIT_H_
-#define _LCD_SPLC780D_4BIT_H_
-
-
-/* Offsets to controller registers from base. */
-#define SPLC780D_4BIT_INST   0
-#define SPLC780D_4BIT_DATA   (SPLC780D_4BIT_INST + SPLC780D_4BIT_REGSPACING)
-
-
-#define SPLC780D_4BIT_INST_INIT1             0xFF /* First command in 
-                                                     init sequence */
-#define SPLC780D_4BIT_INST_INIT2             0x30 /* Second command in 
-                                                     init sequence, 
-                                                     issued 3 times */
-#define SPLC780D_4BIT_INST_INIT3             0x20 /* Third and last command 
-                                                     in init sequence */
-#define SPLC780D_4BIT_INST_CLEAR             0x01 /* clear (blank) display) */
-#define SPLC780D_4BIT_INST_SET_MODE          0x28 /* Set LCD mode. Supported
-                                                     setting is 4 bit data 
-                                                     length, 2 lines, 5*8 */
-#define SPLC780D_4BIT_INST_DSPLY_ON          0x0C /* Set Display ON */
-#define SPLC780D_4BIT_INST_CRSR_INC          0x06 /* Set cursor moving direction
-                                                     as increment */
-
-#define SPLC780D_4BIT_LINET_ADDR             0x80 /* clear (blank) display) */
-#define SPLC780D_4BIT_LINEB_ADDR             0xC0 /* clear (blank) display) */
-
-#ifndef __ASSEMBLER__
-
-/* C interface to controller registers. */
-struct splc780d_4bit_s {
-    splc780d_4bit_reg_t  inst;       /* instruction register */
-    splc780d_4bit_reg_t  data;       /* data register */
-};
-
-typedef volatile struct splc780d_4bit_s splc780d_4bit_t;
-
-/*
-Prototypes of high level driver functions.
-*/
-
-/* Write an instruction byte to LCD, result in two back to back writes since the
- * LCD is hooked up in 4 bit mode*/
-extern void lcd_write_inst_byte(splc780d_4bit_t *lcd, unsigned char inst);
-
-/* Write a data byte to LCD, result in two back to back writes since the
- * LCD is hooked up in 4 bit mode*/
-extern void lcd_write_data_byte(splc780d_4bit_t *lcd, unsigned char data);
-
-/*
-Initialize the display with default settings. 
-*/
-extern void splc780d_4bit_init_default(splc780d_4bit_t *lcd);
-
-/*
-Write a single character at a given position (chars from left, starting at 0).
-Wait long enough afterward for the controller to be ready for more input.
-Positions beyond the end of the display are ignored.
-*/
-extern void splc780d_4bit_write_char(splc780d_4bit_t *lcd, unsigned pos, const char c);
-
-/*
-Write a string to the display starting at the left (position 0). 
-Blank-pad to or truncate at the end of the display (overwrites any previous 
-string so don't need to blank the display first).
-Wait long enough after each char for the controller to be ready for more input.
-*/
-extern void splc780d_4bit_write_string(splc780d_4bit_t *lcd, const char *s);
-
-/*
-Blank (clear) the entire display.
-Wait long enough afterward for the controller to be ready for more input.
-*/
-extern void splc780d_4bit_blank(splc780d_4bit_t *lcd);
-
-#endif /* __ASSEMBLER__ */
-
-#endif /* _LCD_SPLC780D_4BIT_H_ */
-
diff --git a/components/esp32/include/xtensa/lcd-splc780d.h b/components/esp32/include/xtensa/lcd-splc780d.h
deleted file mode 100644 (file)
index 4e878e9..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2006-2007 by Tensilica Inc.  ALL RIGHTS RESERVED.
-These coded instructions, statements, and computer programs are the
-copyrighted works and confidential proprietary information of Tensilica Inc.
-They may not be modified, copied, reproduced, distributed, or disclosed to
-third parties in any manner, medium, or form, in whole or in part, without
-the prior written consent of Tensilica Inc.
---------------------------------------------------------------------------------
-
-lcd-SPLC780D.h  Generic definitions for Sunplus SPLC780D LCD Controller
-
-This is used by board-support-packages with one or more LCD displays that use
-a SPLC780D controller. A BSP provides a base address for each instance of an 
-SPLC780D LCD controller on the board.
-
-Note that LCD display operation is almost totally independent of the LCD 
-display, depending almost entirely on the controller. However the display
-may limit the number of characters of the controller's RAM buffer that are
-actually visible at one time. The length of the display's visible window
-is not specifified in this controller-specific header, but comes to the 
-driver from the board-specific "display.h" header.
-
-*******************************************************************************/
-
-#ifndef _LCD_SPLC780D_H_
-#define _LCD_SPLC780D_H_
-
-
-/* Offsets to controller registers from base. */
-#define SPLC780D_INST   0
-#define SPLC780D_DATA   (SPLC780D_INST + SPLC780D_REGSPACING)
-
-/*
-Bit fields and their values in the instruction register.
-These fields are NOT orthogonal - they overlap!
-Thus only one field may be written at a time, determined by the 
-most-significant 1 bit in the pattern (the field selector).
-All less significant bits are part of the value of the selected field.
-The fields and their values are grouped together to emphasize this format.
-Field selector macro names end in '_' (implying something more needs
-to be ORed) and the value macros are indented. The pattern written to a
-bitfield is a bitwise OR of a field selector and one or more values, eg.
-  (SPLC780D_INST_ON_ | SPLC780D_INST_ON_DISPLAY | SPLC780D_INST_ON_CURSOR)
-A single bit field (eg. SPCL780D_INST_HOME) need not have a value.
-
-NOTE: Controller requires a software delay after writing to the control
-or data registers. For the data register it is 38us. For the control
-register it is 38us for most bit fields, with the following exceptions:
-    SPLC780D_FUNC_                               100us.
-    SPLC780D_INST_CLEAR, SPLC780D_INST_HOME     1520us.
-For more details and reset timing, see the SUNPLUS SPLC780D data sheet.
-*/
-
-#define SPLC780D_INST_CLEAR_            0x1 /* clear (blank) display) */
-
-#define SPLC780D_INST_HOME_             0x2 /* home cursor and shift pos */
-
-#define SPLC780D_INST_ENTRY_            0x4 /* combine *ENTRY_* flags below */
-#define     SPLC780D_INST_ENTRY_SHIFT   0x1 /* display shift on entry / not */
-#define     SPLC780D_INST_ENTRY_INCR    0x2 /* cursor incr / decr */
-#define     SPLC780D_INST_ENTRY_DECR      0 /* cursor incr / decr */
-
-#define SPLC780D_INST_ON_               0x8     /* combine *ON_* flags below */
-#define     SPLC780D_INST_ON_DISPLAY    0x4 /* display on / off */
-#define     SPLC780D_INST_ON_CURSOR     0x2 /* cursor  on / off */
-#define     SPLC780D_INST_ON_BLINK      0x1 /* blink   on / off */
-
-#define SPLC780D_INST_SHIFT_           0x10 /* combine *SHIFT_* flags below */
-#define     SPLC780D_INST_SHIFT_DISP    0x8 /* shift display / move cursor */
-#define     SPLC780D_INST_SHIFT_CURS      0 /* shift display / move cursor */
-#define     SPLC780D_INST_SHIFT_RIGHT   0x4 /* shift right / left */
-#define     SPLC780D_INST_SHIFT_LEFT      0 /* shift right / left */
-
-#define SPLC780D_INST_FUNC_            0x20 /* combine *FUNC_* flags below */
-#define     SPLC780D_INST_FUNC_8BIT    0x10 /* data length 8 bit / 4 bit */
-#define     SPLC780D_INST_FUNC_4BIT       0 /* data length 8 bit / 4 bit */
-#define     SPLC780D_INST_FUNC_2LINE   0x08 /* display lines 2 / 1 */
-#define     SPLC780D_INST_FUNC_1LINE      0 /* display lines 2 / 1 */
-#define     SPLC780D_INST_FUNC_F5x10   0x04 /* character font 5x10 / 5x8 */
-#define     SPLC780D_INST_FUNC_F5x8       0 /* character font 5x10 / 5x8 */
-                                            /* font must be 5x8 for 2 lines */
-#define SPLC780D_INST_CGEN_            0x40 /* set char generator address */
-#define     SPLC780D_INST_CGEN_ADDR    0x3F /*   to address in this field */
-#define SPLC780D_INST_DRAM_            0x80 /* set display data RAM address */
-#define     SPLC780D_INST_DRAM_ADDR    0x7F /*   to address in this field */
-#define     SPLC780D_INST_DRAM_LINE2   0x40 /* address offset to line 2 */
-/* Controller limits */
-#define SPLC780D_RAMLEN_1LINE          0x50 /* length of line in RAM (1 line) */
-#define SPLC780D_RAMLEN_2LINE          0x28 /* length of line in RAM (2 line) */
-
-
-#ifndef __ASSEMBLER__
-
-/* C interface to controller registers. */
-struct splc780d_s {
-    splc780d_reg_t  inst;       /* instruction register */
-    splc780d_reg_t  data;       /* data register */
-};
-
-typedef volatile struct splc780d_s splc780d_t;
-
-/*
-Prototypes of high level driver functions.
-*/
-
-/*
-Initialize the display with the FUNC_, ENTRY_ and ON_ fields as specified in 
-terms of the values above. The splc780d_init_default() macro is an example.
-*/
-extern void splc780d_init(splc780d_t *lcd,
-                          unsigned func, unsigned entry, unsigned on);
-
-/*
-Initialize the display to default mode: 8-bit interface, 2 line, 5x8 font, 
-increment cursor on entry, display on (cursor and blinking off).
-*/
-#define splc780d_init_default(lcd) \
-    splc780d_init( lcd, \
-            SPLC780D_INST_FUNC_8BIT \
-            | SPLC780D_INST_FUNC_2LINE \
-            | SPLC780D_INST_FUNC_F5x8, \
-            SPLC780D_INST_ENTRY_INCR, \
-            SPLC780D_INST_ON_DISPLAY \
-            )
-
-/*
-Write a single character at a given position (chars from left, starting at 0).
-Wait long enough afterward for the controller to be ready for more input.
-Positions beyond the end of the display are ignored.
-*/
-extern void splc780d_write_char(splc780d_t *lcd, unsigned pos, const char c);
-
-/*
-Write a string to the display starting at the left (position 0). 
-Blank-pad to or truncate at the end of the display (overwrites any previous 
-string so don't need to blank the display first).
-Wait long enough after each char for the controller to be ready for more input.
-*/
-extern void splc780d_write_string(splc780d_t *lcd, const char *s);
-
-/*
-Blank (clear) the entire display.
-Wait long enough afterward for the controller to be ready for more input.
-*/
-extern void splc780d_blank(splc780d_t *lcd);
-
-#endif /* __ASSEMBLER__ */
-
-#endif /* _LCD_SPLC780D_H_ */
-
diff --git a/components/esp32/include/xtensa/overlay.h b/components/esp32/include/xtensa/overlay.h
deleted file mode 100644 (file)
index e959cf5..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-// overlay.h -- Overlay manager header file
-// $Id$
-
-// Copyright (c) 2013 Tensilica Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-#ifndef OVERLAY_H
-#define OVERLAY_H
-
-
-#include <xtensa/xtruntime.h>
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Define this to turn off overlay support
-#ifdef XT_DISABLE_OVERLAYS
-
-#define OVERLAY(n)
-#define DECLARE_OVERLAY(n)
-
-#define xt_overlay_map(ov_id)
-#define xt_overlay_map_async(ov_id)                 0
-#define xt_overlay_map_in_progress()                0
-#define xt_overlay_get_id()                         0
-#define xt_overlay_get_state(pc)                    0
-#define xt_overlay_check_map(pc,ps,ovstate,sp)      0
-
-#else
-
-// Shorthand for convenience and portability.
-#define OVERLAY(n)  __attribute__((overlay(n)))
-
-// Structure of the overlay table required by gdb and the overlay
-// manager. Should not be accessed by user code unless overriding
-// the load process.
-struct ovly_table {
-    void *        vma;    // The overlay's mapped address.
-    unsigned int  size;   // The size of the overlay, in bytes.
-    void *        lma;    // The overlay's load address.
-    unsigned int  mapped; // Non-zero if overlay is currently mapped; zero otherwise.
-};
-
-// Constructed by the linker. Required for gdb and for the overlay
-// manager. Should not be accessed by user code unless overriding
-// the load process.
-extern struct ovly_table _ovly_table[];
-
-// Functions.
-void xt_overlay_map(int ov_id);
-int  xt_overlay_map_async(int ov_id);
-int  xt_overlay_map_in_progress(void);
-unsigned int xt_overlay_get_state(unsigned int pc);
-unsigned int xt_overlay_check_map(unsigned int * pc, unsigned int * ps,
-                                  unsigned int ovstate, unsigned int sp);
-int  xt_overlay_start_map(void * dst, void * src, unsigned int len, int ov_id);
-int  xt_overlay_is_mapping(int ov_id);
-void xt_overlay_fatal_error(int ov_id);
-
-
-// Returns the current overlay ID. If no overlay is mapped or an overlay
-// is in the middle of being mapped, returns -1. Inlined to avoid calling
-// out of overlay (wastes cycles, can end up reading wrong ID on interrupt
-// activity).
-//
-static inline int xt_overlay_get_id(void)
-{
-#pragma always_inline
-extern short _mapping_id;
-extern short _ovly_id;
-
-    int ret;
-    unsigned int flags = XTOS_SET_INTLEVEL(15);
-
-    if (_mapping_id >= 0) {
-        ret = -1;
-    }
-    else {
-        ret = _ovly_id;
-    }
-
-    XTOS_RESTORE_INTLEVEL(flags);
-    return ret;
-}
-
-
-// The following macros are used to declare numbered overlays and generate
-// the corresponding call stubs. Use as follows:
-//
-//    DECLARE_OVERLAY(n)
-//
-// See documentation for more details.
-
-//#include <xtensa/config/core-isa.h>
-
-// At this time overlays are not supported without windowing.
-#if defined(__XTENSA_WINDOWED_ABI__)
-
-#define xstr(x)   str(x)
-#define str(x)    #x
-
-// At entry, register a8 holds the return address and a9 holds the target
-// function address. This stub saves a8 on the stack at (SP - 20) which
-// is the only location that is safe for us to use. Then it allocates 32
-// bytes on the stack for working storage, loads the overlay number into
-// a8, and jumps to the common handler. The common handler will make sure
-// that the called function is loaded into memory before calling it.
-// NOTE: we are using the stack area normally reserved for nested functions.
-// This means nested functions cannot be used when overlays are in use.
-
-#define CALL_IN(num) \
-    asm(".section .gnu.linkonce.t.overlay.call." xstr(num) ".text, \"ax\"\n" \
-        ".global  _overlay_call_in_" xstr(num)  "_\n" \
-        ".align   4\n" \
-        "_overlay_call_in_" xstr(num) "_:\n" \
-        "s32e    a8, a1, -20\n" \
-        "addi    a8, a1, -32\n" \
-        "movsp   a1, a8\n" \
-        "movi    a8, " xstr(num) "\n" \
-        "j       _overlay_call_in_common\n" \
-        ".size   _overlay_call_in_" xstr(num) "_, . - _overlay_call_in_" xstr(num) "_\n");
-
-// The call-out stub first calls the target function, then loads the overlay
-// number into register a14 and jumps to the common handler. The handler will
-// make sure that the caller function is present in memory before returning.
-// Note that registers a10-a13 may contain return values so must be preserved.
-//
-// Because we came here via a call4, the return address is in a4, and the top
-// 2 bits are set to the window increment. We'll restore the top 2 bits of
-// the return address from the called function's address, assuming that both
-// are in the same 1 GB segment. For now this is always true.
-
-#define CALL_OUT(num) \
-    asm(".section .gnu.linkonce.t.overlay.call." xstr(num) ".text, \"ax\"\n" \
-        ".global  _overlay_call_out_" xstr(num) "_\n" \
-        ".align   4\n" \
-        "_overlay_call_out_" xstr(num) "_:\n" \
-        "slli    a4, a4, 2\n" \
-        "srli    a4, a4, 2\n" \
-        "extui   a8, a9, 30, 2\n" \
-        "slli    a8, a8, 30\n" \
-        "or      a4, a4, a8\n" \
-        "callx8  a9\n" \
-        "movi    a14, " xstr(num) "\n" \
-        "j       _overlay_call_out_common\n" \
-        ".size   _overlay_call_out_" xstr(num) "_, . - _overlay_call_out_" xstr(num) "_\n");
-
-// Generate a call-in and a call-out stub for each overlay.
-
-#define DECLARE_OVERLAY(num) \
-    CALL_IN(num) \
-    CALL_OUT(num)
-
-#endif // defined(__XTENSA_WINDOWED_ABI__)
-
-#endif // XT_DISABLE_OVERLAYS
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // OVERLAY_H
-
diff --git a/components/esp32/include/xtensa/overlay_os_asm.h b/components/esp32/include/xtensa/overlay_os_asm.h
deleted file mode 100644 (file)
index 4adc044..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-// overlay_os_asm.h -- Overlay manager assembly macros for OS use.
-// $Id$
-
-// Copyright (c) 2013 Tensilica Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-#ifndef OVERLAY_OS_ASM_H
-#define OVERLAY_OS_ASM_H
-
-// The macros in here are intended to be used by RTOS task switch code
-// to check overlay status. Such code is usually in assembly and cannot
-// call C code without penalty. For C code usage, it is best to use the
-// corresponding C functions from the library.
-
-
-// Inline assembly version of xt_overlay_get_state(). The arguments are
-// three AR registers (a0-a15):
-//
-// "pcreg" - should contain the outgoing task's PC, i.e. the point at
-//           which the task got interrupted. The return value is also
-//           returned in this register.
-// "sr1/2" - Scratch registers. These must be distinct from "pcreg".
-//
-// The return value is a 32-bit result that should be saved with the
-// task context and passed as-is to xt_overlay_check_map.
-
-        .macro _xt_overlay_get_state    pcreg  sr1  sr2
-
-        movi    \sr1, _mapping_id
-        movi    \sr2, _ovly_id
-        l16si   \sr1, \sr1, 0
-        l16ui   \sr2, \sr2, 0
-        slli    \sr1, \sr1, 16
-        or      \pcreg, \sr1, \sr2
-
-        .endm
-
-
-// Inline assembly version of xt_overlay_check_map(). It requires 5 AR
-// registers (a0-a15) as arguments.
-//
-// "pcreg" - should contain the interrupted task's PC, i.e. the point
-//           at which the task got interrupted. This will be adjusted
-//           if required.
-// "psreg" - should contain the interrupted task's PS. This will be
-//           adjusted if required.
-// "ovreg" - should contain the overlay state on entry. Contents may
-//           be clobbered.
-// "spreg" - should contain the tasks stack pointer on entry.
-// "sr1"   - Scratch register. Must be distinct from any of the above.
-//
-// The return values are "pcreg" and "psreg" and these must be used
-// to update the task's PC and PS.
-// Note that this macro may store data below the "spreg" pointer. If
-// it does, then it will also disable interrupts via the PS, so that
-// the task resumes with all interrupts disabled (to avoid corrupting
-// this data).
-//
-// (SP - 24)    Overlay ID to restore
-// (SP - 28)    Task PC
-// (SP - 32)    Task PS
-
-        .macro _xt_overlay_check_map    pcreg  psreg ovreg  spreg  sr1
-
-// There are four cases to deal with:
-//
-// _ovly_id = -1, _mapping_id = -1
-// No overlay is mapped or mapping, nothing to do.
-//
-// _ovly_id >= 0, _mapping_id = -1
-// An overlay was mapped, check PC to see if we need a restore.
-//
-// _ovly_id = -1, _mapping_id >= 0
-// An overlay is being mapped. Either it belongs to this task, which
-// implies that the PC is in the mapping function, or it does not 
-// belong to this task. Either way there is nothing to do.
-//
-// _ovly_id >= 0, _mapping_id >= 0
-// Illegal, cannot happen by design. Don't need to handle this.
-//
-// So, the logic is to check _ovly_id first. If this is >= 0, then
-// we check the task PC. If the PC is in the regions of interest then
-// we'll patch the return PC to invoke xt_overlay_restore.
-
-.L1:
-        extui   \sr1, \ovreg, 0, 16             // Extract _ovly_id
-        bbsi.l  \sr1, 15, .Lno                  // If -1 then we're done
-        mov     \ovreg, \sr1                    // Restore this one
-
-// Next check the PC to see if it falls within the ranges of interest.
-
-.L2:
-        movi    \sr1, _overlay_vma              // Is PC < VMA range ?
-        bltu    \pcreg, \sr1, .L3
-        movi    \sr1, _overlay_vma_end          // Is PC > VMA range ?
-        bgeu    \pcreg, \sr1, .L3
-        j       .L4                             // PC is in VMA range
-.L3:
-        movi    \sr1, _overlay_call_stubs_start // Is PC < call stubs range ?
-        bltu    \pcreg, \sr1, .Lno
-        movi    \sr1, _overlay_call_stubs_end   // Is PC > call stubs range ?
-        bgeu    \pcreg, \sr1, .Lno
-
-// If we get here then a restore is needed. Save the overlay ID, PC and PS.
-// Return modified PC and PS so that xt_overlay_restore() will execute in
-// the context of the task when resumed. Note that the OS resumption code
-// may expect PS.EXCM to be set so we leave it as is in the return value.
-
-.L4:
-        s32e    \ovreg, \spreg, -24             // Save overlay ID
-        s32e    \pcreg, \spreg, -28             // Save task PC
-        s32e    \psreg, \spreg, -32             // Save task PS
-        movi    \pcreg, xt_overlay_restore      // Adjust resumption PC
-        movi    \sr1, 15
-        or      \psreg, \psreg, \sr1            // Set intlevel to highest
-.Lno:
-
-        .endm
-
-#endif // OVERLAY_OS_ASM_H
-
diff --git a/components/esp32/include/xtensa/sim.h b/components/esp32/include/xtensa/sim.h
deleted file mode 100644 (file)
index e02087c..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (c) 2004-2006 by Tensilica Inc.  ALL RIGHTS RESERVED.
-/  These coded instructions, statements, and computer programs are the
-/  copyrighted works and confidential proprietary information of Tensilica Inc.
-/  They may not be modified, copied, reproduced, distributed, or disclosed to
-/  third parties in any manner, medium, or form, in whole or in part, without
-/  the prior written consent of Tensilica Inc.
-*/
-
-/*  sim.h 
- *
- *  Definitions and prototypes for specific ISS SIMCALLs
- *  (ie. outside the standard C library).
- */
-
-#ifndef _INC_SIM_H_
-#define _INC_SIM_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Shortcuts for enabling/disabling profiling in the Xtensa ISS  */
-extern void xt_iss_profile_enable(void);
-extern void xt_iss_profile_disable(void);
-
-/* Shortcut for setting the trace level in the Xtensa ISS */
-extern void xt_iss_trace_level(unsigned level);
-
-/* Generic interface for passing client commands in the Xtensa ISS:
- *   returns 0 on success, -1 on failure.
- */
-extern int xt_iss_client_command(const char *client, const char *command);
-
-/* Interface for switching simulation modes in the Xtensa ISS:
- *   returns 0 on success, -1 on failure.
- */
-#define XT_ISS_CYCLE_ACCURATE 0
-#define XT_ISS_FUNCTIONAL     1
-extern int xt_iss_switch_mode(int mode);
-
-
-/* Interface for waiting on a system synchronization event */
-extern void xt_iss_event_wait(unsigned event_id);
-
-/* Interface for firing a system synchronization event */
-extern void xt_iss_event_fire(unsigned event_id);
-
-/* Interface for invoking a user simcall action,
- * which can be registered in XTMP or XTSC.
- */
-extern int xt_iss_simcall(int arg1, int arg2, int arg3,
-                          int arg4, int arg5, int arg6);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /*_INC_SIM_H_*/
-
diff --git a/components/esp32/include/xtensa/simboard.h b/components/esp32/include/xtensa/simboard.h
deleted file mode 100644 (file)
index 980b0b7..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2001 Tensilica Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-/*  simboard.h  -  Xtensa ISS "Board" specific definitions  */
-
-#ifndef _INC_SIMBOARD_H_
-#define _INC_SIMBOARD_H_
-
-#include <xtensa/config/core.h>
-#include <xtensa/config/system.h>
-
-
-/*
- *  Device addresses.
- */
-
-/*  System ROM:  */
-#define XTBOARD_ROM_SIZE               XSHAL_ROM_SIZE
-#ifdef XSHAL_ROM_VADDR
-#define XTBOARD_ROM_VADDR      XSHAL_ROM_VADDR
-#endif
-#ifdef XSHAL_ROM_PADDR
-#define XTBOARD_ROM_PADDR      XSHAL_ROM_PADDR
-#endif
-
-/*  System RAM:  */
-#define XTBOARD_RAM_SIZE               XSHAL_RAM_SIZE
-#ifdef XSHAL_RAM_VADDR
-#define XTBOARD_RAM_VADDR      XSHAL_RAM_VADDR
-#endif
-#ifdef XSHAL_RAM_PADDR
-#define XTBOARD_RAM_PADDR      XSHAL_RAM_PADDR
-#endif
-
-
-/*
- *  Things that depend on device addresses.
- */
-
-#define XTBOARD_CACHEATTR_WRITEBACK    XSHAL_ISS_CACHEATTR_WRITEBACK
-#define XTBOARD_CACHEATTR_WRITEALLOC   XSHAL_ISS_CACHEATTR_WRITEALLOC
-#define XTBOARD_CACHEATTR_WRITETHRU    XSHAL_ISS_CACHEATTR_WRITETHRU
-#define XTBOARD_CACHEATTR_BYPASS       XSHAL_ISS_CACHEATTR_BYPASS
-#define XTBOARD_CACHEATTR_DEFAULT      XSHAL_ISS_CACHEATTR_DEFAULT
-
-#define XTBOARD_BUSINT_PIPE_REGIONS    0
-#define XTBOARD_BUSINT_SDRAM_REGIONS   0
-
-
-#endif /*_INC_SIMBOARD_H_*/
-
diff --git a/components/esp32/include/xtensa/simcall-errno.h b/components/esp32/include/xtensa/simcall-errno.h
deleted file mode 100644 (file)
index 445ec90..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-/* Error numbers for Xtensa ISS semihosting.  */
-
-/* Copyright (c) 2003 by Tensilica Inc.  ALL RIGHTS RESERVED.
-   These coded instructions, statements, and computer programs are the
-   copyrighted works and confidential proprietary information of Tensilica Inc.
-   They may not be modified, copied, reproduced, distributed, or disclosed to
-   third parties in any manner, medium, or form, in whole or in part, without
-   the prior written consent of Tensilica Inc.  */
-
-#ifndef _SIMCALL_ERRNO_H
-#define _SIMCALL_ERRNO_H
-
-/* Define the error numbers (using the default newlib values) with prefixes
-   so they can be used in ISS without conflicting with the host values.  */
-
-#define        _SIMC_EPERM     1
-#define        _SIMC_ENOENT    2
-#define        _SIMC_ESRCH     3
-#define        _SIMC_EINTR     4
-#define        _SIMC_EIO       5
-#define        _SIMC_ENXIO     6
-#define        _SIMC_E2BIG     7
-#define        _SIMC_ENOEXEC   8
-#define        _SIMC_EBADF     9
-#define        _SIMC_ECHILD    10
-#define        _SIMC_EAGAIN    11
-#define        _SIMC_ENOMEM    12
-#define        _SIMC_EACCES    13
-#define        _SIMC_EFAULT    14
-#define        _SIMC_ENOTBLK   15
-#define        _SIMC_EBUSY     16
-#define        _SIMC_EEXIST    17
-#define        _SIMC_EXDEV     18
-#define        _SIMC_ENODEV    19
-#define        _SIMC_ENOTDIR   20
-#define        _SIMC_EISDIR    21
-#define        _SIMC_EINVAL    22
-#define        _SIMC_ENFILE    23
-#define        _SIMC_EMFILE    24
-#define        _SIMC_ENOTTY    25
-#define        _SIMC_ETXTBSY   26
-#define        _SIMC_EFBIG     27
-#define        _SIMC_ENOSPC    28
-#define        _SIMC_ESPIPE    29
-#define        _SIMC_EROFS     30
-#define        _SIMC_EMLINK    31
-#define        _SIMC_EPIPE     32
-#define        _SIMC_EDOM      33
-#define        _SIMC_ERANGE    34
-#define        _SIMC_ENOMSG    35
-#define        _SIMC_EIDRM     36
-#define        _SIMC_ECHRNG    37
-#define        _SIMC_EL2NSYNC  38
-#define        _SIMC_EL3HLT    39
-#define        _SIMC_EL3RST    40
-#define        _SIMC_ELNRNG    41
-#define        _SIMC_EUNATCH   42
-#define        _SIMC_ENOCSI    43
-#define        _SIMC_EL2HLT    44
-#define        _SIMC_EDEADLK   45
-#define        _SIMC_ENOLCK    46
-#define _SIMC_EBADE    50
-#define _SIMC_EBADR    51
-#define _SIMC_EXFULL   52
-#define _SIMC_ENOANO   53
-#define _SIMC_EBADRQC  54
-#define _SIMC_EBADSLT  55
-#define _SIMC_EDEADLOCK        56
-#define _SIMC_EBFONT   57
-#define _SIMC_ENOSTR   60
-#define _SIMC_ENODATA  61
-#define _SIMC_ETIME    62
-#define _SIMC_ENOSR    63
-#define _SIMC_ENONET   64
-#define _SIMC_ENOPKG   65
-#define _SIMC_EREMOTE  66
-#define _SIMC_ENOLINK  67
-#define _SIMC_EADV     68
-#define _SIMC_ESRMNT   69
-#define        _SIMC_ECOMM     70
-#define _SIMC_EPROTO   71
-#define        _SIMC_EMULTIHOP 74
-#define        _SIMC_ELBIN     75
-#define        _SIMC_EDOTDOT   76
-#define _SIMC_EBADMSG  77
-#define _SIMC_EFTYPE   79
-#define _SIMC_ENOTUNIQ 80
-#define _SIMC_EBADFD   81
-#define _SIMC_EREMCHG  82
-#define _SIMC_ELIBACC  83
-#define _SIMC_ELIBBAD  84
-#define _SIMC_ELIBSCN  85
-#define _SIMC_ELIBMAX  86
-#define _SIMC_ELIBEXEC 87
-#define _SIMC_ENOSYS   88
-#define        _SIMC_ENMFILE   89
-#define _SIMC_ENOTEMPTY 90
-#define _SIMC_ENAMETOOLONG 91
-#define _SIMC_ELOOP 92
-#define _SIMC_EOPNOTSUPP 95
-#define _SIMC_EPFNOSUPPORT 96
-#define _SIMC_ECONNRESET 104
-#define _SIMC_ENOBUFS 105
-#define _SIMC_EAFNOSUPPORT 106
-#define _SIMC_EPROTOTYPE 107
-#define _SIMC_ENOTSOCK 108
-#define _SIMC_ENOPROTOOPT 109
-#define _SIMC_ESHUTDOWN 110
-#define _SIMC_ECONNREFUSED 111
-#define _SIMC_EADDRINUSE 112
-#define _SIMC_ECONNABORTED 113
-#define _SIMC_ENETUNREACH 114
-#define _SIMC_ENETDOWN 115
-#define _SIMC_ETIMEDOUT 116
-#define _SIMC_EHOSTDOWN 117
-#define _SIMC_EHOSTUNREACH 118
-#define _SIMC_EINPROGRESS 119
-#define _SIMC_EALREADY 120
-#define _SIMC_EDESTADDRREQ 121
-#define _SIMC_EMSGSIZE 122
-#define _SIMC_EPROTONOSUPPORT 123
-#define _SIMC_ESOCKTNOSUPPORT 124
-#define _SIMC_EADDRNOTAVAIL 125
-#define _SIMC_ENETRESET 126
-#define _SIMC_EISCONN 127
-#define _SIMC_ENOTCONN 128
-#define _SIMC_ETOOMANYREFS 129
-#define        _SIMC_EPROCLIM 130
-#define _SIMC_EUSERS 131
-#define _SIMC_EDQUOT 132
-#define _SIMC_ESTALE 133
-#define _SIMC_ENOTSUP 134
-#define _SIMC_ENOMEDIUM 135
-#define        _SIMC_ENOSHARE 136
-#define        _SIMC_ECASECLASH 137
-#define _SIMC_EILSEQ 138
-#define _SIMC_EOVERFLOW 139
-
-#endif /* ! _SIMCALL_ERRNO_H */
diff --git a/components/esp32/include/xtensa/simcall-fcntl.h b/components/esp32/include/xtensa/simcall-fcntl.h
deleted file mode 100644 (file)
index 1c03f55..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/* File control operations for Xtensa ISS semihosting.  */
-
-/* Copyright (c) 2003 by Tensilica Inc.  ALL RIGHTS RESERVED.
-   These coded instructions, statements, and computer programs are the
-   copyrighted works and confidential proprietary information of Tensilica Inc.
-   They may not be modified, copied, reproduced, distributed, or disclosed to
-   third parties in any manner, medium, or form, in whole or in part, without
-   the prior written consent of Tensilica Inc.  */
-
-#ifndef _SIMCALL_FCNTL_H
-#define _SIMCALL_FCNTL_H
-
-#define        _SIMC_O_APPEND          0x0008
-#define        _SIMC_O_NONBLOCK        0x0080
-#define        _SIMC_O_CREAT           0x0100
-#define        _SIMC_O_TRUNC           0x0200
-#define        _SIMC_O_EXCL            0x0400
-#define _SIMC_O_TEXT           0x4000
-#define _SIMC_O_BINARY         0x8000
-
-#endif /* ! _SIMCALL_FCNTL_H */
diff --git a/components/esp32/include/xtensa/simcall.h b/components/esp32/include/xtensa/simcall.h
deleted file mode 100644 (file)
index d71959e..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- *  simcall.h  -  Simulator call numbers
- *
- *  Software that runs on a simulated Xtensa processor using
- *  the instruction set simulator (ISS) can invoke simulator
- *  services using the SIMCALL instruction.  The a2 register
- *  is set prior to executing SIMCALL to a "simcall number",
- *  indicating which service to invoke.  This file defines the
- *  simcall numbers defined and/or supported by the Xtensa ISS.
- *
- *  IMPORTANT NOTE:  These numbers are highly subject to change!
- *
- *  Copyright (c) 2002-2007 by Tensilica Inc.  ALL RIGHTS RESERVED.
- *  These coded instructions, statements, and computer programs are the
- *  copyrighted works and confidential proprietary information of Tensilica Inc.
- *  They may not be modified, copied, reproduced, distributed, or disclosed to
- *  third parties in any manner, medium, or form, in whole or in part, without
- *  the prior written consent of Tensilica Inc.
- */
-
-#ifndef SIMCALL_INCLUDED
-#define SIMCALL_INCLUDED
-
-/*
- *  System call like services offered by the simulator host.
- *  These are modeled after the Linux 2.4 kernel system calls
- *  for Xtensa processors.  However not all system calls and
- *  not all functionality of a given system call are implemented,
- *  or necessarily have well defined or equivalent semantics in
- *  the context of a simulation (as opposed to a Unix kernel).
- *
- *  These services behave largely as if they had been invoked
- *  as a task in the simulator host's operating system
- *  (eg. files accessed are those of the simulator host).
- *  However, these SIMCALLs model a virtual operating system
- *  so that various definitions, bit assignments etc
- *  (eg. open mode bits, errno values, etc) are independent
- *  of the host operating system used to run the simulation.
- *  Rather these definitions are specific to the Xtensa ISS.
- *  This way Xtensa ISA code written to use these SIMCALLs
- *  can (in principle) be simulated on any host.
- *
- *  Up to 6 parameters are passed in registers a3 to a8
- *  (note the 6th parameter isn't passed on the stack,
- *   unlike windowed function calling conventions).
- *  The return value is in a2.  A negative value in the
- *  range -4096 to -1 indicates a negated error code to be
- *  reported in errno with a return value of -1, otherwise
- *  the value in a2 is returned as is.
- */
-
-/* These #defines need to match what's in Xtensa/OS/vxworks/xtiss/simcalls.c */
-
-#define SYS_nop                0       /* n/a - setup; used to flush register windows */
-#define SYS_exit       1       /*x*/
-#define SYS_fork       2
-#define SYS_read       3       /*x*/
-#define SYS_write      4       /*x*/
-#define SYS_open       5       /*x*/
-#define SYS_close      6       /*x*/
-#define SYS_rename     7       /*x 38 - waitpid */
-#define SYS_creat      8       /*x*/
-#define SYS_link       9       /*x (not implemented on WIN32) */
-#define SYS_unlink     10      /*x*/
-#define SYS_execv      11      /* n/a - execve */
-#define SYS_execve     12      /* 11 - chdir */
-#define SYS_pipe       13      /* 42 - time */
-#define SYS_stat       14      /* 106 - mknod */
-#define SYS_chmod      15
-#define SYS_chown      16      /* 202 - lchown */
-#define SYS_utime      17      /* 30 - break */
-#define SYS_wait       18      /* n/a - oldstat */
-#define SYS_lseek      19      /*x*/
-#define SYS_getpid     20
-#define SYS_isatty     21      /* n/a - mount */
-#define SYS_fstat      22      /* 108 - oldumount */
-#define SYS_time       23      /* 13 - setuid */
-#define SYS_gettimeofday 24    /*x 78 - getuid (not implemented on WIN32) */
-#define SYS_times      25      /*X 43 - stime (Xtensa-specific implementation) */
-#define SYS_socket      26
-#define SYS_sendto      27
-#define SYS_recvfrom    28
-#define SYS_select_one  29      /* not compitible select, one file descriptor at the time */
-#define SYS_bind        30
-#define SYS_ioctl       31
-
-/*
- *  Other...
- */
-#define SYS_iss_argc         1000 /* returns value of argc */
-#define SYS_iss_argv_size    1001 /* bytes needed for argv & arg strings */
-#define SYS_iss_set_argv     1002 /* saves argv & arg strings at given addr */
-
-#define SYS_memset           1004 /* fill a range of memory (fast) */
-
-/*
- * SIMCALLs for the ferret memory debugger. All are invoked by
- * libferret.a ...  ( Xtensa/Target-Libs/ferret )
- */
-#define SYS_ferret           1010
-#define SYS_malloc           1011
-#define SYS_free             1012
-#define SYS_more_heap        1013
-#define SYS_no_heap          1014
-#define SYS_enter_ferret     1015
-#define SYS_leave_ferret     1016
-
-/*
- * SIMCALLs for ISS client commands
- */
-#define SYS_profile_enable   1020
-#define SYS_profile_disable  1021
-#define SYS_trace_level      1022
-#define SYS_client_command   1023
-
-/*
- * SIMCALL for simulation mode switching
- */
-#define SYS_sim_mode_switch  1030
-
-/*
- * SIMCALLs for XTMP/XTSC event notify and core stall
- */
-#define SYS_event_fire       1040
-#define SYS_event_stall      1041
-
-/*
- *  SIMCALLs for callbacks registered in XTMP/XTSC
- */
-#define SYS_callback_first      100
-#define SYS_callback_last       999
-
-/*
- * User defined simcall 
- */
-#define SYS_user_simcall        100
-
-#define SYS_xmpa_errinfo        200
-#define SYS_xmpa_proc_status    201
-#define SYS_xmpa_proc_start     202
-#define SYS_xmpa_proc_stop      203
-#define SYS_xmpa_proc_mem_read  204
-#define SYS_xmpa_proc_mem_write 205
-#define SYS_xmpa_proc_mem_fill  206
-#define SYS_xmpa_proc_reg_read  207
-#define SYS_xmpa_proc_reg_write 208
-
-
-/*
- *  Extra SIMCALLs for GDB:
- */
-#define SYS_gdb_break         -1       /* invoked by XTOS on user exceptions if EPC points
-                                          to a break.n/break, regardless of cause! */
-#define SYS_xmon_out          -2       /* invoked by XMON: ... */
-#define SYS_xmon_in           -3       /* invoked by XMON: ... */
-#define SYS_xmon_flush        -4       /* invoked by XMON: ... */
-#define SYS_gdb_abort         -5       /* invoked by XTOS in _xtos_panic() */
-#define SYS_gdb_illegal_inst  -6       /* invoked by XTOS for illegal instructions (too deeply) */
-#define SYS_xmon_init         -7       /* invoked by XMON: ... */
-#define SYS_gdb_enter_sktloop -8       /* invoked by XTOS on debug exceptions */
-#define SYS_unhandled_kernel_exc  -9   /* invoked by XTOS for unhandled kernel exceptions */
-#define SYS_unhandled_user_exc   -10   /* invoked by XTOS for unhandled user exceptions */
-#define SYS_unhandled_double_exc -11   /* invoked by XTOS for unhandled double exceptions */
-#define SYS_unhandled_highpri_interrupt -12    /* invoked by XTOS for unhandled high-priority interrupts */
-#define SYS_xmon_close        -13      /* invoked by XMON: ... */
-
-/*
- *  SIMCALLs for vxWorks xtiss BSP:
- */
-#define SYS_setup_ppp_pipes   -83
-#define SYS_log_msg           -84
-
-/*
- * SYS_select_one specifiers 
- */
-#define  XTISS_SELECT_ONE_READ    1
-#define  XTISS_SELECT_ONE_WRITE   2
-#define  XTISS_SELECT_ONE_EXCEPT  3
-
-/*
- * SIMCALL for client calling arbitrary code in a client plug in.
- * see clients/xcc_instr to see how this works.
- */
-
-#define SYS_client           0xC0DECAFE
-
-
-
-#endif /* !SIMCALL_INCLUDED */
diff --git a/components/esp32/include/xtensa/tie/xt_DFP_assist.h b/components/esp32/include/xtensa/tie/xt_DFP_assist.h
deleted file mode 100644 (file)
index 4d529eb..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Definitions for the xt_DFP_assist TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_DFP_assist_HEADER
-#define _XTENSA_xt_DFP_assist_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_DFP_assist_F64ITER(unsigned arr /*inout*/, unsigned ars, unsigned art, immediate oper, immediate noshift);
-extern unsigned _TIE_xt_DFP_assist_F64RND(unsigned ars, unsigned art, immediate mode);
-extern void _TIE_xt_DFP_assist_F64ADDC(unsigned art /*inout*/, unsigned ars, immediate immZ, immediate immC);
-extern void _TIE_xt_DFP_assist_F64SUBC(unsigned art /*inout*/, unsigned ars, immediate immZ, immediate immC);
-extern unsigned _TIE_xt_DFP_assist_F64SIG(unsigned ars);
-extern unsigned _TIE_xt_DFP_assist_F64CMPL(unsigned ars, unsigned art);
-extern unsigned _TIE_xt_DFP_assist_F64CMPH(unsigned ars, unsigned art, immediate oper);
-extern unsigned _TIE_xt_DFP_assist_F64NORM(unsigned ars, unsigned art, immediate mode);
-extern unsigned _TIE_xt_DFP_assist_F64SEXP(unsigned ars, unsigned art);
-extern unsigned _TIE_xt_DFP_assist_RF64R(immediate hilo);
-extern void _TIE_xt_DFP_assist_WF64R(unsigned ars, unsigned art, immediate hilo);
-extern unsigned _TIE_xt_DFP_assist_RUR_F64R_LO(void);
-extern unsigned _TIE_xt_DFP_assist_RUR_F64R_HI(void);
-extern void _TIE_xt_DFP_assist_WUR_F64R_LO(unsigned art);
-extern void _TIE_xt_DFP_assist_WUR_F64R_HI(unsigned art);
-extern unsigned _TIE_xt_DFP_assist_RUR_F64S(void);
-extern void _TIE_xt_DFP_assist_WUR_F64S(unsigned art);
-#define F64ITER _TIE_xt_DFP_assist_F64ITER
-#define F64RND _TIE_xt_DFP_assist_F64RND
-#define F64ADDC _TIE_xt_DFP_assist_F64ADDC
-#define F64SUBC _TIE_xt_DFP_assist_F64SUBC
-#define F64SIG _TIE_xt_DFP_assist_F64SIG
-#define F64CMPL _TIE_xt_DFP_assist_F64CMPL
-#define F64CMPH _TIE_xt_DFP_assist_F64CMPH
-#define F64NORM _TIE_xt_DFP_assist_F64NORM
-#define F64SEXP _TIE_xt_DFP_assist_F64SEXP
-#define RF64R _TIE_xt_DFP_assist_RF64R
-#define WF64R _TIE_xt_DFP_assist_WF64R
-#define RUR_F64R_LO _TIE_xt_DFP_assist_RUR_F64R_LO
-#define RF64R_LO _TIE_xt_DFP_assist_RUR_F64R_LO
-#define RUR234 _TIE_xt_DFP_assist_RUR_F64R_LO
-#define RUR_F64R_HI _TIE_xt_DFP_assist_RUR_F64R_HI
-#define RF64R_HI _TIE_xt_DFP_assist_RUR_F64R_HI
-#define RUR235 _TIE_xt_DFP_assist_RUR_F64R_HI
-#define WUR_F64R_LO _TIE_xt_DFP_assist_WUR_F64R_LO
-#define WF64R_LO _TIE_xt_DFP_assist_WUR_F64R_LO
-#define WUR234 _TIE_xt_DFP_assist_WUR_F64R_LO
-#define WUR_F64R_HI _TIE_xt_DFP_assist_WUR_F64R_HI
-#define WF64R_HI _TIE_xt_DFP_assist_WUR_F64R_HI
-#define WUR235 _TIE_xt_DFP_assist_WUR_F64R_HI
-#define RUR_F64S _TIE_xt_DFP_assist_RUR_F64S
-#define RF64S _TIE_xt_DFP_assist_RUR_F64S
-#define RUR236 _TIE_xt_DFP_assist_RUR_F64S
-#define WUR_F64S _TIE_xt_DFP_assist_WUR_F64S
-#define WF64S _TIE_xt_DFP_assist_WUR_F64S
-#define WUR236 _TIE_xt_DFP_assist_WUR_F64S
-
-#ifndef RUR
-#define RUR(NUM) RUR##NUM()
-#endif
-
-#ifndef WUR
-#define WUR(VAL, NUM) WUR##NUM(VAL)
-#endif
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_DFP_assist_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_FP.h b/components/esp32/include/xtensa/tie/xt_FP.h
deleted file mode 100644 (file)
index 229a108..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-/* Definitions for the xt_FP TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_FP_HEADER
-#define _XTENSA_xt_FP_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-#include <xtensa/tie/xt_booleans.h>
-typedef float _TIE_xt_FP_xtfloat;
-typedef _TIE_xt_FP_xtfloat xtfloat;
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern unsigned _TIE_xt_FP_RUR_FCR(void);
-extern void _TIE_xt_FP_WUR_FCR(unsigned v);
-extern unsigned _TIE_xt_FP_RUR_FSR(void);
-extern void _TIE_xt_FP_WUR_FSR(unsigned v);
-extern xtfloat _TIE_xt_FP_xtfloat_loadi(const xtfloat * p, immediate imm8x4);
-extern void _TIE_xt_FP_xtfloat_storei(xtfloat t, xtfloat * p, immediate imm8x4);
-extern void _TIE_xt_FP_xtfloat_loadip(xtfloat t /*out*/, const xtfloat * p /*inout*/, immediate imm8x4);
-extern void _TIE_xt_FP_xtfloat_storeip(xtfloat t, xtfloat * p /*inout*/, immediate imm8x4);
-extern xtfloat _TIE_xt_FP_xtfloat_loadx(const xtfloat * p, int imm8x4);
-extern void _TIE_xt_FP_xtfloat_storex(xtfloat t, xtfloat * p, int imm8x4);
-extern void _TIE_xt_FP_xtfloat_loadxp(xtfloat t /*out*/, const xtfloat * p /*inout*/, int imm8x4);
-extern void _TIE_xt_FP_xtfloat_storexp(xtfloat t, xtfloat * p /*inout*/, int imm8x4);
-extern xtfloat _TIE_xt_FP_xtfloat_move(xtfloat r);
-extern int _TIE_xt_FP_ROUND_S(xtfloat s, immediate t);
-extern int _TIE_xt_FP_TRUNC_S(xtfloat s, immediate t);
-extern unsigned _TIE_xt_FP_UTRUNC_S(xtfloat s, immediate t);
-extern int _TIE_xt_FP_FLOOR_S(xtfloat s, immediate t);
-extern int _TIE_xt_FP_CEIL_S(xtfloat s, immediate t);
-extern xtfloat _TIE_xt_FP_LSI(const xtfloat * p, immediate imm8x4);
-extern void _TIE_xt_FP_SSI(xtfloat t, xtfloat * p, immediate imm8x4);
-extern void _TIE_xt_FP_LSIP(xtfloat t /*out*/, const xtfloat * p /*inout*/, immediate imm8x4);
-extern void _TIE_xt_FP_SSIP(xtfloat t, xtfloat * p /*inout*/, immediate imm8x4);
-extern xtfloat _TIE_xt_FP_LSX(const xtfloat * p, int imm8x4);
-extern void _TIE_xt_FP_SSX(xtfloat t, xtfloat * p, int imm8x4);
-extern void _TIE_xt_FP_LSXP(xtfloat t /*out*/, const xtfloat * p /*inout*/, int imm8x4);
-extern void _TIE_xt_FP_SSXP(xtfloat t, xtfloat * p /*inout*/, int imm8x4);
-extern xtfloat _TIE_xt_FP_ABS_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_NEG_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_MOV_S(xtfloat s);
-extern void _TIE_xt_FP_MOVEQZ_S(xtfloat r /*inout*/, xtfloat s, int t);
-extern void _TIE_xt_FP_MOVNEZ_S(xtfloat r /*inout*/, xtfloat s, int t);
-extern void _TIE_xt_FP_MOVLTZ_S(xtfloat r /*inout*/, xtfloat s, int t);
-extern void _TIE_xt_FP_MOVGEZ_S(xtfloat r /*inout*/, xtfloat s, int t);
-extern void _TIE_xt_FP_MOVF_S(xtfloat r /*inout*/, xtfloat s, xtbool t);
-extern void _TIE_xt_FP_MOVT_S(xtfloat r /*inout*/, xtfloat s, xtbool t);
-extern unsigned _TIE_xt_FP_RFR(xtfloat s);
-extern xtfloat _TIE_xt_FP_WFR(unsigned s);
-extern xtfloat _TIE_xt_FP_FLOAT_S(int s, immediate t);
-extern xtfloat _TIE_xt_FP_UFLOAT_S(unsigned s, immediate t);
-extern xtbool _TIE_xt_FP_OEQ_S(xtfloat s, xtfloat t);
-extern xtbool _TIE_xt_FP_OLE_S(xtfloat s, xtfloat t);
-extern xtbool _TIE_xt_FP_OLT_S(xtfloat s, xtfloat t);
-extern xtbool _TIE_xt_FP_UEQ_S(xtfloat s, xtfloat t);
-extern xtbool _TIE_xt_FP_ULE_S(xtfloat s, xtfloat t);
-extern xtbool _TIE_xt_FP_ULT_S(xtfloat s, xtfloat t);
-extern xtbool _TIE_xt_FP_UN_S(xtfloat s, xtfloat t);
-extern xtfloat _TIE_xt_FP_ADD_S(xtfloat s, xtfloat t);
-extern xtfloat _TIE_xt_FP_SUB_S(xtfloat s, xtfloat t);
-extern xtfloat _TIE_xt_FP_MUL_S(xtfloat s, xtfloat t);
-extern void _TIE_xt_FP_MADD_S(xtfloat r /*inout*/, xtfloat s, xtfloat t);
-extern void _TIE_xt_FP_MSUB_S(xtfloat r /*inout*/, xtfloat s, xtfloat t);
-extern xtfloat _TIE_xt_FP_RECIP0_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_DIV0_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_NEXP01_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_CONST_S(immediate s);
-extern void _TIE_xt_FP_MKDADJ_S(xtfloat r /*inout*/, xtfloat s);
-extern xtfloat _TIE_xt_FP_MKSADJ_S(xtfloat s);
-extern void _TIE_xt_FP_ADDEXPM_S(xtfloat r /*inout*/, xtfloat s);
-extern void _TIE_xt_FP_ADDEXP_S(xtfloat r /*inout*/, xtfloat s);
-extern void _TIE_xt_FP_DIVN_S(xtfloat r /*inout*/, xtfloat s, xtfloat t);
-extern xtfloat _TIE_xt_FP_RSQRT0_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_SQRT0_S(xtfloat s);
-extern void _TIE_xt_FP_MADDN_S(xtfloat r /*inout*/, xtfloat s, xtfloat t);
-extern xtfloat _TIE_xt_FP_DIV_S(xtfloat s, xtfloat t);
-extern xtfloat _TIE_xt_FP_SQRT_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_RECIP_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_RSQRT_S(xtfloat s);
-extern xtfloat _TIE_xt_FP_FSQRT_S(xtfloat s);
-#define XT_RUR_FCR _TIE_xt_FP_RUR_FCR
-#define RFCR _TIE_xt_FP_RUR_FCR
-#define RUR232 _TIE_xt_FP_RUR_FCR
-#define XT_WUR_FCR _TIE_xt_FP_WUR_FCR
-#define WFCR _TIE_xt_FP_WUR_FCR
-#define WUR232 _TIE_xt_FP_WUR_FCR
-#define XT_RUR_FSR _TIE_xt_FP_RUR_FSR
-#define RFSR _TIE_xt_FP_RUR_FSR
-#define RUR233 _TIE_xt_FP_RUR_FSR
-#define XT_WUR_FSR _TIE_xt_FP_WUR_FSR
-#define WFSR _TIE_xt_FP_WUR_FSR
-#define WUR233 _TIE_xt_FP_WUR_FSR
-#define XT_xtfloat_loadi _TIE_xt_FP_xtfloat_loadi
-#define XT_xtfloat_storei _TIE_xt_FP_xtfloat_storei
-#define XT_xtfloat_loadip _TIE_xt_FP_xtfloat_loadip
-#define XT_xtfloat_storeip _TIE_xt_FP_xtfloat_storeip
-#define XT_xtfloat_loadx _TIE_xt_FP_xtfloat_loadx
-#define XT_xtfloat_storex _TIE_xt_FP_xtfloat_storex
-#define XT_xtfloat_loadxp _TIE_xt_FP_xtfloat_loadxp
-#define XT_xtfloat_storexp _TIE_xt_FP_xtfloat_storexp
-#define XT_xtfloat_move _TIE_xt_FP_xtfloat_move
-#define XT_ROUND_S _TIE_xt_FP_ROUND_S
-#define XT_TRUNC_S _TIE_xt_FP_TRUNC_S
-#define XT_UTRUNC_S _TIE_xt_FP_UTRUNC_S
-#define XT_FLOOR_S _TIE_xt_FP_FLOOR_S
-#define XT_CEIL_S _TIE_xt_FP_CEIL_S
-#define XT_LSI _TIE_xt_FP_LSI
-#define XT_SSI _TIE_xt_FP_SSI
-#define XT_LSIP _TIE_xt_FP_LSIP
-#define XT_SSIP _TIE_xt_FP_SSIP
-#define XT_LSX _TIE_xt_FP_LSX
-#define XT_SSX _TIE_xt_FP_SSX
-#define XT_LSXP _TIE_xt_FP_LSXP
-#define XT_SSXP _TIE_xt_FP_SSXP
-#define XT_ABS_S _TIE_xt_FP_ABS_S
-#define XT_NEG_S _TIE_xt_FP_NEG_S
-#define XT_MOV_S _TIE_xt_FP_MOV_S
-#define XT_MOVEQZ_S _TIE_xt_FP_MOVEQZ_S
-#define XT_MOVNEZ_S _TIE_xt_FP_MOVNEZ_S
-#define XT_MOVLTZ_S _TIE_xt_FP_MOVLTZ_S
-#define XT_MOVGEZ_S _TIE_xt_FP_MOVGEZ_S
-#define XT_MOVF_S _TIE_xt_FP_MOVF_S
-#define XT_MOVT_S _TIE_xt_FP_MOVT_S
-#define XT_RFR _TIE_xt_FP_RFR
-#define XT_WFR _TIE_xt_FP_WFR
-#define XT_FLOAT_S _TIE_xt_FP_FLOAT_S
-#define XT_UFLOAT_S _TIE_xt_FP_UFLOAT_S
-#define XT_OEQ_S _TIE_xt_FP_OEQ_S
-#define XT_OLE_S _TIE_xt_FP_OLE_S
-#define XT_OLT_S _TIE_xt_FP_OLT_S
-#define XT_UEQ_S _TIE_xt_FP_UEQ_S
-#define XT_ULE_S _TIE_xt_FP_ULE_S
-#define XT_ULT_S _TIE_xt_FP_ULT_S
-#define XT_UN_S _TIE_xt_FP_UN_S
-#define XT_ADD_S _TIE_xt_FP_ADD_S
-#define XT_SUB_S _TIE_xt_FP_SUB_S
-#define XT_MUL_S _TIE_xt_FP_MUL_S
-#define XT_MADD_S _TIE_xt_FP_MADD_S
-#define XT_MSUB_S _TIE_xt_FP_MSUB_S
-#define XT_RECIP0_S _TIE_xt_FP_RECIP0_S
-#define XT_DIV0_S _TIE_xt_FP_DIV0_S
-#define XT_NEXP01_S _TIE_xt_FP_NEXP01_S
-#define XT_CONST_S _TIE_xt_FP_CONST_S
-#define XT_MKDADJ_S _TIE_xt_FP_MKDADJ_S
-#define XT_MKSADJ_S _TIE_xt_FP_MKSADJ_S
-#define XT_ADDEXPM_S _TIE_xt_FP_ADDEXPM_S
-#define XT_ADDEXP_S _TIE_xt_FP_ADDEXP_S
-#define XT_DIVN_S _TIE_xt_FP_DIVN_S
-#define XT_RSQRT0_S _TIE_xt_FP_RSQRT0_S
-#define XT_SQRT0_S _TIE_xt_FP_SQRT0_S
-#define XT_MADDN_S _TIE_xt_FP_MADDN_S
-#define XT_DIV_S _TIE_xt_FP_DIV_S
-#define XT_SQRT_S _TIE_xt_FP_SQRT_S
-#define XT_RECIP_S _TIE_xt_FP_RECIP_S
-#define XT_RSQRT_S _TIE_xt_FP_RSQRT_S
-#define XT_FSQRT_S _TIE_xt_FP_FSQRT_S
-
-#ifndef RUR
-#define RUR(NUM) RUR##NUM()
-#endif
-
-#ifndef WUR
-#define WUR(VAL, NUM) WUR##NUM(VAL)
-#endif
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_FP_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_MAC16.h b/components/esp32/include/xtensa/tie/xt_MAC16.h
deleted file mode 100644 (file)
index b46a1db..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-/* Definitions for the xt_MAC16 TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_MAC16_HEADER
-#define _XTENSA_xt_MAC16_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-#include <xtensa/tie/xt_mul.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_MAC16_UMUL_AA_HH(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_UMUL_AA_LH(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_UMUL_AA_HL(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_UMUL_AA_LL(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MUL_AA_HH(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MUL_AA_LH(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MUL_AA_HL(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MUL_AA_LL(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MUL_AD_HH(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MUL_AD_LH(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MUL_AD_HL(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MUL_AD_LL(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MUL_DA_HH(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MUL_DA_LH(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MUL_DA_HL(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MUL_DA_LL(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MUL_DD_HH(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MUL_DD_LH(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MUL_DD_HL(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MUL_DD_LL(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MULS_AA_HH(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MULS_AA_LH(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MULS_AA_HL(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MULS_AA_LL(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MULA_AA_HH(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MULA_AA_LH(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MULA_AA_HL(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MULA_AA_LL(unsigned ars, unsigned art);
-extern void _TIE_xt_MAC16_MULS_AD_HH(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MULS_AD_LH(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MULS_AD_HL(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MULS_AD_LL(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MULA_AD_HH(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MULA_AD_LH(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MULA_AD_HL(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MULA_AD_LL(unsigned ars, immediate my);
-extern void _TIE_xt_MAC16_MULS_DA_HH(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MULS_DA_LH(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MULS_DA_HL(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MULS_DA_LL(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MULA_DA_HH(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MULA_DA_LH(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MULA_DA_HL(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MULA_DA_LL(immediate mx, unsigned art);
-extern void _TIE_xt_MAC16_MULS_DD_HH(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MULS_DD_LH(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MULS_DD_HL(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MULS_DD_LL(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MULA_DD_HH(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MULA_DD_LH(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MULA_DD_HL(immediate mx, immediate my);
-extern void _TIE_xt_MAC16_MULA_DD_LL(immediate mx, immediate my);
-extern unsigned _TIE_xt_MAC16_RSR_M0(void);
-extern void _TIE_xt_MAC16_WSR_M0(unsigned art);
-extern void _TIE_xt_MAC16_XSR_M0(unsigned art /*inout*/);
-extern unsigned _TIE_xt_MAC16_RSR_M1(void);
-extern void _TIE_xt_MAC16_WSR_M1(unsigned art);
-extern void _TIE_xt_MAC16_XSR_M1(unsigned art /*inout*/);
-extern unsigned _TIE_xt_MAC16_RSR_M2(void);
-extern void _TIE_xt_MAC16_WSR_M2(unsigned art);
-extern void _TIE_xt_MAC16_XSR_M2(unsigned art /*inout*/);
-extern unsigned _TIE_xt_MAC16_RSR_M3(void);
-extern void _TIE_xt_MAC16_WSR_M3(unsigned art);
-extern void _TIE_xt_MAC16_XSR_M3(unsigned art /*inout*/);
-extern unsigned _TIE_xt_MAC16_RSR_ACCLO(void);
-extern void _TIE_xt_MAC16_WSR_ACCLO(unsigned art);
-extern void _TIE_xt_MAC16_XSR_ACCLO(unsigned art /*inout*/);
-extern unsigned _TIE_xt_MAC16_RSR_ACCHI(void);
-extern void _TIE_xt_MAC16_WSR_ACCHI(unsigned art);
-extern void _TIE_xt_MAC16_XSR_ACCHI(unsigned art /*inout*/);
-extern void _TIE_xt_MAC16_MULA_DA_LL_LDDEC(immediate w, const short * s /*inout*/, immediate x, int t);
-extern void _TIE_xt_MAC16_MULA_DA_LL_LDINC(immediate w, const short * s /*inout*/, immediate x, int t);
-extern void _TIE_xt_MAC16_MULA_DA_HL_LDDEC(immediate w, const short * s /*inout*/, immediate x, int t);
-extern void _TIE_xt_MAC16_MULA_DA_HL_LDINC(immediate w, const short * s /*inout*/, immediate x, int t);
-extern void _TIE_xt_MAC16_MULA_DA_LH_LDDEC(immediate w, const short * s /*inout*/, immediate x, int t);
-extern void _TIE_xt_MAC16_MULA_DA_LH_LDINC(immediate w, const short * s /*inout*/, immediate x, int t);
-extern void _TIE_xt_MAC16_MULA_DA_HH_LDDEC(immediate w, const short * s /*inout*/, immediate x, int t);
-extern void _TIE_xt_MAC16_MULA_DA_HH_LDINC(immediate w, const short * s /*inout*/, immediate x, int t);
-extern void _TIE_xt_MAC16_MULA_DD_LL_LDDEC(immediate w, const short * s /*inout*/, immediate x, immediate y);
-extern void _TIE_xt_MAC16_MULA_DD_LL_LDINC(immediate w, const short * s /*inout*/, immediate x, immediate y);
-extern void _TIE_xt_MAC16_MULA_DD_HL_LDDEC(immediate w, const short * s /*inout*/, immediate x, immediate y);
-extern void _TIE_xt_MAC16_MULA_DD_HL_LDINC(immediate w, const short * s /*inout*/, immediate x, immediate y);
-extern void _TIE_xt_MAC16_MULA_DD_LH_LDDEC(immediate w, const short * s /*inout*/, immediate x, immediate y);
-extern void _TIE_xt_MAC16_MULA_DD_LH_LDINC(immediate w, const short * s /*inout*/, immediate x, immediate y);
-extern void _TIE_xt_MAC16_MULA_DD_HH_LDDEC(immediate w, const short * s /*inout*/, immediate x, immediate y);
-extern void _TIE_xt_MAC16_MULA_DD_HH_LDINC(immediate w, const short * s /*inout*/, immediate x, immediate y);
-extern void _TIE_xt_MAC16_LDDEC(immediate w, const short * p /*inout*/);
-extern void _TIE_xt_MAC16_ULDDEC(immediate w, const unsigned short * p /*inout*/);
-extern void _TIE_xt_MAC16_SLDDEC(immediate w, const short * p /*inout*/);
-extern void _TIE_xt_MAC16_LDINC(immediate w, const short * p /*inout*/);
-extern void _TIE_xt_MAC16_ULDINC(immediate w, const unsigned short * p /*inout*/);
-extern void _TIE_xt_MAC16_SLDINC(immediate w, const short * p /*inout*/);
-extern int _TIE_xt_MAC16_RSR16(void);
-extern void _TIE_xt_MAC16_WSR16(int t);
-extern void _TIE_xt_MAC16_XSR16(int t /*inout*/);
-extern int _TIE_xt_MAC16_RSR17(void);
-extern void _TIE_xt_MAC16_WSR17(int t);
-extern void _TIE_xt_MAC16_XSR17(int t /*inout*/);
-#define XT_UMUL_AA_HH _TIE_xt_MAC16_UMUL_AA_HH
-#define XT_UMUL_AA_LH _TIE_xt_MAC16_UMUL_AA_LH
-#define XT_UMUL_AA_HL _TIE_xt_MAC16_UMUL_AA_HL
-#define XT_UMUL_AA_LL _TIE_xt_MAC16_UMUL_AA_LL
-#define XT_MUL_AA_HH _TIE_xt_MAC16_MUL_AA_HH
-#define XT_MUL_AA_LH _TIE_xt_MAC16_MUL_AA_LH
-#define XT_MUL_AA_HL _TIE_xt_MAC16_MUL_AA_HL
-#define XT_MUL_AA_LL _TIE_xt_MAC16_MUL_AA_LL
-#define XT_MUL_AD_HH _TIE_xt_MAC16_MUL_AD_HH
-#define XT_MUL_AD_LH _TIE_xt_MAC16_MUL_AD_LH
-#define XT_MUL_AD_HL _TIE_xt_MAC16_MUL_AD_HL
-#define XT_MUL_AD_LL _TIE_xt_MAC16_MUL_AD_LL
-#define XT_MUL_DA_HH _TIE_xt_MAC16_MUL_DA_HH
-#define XT_MUL_DA_LH _TIE_xt_MAC16_MUL_DA_LH
-#define XT_MUL_DA_HL _TIE_xt_MAC16_MUL_DA_HL
-#define XT_MUL_DA_LL _TIE_xt_MAC16_MUL_DA_LL
-#define XT_MUL_DD_HH _TIE_xt_MAC16_MUL_DD_HH
-#define XT_MUL_DD_LH _TIE_xt_MAC16_MUL_DD_LH
-#define XT_MUL_DD_HL _TIE_xt_MAC16_MUL_DD_HL
-#define XT_MUL_DD_LL _TIE_xt_MAC16_MUL_DD_LL
-#define XT_MULS_AA_HH _TIE_xt_MAC16_MULS_AA_HH
-#define XT_MULS_AA_LH _TIE_xt_MAC16_MULS_AA_LH
-#define XT_MULS_AA_HL _TIE_xt_MAC16_MULS_AA_HL
-#define XT_MULS_AA_LL _TIE_xt_MAC16_MULS_AA_LL
-#define XT_MULA_AA_HH _TIE_xt_MAC16_MULA_AA_HH
-#define XT_MULA_AA_LH _TIE_xt_MAC16_MULA_AA_LH
-#define XT_MULA_AA_HL _TIE_xt_MAC16_MULA_AA_HL
-#define XT_MULA_AA_LL _TIE_xt_MAC16_MULA_AA_LL
-#define XT_MULS_AD_HH _TIE_xt_MAC16_MULS_AD_HH
-#define XT_MULS_AD_LH _TIE_xt_MAC16_MULS_AD_LH
-#define XT_MULS_AD_HL _TIE_xt_MAC16_MULS_AD_HL
-#define XT_MULS_AD_LL _TIE_xt_MAC16_MULS_AD_LL
-#define XT_MULA_AD_HH _TIE_xt_MAC16_MULA_AD_HH
-#define XT_MULA_AD_LH _TIE_xt_MAC16_MULA_AD_LH
-#define XT_MULA_AD_HL _TIE_xt_MAC16_MULA_AD_HL
-#define XT_MULA_AD_LL _TIE_xt_MAC16_MULA_AD_LL
-#define XT_MULS_DA_HH _TIE_xt_MAC16_MULS_DA_HH
-#define XT_MULS_DA_LH _TIE_xt_MAC16_MULS_DA_LH
-#define XT_MULS_DA_HL _TIE_xt_MAC16_MULS_DA_HL
-#define XT_MULS_DA_LL _TIE_xt_MAC16_MULS_DA_LL
-#define XT_MULA_DA_HH _TIE_xt_MAC16_MULA_DA_HH
-#define XT_MULA_DA_LH _TIE_xt_MAC16_MULA_DA_LH
-#define XT_MULA_DA_HL _TIE_xt_MAC16_MULA_DA_HL
-#define XT_MULA_DA_LL _TIE_xt_MAC16_MULA_DA_LL
-#define XT_MULS_DD_HH _TIE_xt_MAC16_MULS_DD_HH
-#define XT_MULS_DD_LH _TIE_xt_MAC16_MULS_DD_LH
-#define XT_MULS_DD_HL _TIE_xt_MAC16_MULS_DD_HL
-#define XT_MULS_DD_LL _TIE_xt_MAC16_MULS_DD_LL
-#define XT_MULA_DD_HH _TIE_xt_MAC16_MULA_DD_HH
-#define XT_MULA_DD_LH _TIE_xt_MAC16_MULA_DD_LH
-#define XT_MULA_DD_HL _TIE_xt_MAC16_MULA_DD_HL
-#define XT_MULA_DD_LL _TIE_xt_MAC16_MULA_DD_LL
-#define XT_RSR_M0 _TIE_xt_MAC16_RSR_M0
-#define XT_WSR_M0 _TIE_xt_MAC16_WSR_M0
-#define XT_XSR_M0 _TIE_xt_MAC16_XSR_M0
-#define XT_RSR_M1 _TIE_xt_MAC16_RSR_M1
-#define XT_WSR_M1 _TIE_xt_MAC16_WSR_M1
-#define XT_XSR_M1 _TIE_xt_MAC16_XSR_M1
-#define XT_RSR_M2 _TIE_xt_MAC16_RSR_M2
-#define XT_WSR_M2 _TIE_xt_MAC16_WSR_M2
-#define XT_XSR_M2 _TIE_xt_MAC16_XSR_M2
-#define XT_RSR_M3 _TIE_xt_MAC16_RSR_M3
-#define XT_WSR_M3 _TIE_xt_MAC16_WSR_M3
-#define XT_XSR_M3 _TIE_xt_MAC16_XSR_M3
-#define XT_RSR_ACCLO _TIE_xt_MAC16_RSR_ACCLO
-#define XT_WSR_ACCLO _TIE_xt_MAC16_WSR_ACCLO
-#define XT_XSR_ACCLO _TIE_xt_MAC16_XSR_ACCLO
-#define XT_RSR_ACCHI _TIE_xt_MAC16_RSR_ACCHI
-#define XT_WSR_ACCHI _TIE_xt_MAC16_WSR_ACCHI
-#define XT_XSR_ACCHI _TIE_xt_MAC16_XSR_ACCHI
-#define XT_MULA_DA_LL_LDDEC _TIE_xt_MAC16_MULA_DA_LL_LDDEC
-#define XT_MULA_DA_LL_LDINC _TIE_xt_MAC16_MULA_DA_LL_LDINC
-#define XT_MULA_DA_HL_LDDEC _TIE_xt_MAC16_MULA_DA_HL_LDDEC
-#define XT_MULA_DA_HL_LDINC _TIE_xt_MAC16_MULA_DA_HL_LDINC
-#define XT_MULA_DA_LH_LDDEC _TIE_xt_MAC16_MULA_DA_LH_LDDEC
-#define XT_MULA_DA_LH_LDINC _TIE_xt_MAC16_MULA_DA_LH_LDINC
-#define XT_MULA_DA_HH_LDDEC _TIE_xt_MAC16_MULA_DA_HH_LDDEC
-#define XT_MULA_DA_HH_LDINC _TIE_xt_MAC16_MULA_DA_HH_LDINC
-#define XT_MULA_DD_LL_LDDEC _TIE_xt_MAC16_MULA_DD_LL_LDDEC
-#define XT_MULA_DD_LL_LDINC _TIE_xt_MAC16_MULA_DD_LL_LDINC
-#define XT_MULA_DD_HL_LDDEC _TIE_xt_MAC16_MULA_DD_HL_LDDEC
-#define XT_MULA_DD_HL_LDINC _TIE_xt_MAC16_MULA_DD_HL_LDINC
-#define XT_MULA_DD_LH_LDDEC _TIE_xt_MAC16_MULA_DD_LH_LDDEC
-#define XT_MULA_DD_LH_LDINC _TIE_xt_MAC16_MULA_DD_LH_LDINC
-#define XT_MULA_DD_HH_LDDEC _TIE_xt_MAC16_MULA_DD_HH_LDDEC
-#define XT_MULA_DD_HH_LDINC _TIE_xt_MAC16_MULA_DD_HH_LDINC
-#define XT_LDDEC _TIE_xt_MAC16_LDDEC
-#define XT_ULDDEC _TIE_xt_MAC16_ULDDEC
-#define XT_SLDDEC _TIE_xt_MAC16_SLDDEC
-#define XT_LDINC _TIE_xt_MAC16_LDINC
-#define XT_ULDINC _TIE_xt_MAC16_ULDINC
-#define XT_SLDINC _TIE_xt_MAC16_SLDINC
-#define XT_RSR16 _TIE_xt_MAC16_RSR16
-#define XT_WSR16 _TIE_xt_MAC16_WSR16
-#define XT_XSR16 _TIE_xt_MAC16_XSR16
-#define XT_RSR17 _TIE_xt_MAC16_RSR17
-#define XT_WSR17 _TIE_xt_MAC16_WSR17
-#define XT_XSR17 _TIE_xt_MAC16_XSR17
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_MAC16_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_MUL32.h b/components/esp32/include/xtensa/tie/xt_MUL32.h
deleted file mode 100644 (file)
index 91b3c32..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Definitions for the 32-bit Integer Multiply Option. */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2009 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* NOTE: This file exists only for backward compatibility with RB-200X.x
-   and earlier Xtensa releases.  Starting with RC-2009.0 you should use 
-   <xtensa/tie/xt_mul.h>.  */
-
-#ifndef _XTENSA_xt_MUL32_HEADER
-#define _XTENSA_xt_MUL32_HEADER
-
-#ifdef __XTENSA__
-
-#include <xtensa/tie/xt_mul.h>
-
-#endif /* __XTENSA__ */
-#endif /* !_XTENSA_xt_MUL32_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_booleans.h b/components/esp32/include/xtensa/tie/xt_booleans.h
deleted file mode 100644 (file)
index 94b5b46..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Definitions for the xt_booleans TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_booleans_HEADER
-#define _XTENSA_xt_booleans_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-typedef _TIE_xtbool xtbool;
-typedef _TIE_xtbool2 xtbool2;
-typedef _TIE_xtbool4 xtbool4;
-typedef _TIE_xtbool8 xtbool8;
-typedef _TIE_xtbool16 xtbool16;
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern xtbool _TIE_xt_booleans_XORB(xtbool bs, xtbool bt);
-extern xtbool _TIE_xt_booleans_ORBC(xtbool bs, xtbool bt);
-extern xtbool _TIE_xt_booleans_ORB(xtbool bs, xtbool bt);
-extern xtbool _TIE_xt_booleans_ANDBC(xtbool bs, xtbool bt);
-extern xtbool _TIE_xt_booleans_ANDB(xtbool bs, xtbool bt);
-extern xtbool _TIE_xt_booleans_ALL4(xtbool4 bs4);
-extern xtbool _TIE_xt_booleans_ANY4(xtbool4 bs4);
-extern xtbool _TIE_xt_booleans_ALL8(xtbool8 bs8);
-extern xtbool _TIE_xt_booleans_ANY8(xtbool8 bs8);
-extern void _TIE_xt_booleans_MOVT(unsigned arr /*inout*/, unsigned ars, xtbool bt);
-extern void _TIE_xt_booleans_MOVF(unsigned arr /*inout*/, unsigned ars, xtbool bt);
-#define XT_XORB _TIE_xt_booleans_XORB
-#define XT_ORBC _TIE_xt_booleans_ORBC
-#define XT_ORB _TIE_xt_booleans_ORB
-#define XT_ANDBC _TIE_xt_booleans_ANDBC
-#define XT_ANDB _TIE_xt_booleans_ANDB
-#define XT_ALL4 _TIE_xt_booleans_ALL4
-#define XT_ANY4 _TIE_xt_booleans_ANY4
-#define XT_ALL8 _TIE_xt_booleans_ALL8
-#define XT_ANY8 _TIE_xt_booleans_ANY8
-#define XT_MOVT _TIE_xt_booleans_MOVT
-#define XT_MOVF _TIE_xt_booleans_MOVF
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_booleans_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_coprocessors.h b/components/esp32/include/xtensa/tie/xt_coprocessors.h
deleted file mode 100644 (file)
index 27215cf..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Definitions for the xt_coprocessors TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_coprocessors_HEADER
-#define _XTENSA_xt_coprocessors_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern unsigned _TIE_xt_coprocessors_RSR_CPENABLE(void);
-extern void _TIE_xt_coprocessors_WSR_CPENABLE(unsigned art);
-extern void _TIE_xt_coprocessors_XSR_CPENABLE(unsigned art /*inout*/);
-#define XT_RSR_CPENABLE _TIE_xt_coprocessors_RSR_CPENABLE
-#define XT_WSR_CPENABLE _TIE_xt_coprocessors_WSR_CPENABLE
-#define XT_XSR_CPENABLE _TIE_xt_coprocessors_XSR_CPENABLE
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_coprocessors_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_core.h b/components/esp32/include/xtensa/tie/xt_core.h
deleted file mode 100644 (file)
index 469b199..0000000
+++ /dev/null
@@ -1,395 +0,0 @@
-/* Definitions for the xt_core TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_core_HEADER
-#define _XTENSA_xt_core_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_core_ILL(void);
-extern void _TIE_xt_core_NOP(void);
-extern void _TIE_xt_core_SIMCALL(void);
-extern void _TIE_xt_core_MEMW(void);
-extern void _TIE_xt_core_EXTW(void);
-extern void _TIE_xt_core_ISYNC(void);
-extern void _TIE_xt_core_DSYNC(void);
-extern void _TIE_xt_core_ESYNC(void);
-extern void _TIE_xt_core_RSYNC(void);
-extern unsigned _TIE_xt_core_RSR_LBEG(void);
-extern void _TIE_xt_core_WSR_LBEG(unsigned art);
-extern void _TIE_xt_core_XSR_LBEG(unsigned art /*inout*/);
-extern unsigned _TIE_xt_core_RSR_CONFIGID0(void);
-extern void _TIE_xt_core_WSR_CONFIGID0(unsigned art);
-extern unsigned _TIE_xt_core_RSR_CONFIGID1(void);
-extern unsigned _TIE_xt_core_RUR_THREADPTR(void);
-extern void _TIE_xt_core_WUR_THREADPTR(unsigned v);
-extern unsigned _TIE_xt_core_uint32_loadi(const unsigned * p, immediate o);
-extern void _TIE_xt_core_uint32_storei(unsigned c, unsigned * p, immediate o);
-extern unsigned _TIE_xt_core_uint32_move(unsigned b);
-extern int _TIE_xt_core_ADDI(int s, immediate i);
-extern int _TIE_xt_core_OR(int s, int t);
-extern int _TIE_xt_core_L32I(const int * p, immediate i);
-extern void _TIE_xt_core_S32I(int r, int * p, immediate i);
-extern void _TIE_xt_core_S32NB(int r, int * p, immediate i);
-extern unsigned char _TIE_xt_core_L8UI(const unsigned char * p, immediate i);
-extern void _TIE_xt_core_S8I(signed char r, signed char * p, immediate i);
-extern unsigned short _TIE_xt_core_L16UI(const unsigned short * p, immediate i);
-extern short _TIE_xt_core_L16SI(const short * p, immediate i);
-extern void _TIE_xt_core_S16I(short r, short * p, immediate i);
-extern int _TIE_xt_core_ADDMI(int s, immediate i);
-extern int _TIE_xt_core_ADD(int s, int t);
-extern int _TIE_xt_core_ADDX2(int s, int t);
-extern int _TIE_xt_core_ADDX4(int s, int t);
-extern int _TIE_xt_core_ADDX8(int s, int t);
-extern int _TIE_xt_core_SUB(int s, int t);
-extern int _TIE_xt_core_SUBX2(int s, int t);
-extern int _TIE_xt_core_SUBX4(int s, int t);
-extern int _TIE_xt_core_SUBX8(int s, int t);
-extern int _TIE_xt_core_AND(int s, int t);
-extern int _TIE_xt_core_XOR(int s, int t);
-extern unsigned _TIE_xt_core_EXTUI(unsigned t, immediate i, immediate o);
-extern int _TIE_xt_core_MOVI(immediate i);
-extern void _TIE_xt_core_MOVEQZ(int r /*inout*/, int s, int t);
-extern void _TIE_xt_core_MOVNEZ(int r /*inout*/, int s, int t);
-extern void _TIE_xt_core_MOVLTZ(int r /*inout*/, int s, int t);
-extern void _TIE_xt_core_MOVGEZ(int r /*inout*/, int s, int t);
-extern int _TIE_xt_core_NEG(int t);
-extern int _TIE_xt_core_ABS(int t);
-extern void _TIE_xt_core_SSR(int s);
-extern void _TIE_xt_core_SSL(int s);
-extern void _TIE_xt_core_SSA8L(int s);
-extern void _TIE_xt_core_SSA8B(int s);
-extern void _TIE_xt_core_SSAI(immediate i);
-extern int _TIE_xt_core_SLL(int s);
-extern int _TIE_xt_core_SRC(int s, int t);
-extern unsigned _TIE_xt_core_SRL(unsigned t);
-extern int _TIE_xt_core_SRA(int t);
-extern int _TIE_xt_core_SLLI(int s, immediate i);
-extern int _TIE_xt_core_SRAI(int t, immediate i);
-extern unsigned _TIE_xt_core_SRLI(unsigned t, immediate i);
-extern int _TIE_xt_core_SSAI_SRC(int src1, int src2, immediate amount);
-extern int _TIE_xt_core_SSR_SRC(int src1, int src2, int amount);
-extern int _TIE_xt_core_WSR_SAR_SRC(int src1, int src2, int amount);
-extern int _TIE_xt_core_SSR_SRA(int src, int amount);
-extern unsigned _TIE_xt_core_SSR_SRL(unsigned src, int amount);
-extern int _TIE_xt_core_SSL_SLL(int src, int amount);
-extern int _TIE_xt_core_RSIL(immediate t);
-extern int _TIE_xt_core_RSR_LEND(void);
-extern void _TIE_xt_core_WSR_LEND(int t);
-extern void _TIE_xt_core_XSR_LEND(int t /*inout*/);
-extern int _TIE_xt_core_RSR_LCOUNT(void);
-extern void _TIE_xt_core_WSR_LCOUNT(int t);
-extern void _TIE_xt_core_XSR_LCOUNT(int t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_SAR(void);
-extern void _TIE_xt_core_WSR_SAR(unsigned t);
-extern void _TIE_xt_core_XSR_SAR(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_MEMCTL(void);
-extern void _TIE_xt_core_WSR_MEMCTL(unsigned t);
-extern void _TIE_xt_core_XSR_MEMCTL(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_LITBASE(void);
-extern void _TIE_xt_core_WSR_LITBASE(unsigned t);
-extern void _TIE_xt_core_XSR_LITBASE(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_PS(void);
-extern void _TIE_xt_core_WSR_PS(unsigned t);
-extern void _TIE_xt_core_XSR_PS(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPC1(void);
-extern void _TIE_xt_core_WSR_EPC1(unsigned t);
-extern void _TIE_xt_core_XSR_EPC1(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCSAVE1(void);
-extern void _TIE_xt_core_WSR_EXCSAVE1(unsigned t);
-extern void _TIE_xt_core_XSR_EXCSAVE1(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPC2(void);
-extern void _TIE_xt_core_WSR_EPC2(unsigned t);
-extern void _TIE_xt_core_XSR_EPC2(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCSAVE2(void);
-extern void _TIE_xt_core_WSR_EXCSAVE2(unsigned t);
-extern void _TIE_xt_core_XSR_EXCSAVE2(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPC3(void);
-extern void _TIE_xt_core_WSR_EPC3(unsigned t);
-extern void _TIE_xt_core_XSR_EPC3(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCSAVE3(void);
-extern void _TIE_xt_core_WSR_EXCSAVE3(unsigned t);
-extern void _TIE_xt_core_XSR_EXCSAVE3(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPC4(void);
-extern void _TIE_xt_core_WSR_EPC4(unsigned t);
-extern void _TIE_xt_core_XSR_EPC4(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCSAVE4(void);
-extern void _TIE_xt_core_WSR_EXCSAVE4(unsigned t);
-extern void _TIE_xt_core_XSR_EXCSAVE4(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPC5(void);
-extern void _TIE_xt_core_WSR_EPC5(unsigned t);
-extern void _TIE_xt_core_XSR_EPC5(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCSAVE5(void);
-extern void _TIE_xt_core_WSR_EXCSAVE5(unsigned t);
-extern void _TIE_xt_core_XSR_EXCSAVE5(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPC6(void);
-extern void _TIE_xt_core_WSR_EPC6(unsigned t);
-extern void _TIE_xt_core_XSR_EPC6(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCSAVE6(void);
-extern void _TIE_xt_core_WSR_EXCSAVE6(unsigned t);
-extern void _TIE_xt_core_XSR_EXCSAVE6(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPC7(void);
-extern void _TIE_xt_core_WSR_EPC7(unsigned t);
-extern void _TIE_xt_core_XSR_EPC7(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCSAVE7(void);
-extern void _TIE_xt_core_WSR_EXCSAVE7(unsigned t);
-extern void _TIE_xt_core_XSR_EXCSAVE7(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_VECBASE(void);
-extern void _TIE_xt_core_WSR_VECBASE(unsigned t);
-extern void _TIE_xt_core_XSR_VECBASE(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPS2(void);
-extern void _TIE_xt_core_WSR_EPS2(unsigned t);
-extern void _TIE_xt_core_XSR_EPS2(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPS3(void);
-extern void _TIE_xt_core_WSR_EPS3(unsigned t);
-extern void _TIE_xt_core_XSR_EPS3(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPS4(void);
-extern void _TIE_xt_core_WSR_EPS4(unsigned t);
-extern void _TIE_xt_core_XSR_EPS4(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPS5(void);
-extern void _TIE_xt_core_WSR_EPS5(unsigned t);
-extern void _TIE_xt_core_XSR_EPS5(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPS6(void);
-extern void _TIE_xt_core_WSR_EPS6(unsigned t);
-extern void _TIE_xt_core_XSR_EPS6(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EPS7(void);
-extern void _TIE_xt_core_WSR_EPS7(unsigned t);
-extern void _TIE_xt_core_XSR_EPS7(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCCAUSE(void);
-extern void _TIE_xt_core_WSR_EXCCAUSE(unsigned t);
-extern void _TIE_xt_core_XSR_EXCCAUSE(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_EXCVADDR(void);
-extern void _TIE_xt_core_WSR_EXCVADDR(unsigned t);
-extern void _TIE_xt_core_XSR_EXCVADDR(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_DEPC(void);
-extern void _TIE_xt_core_WSR_DEPC(unsigned t);
-extern void _TIE_xt_core_XSR_DEPC(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_MISC0(void);
-extern void _TIE_xt_core_WSR_MISC0(unsigned t);
-extern void _TIE_xt_core_XSR_MISC0(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_MISC1(void);
-extern void _TIE_xt_core_WSR_MISC1(unsigned t);
-extern void _TIE_xt_core_XSR_MISC1(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_MISC2(void);
-extern void _TIE_xt_core_WSR_MISC2(unsigned t);
-extern void _TIE_xt_core_XSR_MISC2(unsigned t /*inout*/);
-extern unsigned _TIE_xt_core_RSR_MISC3(void);
-extern void _TIE_xt_core_WSR_MISC3(unsigned t);
-extern void _TIE_xt_core_XSR_MISC3(unsigned t /*inout*/);
-extern int _TIE_xt_core_RSR_PRID(void);
-#define XT_ILL _TIE_xt_core_ILL
-#define XT_NOP _TIE_xt_core_NOP
-#define XT_SIMCALL _TIE_xt_core_SIMCALL
-#define XT_MEMW _TIE_xt_core_MEMW
-#define XT_EXTW _TIE_xt_core_EXTW
-#define XT_ISYNC _TIE_xt_core_ISYNC
-#define XT_DSYNC _TIE_xt_core_DSYNC
-#define XT_ESYNC _TIE_xt_core_ESYNC
-#define XT_RSYNC _TIE_xt_core_RSYNC
-#define XT_RSR_LBEG _TIE_xt_core_RSR_LBEG
-#define XT_WSR_LBEG _TIE_xt_core_WSR_LBEG
-#define XT_XSR_LBEG _TIE_xt_core_XSR_LBEG
-#define XT_RSR_CONFIGID0 _TIE_xt_core_RSR_CONFIGID0
-#define XT_WSR_CONFIGID0 _TIE_xt_core_WSR_CONFIGID0
-#define XT_RSR_CONFIGID1 _TIE_xt_core_RSR_CONFIGID1
-#define XT_RUR_THREADPTR _TIE_xt_core_RUR_THREADPTR
-#define RTHREADPTR _TIE_xt_core_RUR_THREADPTR
-#define RUR231 _TIE_xt_core_RUR_THREADPTR
-#define XT_WUR_THREADPTR _TIE_xt_core_WUR_THREADPTR
-#define WTHREADPTR _TIE_xt_core_WUR_THREADPTR
-#define WUR231 _TIE_xt_core_WUR_THREADPTR
-#define XT_uint32_loadi _TIE_xt_core_uint32_loadi
-#define XT_uint32_storei _TIE_xt_core_uint32_storei
-#define XT_uint32_move _TIE_xt_core_uint32_move
-#define XT_ADDI _TIE_xt_core_ADDI
-#define XT_OR _TIE_xt_core_OR
-#define XT_L32I _TIE_xt_core_L32I
-#define XT_S32I _TIE_xt_core_S32I
-#define XT_S32NB _TIE_xt_core_S32NB
-#define XT_L8UI _TIE_xt_core_L8UI
-#define XT_S8I _TIE_xt_core_S8I
-#define XT_L16UI _TIE_xt_core_L16UI
-#define XT_L16SI _TIE_xt_core_L16SI
-#define XT_S16I _TIE_xt_core_S16I
-#define XT_ADDMI _TIE_xt_core_ADDMI
-#define XT_ADD _TIE_xt_core_ADD
-#define XT_ADDX2 _TIE_xt_core_ADDX2
-#define XT_ADDX4 _TIE_xt_core_ADDX4
-#define XT_ADDX8 _TIE_xt_core_ADDX8
-#define XT_SUB _TIE_xt_core_SUB
-#define XT_SUBX2 _TIE_xt_core_SUBX2
-#define XT_SUBX4 _TIE_xt_core_SUBX4
-#define XT_SUBX8 _TIE_xt_core_SUBX8
-#define XT_AND _TIE_xt_core_AND
-#define XT_XOR _TIE_xt_core_XOR
-#define XT_EXTUI _TIE_xt_core_EXTUI
-#define XT_MOVI _TIE_xt_core_MOVI
-#define XT_MOVEQZ _TIE_xt_core_MOVEQZ
-#define XT_MOVNEZ _TIE_xt_core_MOVNEZ
-#define XT_MOVLTZ _TIE_xt_core_MOVLTZ
-#define XT_MOVGEZ _TIE_xt_core_MOVGEZ
-#define XT_NEG _TIE_xt_core_NEG
-#define XT_ABS _TIE_xt_core_ABS
-#define XT_SSR _TIE_xt_core_SSR
-#define XT_SSL _TIE_xt_core_SSL
-#define XT_SSA8L _TIE_xt_core_SSA8L
-#define XT_SSA8B _TIE_xt_core_SSA8B
-#define XT_SSAI _TIE_xt_core_SSAI
-#define XT_SLL _TIE_xt_core_SLL
-#define XT_SRC _TIE_xt_core_SRC
-#define XT_SRL _TIE_xt_core_SRL
-#define XT_SRA _TIE_xt_core_SRA
-#define XT_SLLI _TIE_xt_core_SLLI
-#define XT_SRAI _TIE_xt_core_SRAI
-#define XT_SRLI _TIE_xt_core_SRLI
-#define XT_SSAI_SRC _TIE_xt_core_SSAI_SRC
-#define XT_SSR_SRC _TIE_xt_core_SSR_SRC
-#define XT_WSR_SAR_SRC _TIE_xt_core_WSR_SAR_SRC
-#define XT_SSR_SRA _TIE_xt_core_SSR_SRA
-#define XT_SSR_SRL _TIE_xt_core_SSR_SRL
-#define XT_SSL_SLL _TIE_xt_core_SSL_SLL
-#define XT_RSIL _TIE_xt_core_RSIL
-#define XT_RSR_LEND _TIE_xt_core_RSR_LEND
-#define XT_WSR_LEND _TIE_xt_core_WSR_LEND
-#define XT_XSR_LEND _TIE_xt_core_XSR_LEND
-#define XT_RSR_LCOUNT _TIE_xt_core_RSR_LCOUNT
-#define XT_WSR_LCOUNT _TIE_xt_core_WSR_LCOUNT
-#define XT_XSR_LCOUNT _TIE_xt_core_XSR_LCOUNT
-#define XT_RSR_SAR _TIE_xt_core_RSR_SAR
-#define XT_WSR_SAR _TIE_xt_core_WSR_SAR
-#define XT_XSR_SAR _TIE_xt_core_XSR_SAR
-#define XT_RSR_MEMCTL _TIE_xt_core_RSR_MEMCTL
-#define XT_WSR_MEMCTL _TIE_xt_core_WSR_MEMCTL
-#define XT_XSR_MEMCTL _TIE_xt_core_XSR_MEMCTL
-#define XT_RSR_LITBASE _TIE_xt_core_RSR_LITBASE
-#define XT_WSR_LITBASE _TIE_xt_core_WSR_LITBASE
-#define XT_XSR_LITBASE _TIE_xt_core_XSR_LITBASE
-#define XT_RSR_PS _TIE_xt_core_RSR_PS
-#define XT_WSR_PS _TIE_xt_core_WSR_PS
-#define XT_XSR_PS _TIE_xt_core_XSR_PS
-#define XT_RSR_EPC1 _TIE_xt_core_RSR_EPC1
-#define XT_WSR_EPC1 _TIE_xt_core_WSR_EPC1
-#define XT_XSR_EPC1 _TIE_xt_core_XSR_EPC1
-#define XT_RSR_EXCSAVE1 _TIE_xt_core_RSR_EXCSAVE1
-#define XT_WSR_EXCSAVE1 _TIE_xt_core_WSR_EXCSAVE1
-#define XT_XSR_EXCSAVE1 _TIE_xt_core_XSR_EXCSAVE1
-#define XT_RSR_EPC2 _TIE_xt_core_RSR_EPC2
-#define XT_WSR_EPC2 _TIE_xt_core_WSR_EPC2
-#define XT_XSR_EPC2 _TIE_xt_core_XSR_EPC2
-#define XT_RSR_EXCSAVE2 _TIE_xt_core_RSR_EXCSAVE2
-#define XT_WSR_EXCSAVE2 _TIE_xt_core_WSR_EXCSAVE2
-#define XT_XSR_EXCSAVE2 _TIE_xt_core_XSR_EXCSAVE2
-#define XT_RSR_EPC3 _TIE_xt_core_RSR_EPC3
-#define XT_WSR_EPC3 _TIE_xt_core_WSR_EPC3
-#define XT_XSR_EPC3 _TIE_xt_core_XSR_EPC3
-#define XT_RSR_EXCSAVE3 _TIE_xt_core_RSR_EXCSAVE3
-#define XT_WSR_EXCSAVE3 _TIE_xt_core_WSR_EXCSAVE3
-#define XT_XSR_EXCSAVE3 _TIE_xt_core_XSR_EXCSAVE3
-#define XT_RSR_EPC4 _TIE_xt_core_RSR_EPC4
-#define XT_WSR_EPC4 _TIE_xt_core_WSR_EPC4
-#define XT_XSR_EPC4 _TIE_xt_core_XSR_EPC4
-#define XT_RSR_EXCSAVE4 _TIE_xt_core_RSR_EXCSAVE4
-#define XT_WSR_EXCSAVE4 _TIE_xt_core_WSR_EXCSAVE4
-#define XT_XSR_EXCSAVE4 _TIE_xt_core_XSR_EXCSAVE4
-#define XT_RSR_EPC5 _TIE_xt_core_RSR_EPC5
-#define XT_WSR_EPC5 _TIE_xt_core_WSR_EPC5
-#define XT_XSR_EPC5 _TIE_xt_core_XSR_EPC5
-#define XT_RSR_EXCSAVE5 _TIE_xt_core_RSR_EXCSAVE5
-#define XT_WSR_EXCSAVE5 _TIE_xt_core_WSR_EXCSAVE5
-#define XT_XSR_EXCSAVE5 _TIE_xt_core_XSR_EXCSAVE5
-#define XT_RSR_EPC6 _TIE_xt_core_RSR_EPC6
-#define XT_WSR_EPC6 _TIE_xt_core_WSR_EPC6
-#define XT_XSR_EPC6 _TIE_xt_core_XSR_EPC6
-#define XT_RSR_EXCSAVE6 _TIE_xt_core_RSR_EXCSAVE6
-#define XT_WSR_EXCSAVE6 _TIE_xt_core_WSR_EXCSAVE6
-#define XT_XSR_EXCSAVE6 _TIE_xt_core_XSR_EXCSAVE6
-#define XT_RSR_EPC7 _TIE_xt_core_RSR_EPC7
-#define XT_WSR_EPC7 _TIE_xt_core_WSR_EPC7
-#define XT_XSR_EPC7 _TIE_xt_core_XSR_EPC7
-#define XT_RSR_EXCSAVE7 _TIE_xt_core_RSR_EXCSAVE7
-#define XT_WSR_EXCSAVE7 _TIE_xt_core_WSR_EXCSAVE7
-#define XT_XSR_EXCSAVE7 _TIE_xt_core_XSR_EXCSAVE7
-#define XT_RSR_VECBASE _TIE_xt_core_RSR_VECBASE
-#define XT_WSR_VECBASE _TIE_xt_core_WSR_VECBASE
-#define XT_XSR_VECBASE _TIE_xt_core_XSR_VECBASE
-#define XT_RSR_EPS2 _TIE_xt_core_RSR_EPS2
-#define XT_WSR_EPS2 _TIE_xt_core_WSR_EPS2
-#define XT_XSR_EPS2 _TIE_xt_core_XSR_EPS2
-#define XT_RSR_EPS3 _TIE_xt_core_RSR_EPS3
-#define XT_WSR_EPS3 _TIE_xt_core_WSR_EPS3
-#define XT_XSR_EPS3 _TIE_xt_core_XSR_EPS3
-#define XT_RSR_EPS4 _TIE_xt_core_RSR_EPS4
-#define XT_WSR_EPS4 _TIE_xt_core_WSR_EPS4
-#define XT_XSR_EPS4 _TIE_xt_core_XSR_EPS4
-#define XT_RSR_EPS5 _TIE_xt_core_RSR_EPS5
-#define XT_WSR_EPS5 _TIE_xt_core_WSR_EPS5
-#define XT_XSR_EPS5 _TIE_xt_core_XSR_EPS5
-#define XT_RSR_EPS6 _TIE_xt_core_RSR_EPS6
-#define XT_WSR_EPS6 _TIE_xt_core_WSR_EPS6
-#define XT_XSR_EPS6 _TIE_xt_core_XSR_EPS6
-#define XT_RSR_EPS7 _TIE_xt_core_RSR_EPS7
-#define XT_WSR_EPS7 _TIE_xt_core_WSR_EPS7
-#define XT_XSR_EPS7 _TIE_xt_core_XSR_EPS7
-#define XT_RSR_EXCCAUSE _TIE_xt_core_RSR_EXCCAUSE
-#define XT_WSR_EXCCAUSE _TIE_xt_core_WSR_EXCCAUSE
-#define XT_XSR_EXCCAUSE _TIE_xt_core_XSR_EXCCAUSE
-#define XT_RSR_EXCVADDR _TIE_xt_core_RSR_EXCVADDR
-#define XT_WSR_EXCVADDR _TIE_xt_core_WSR_EXCVADDR
-#define XT_XSR_EXCVADDR _TIE_xt_core_XSR_EXCVADDR
-#define XT_RSR_DEPC _TIE_xt_core_RSR_DEPC
-#define XT_WSR_DEPC _TIE_xt_core_WSR_DEPC
-#define XT_XSR_DEPC _TIE_xt_core_XSR_DEPC
-#define XT_RSR_MISC0 _TIE_xt_core_RSR_MISC0
-#define XT_WSR_MISC0 _TIE_xt_core_WSR_MISC0
-#define XT_XSR_MISC0 _TIE_xt_core_XSR_MISC0
-#define XT_RSR_MISC1 _TIE_xt_core_RSR_MISC1
-#define XT_WSR_MISC1 _TIE_xt_core_WSR_MISC1
-#define XT_XSR_MISC1 _TIE_xt_core_XSR_MISC1
-#define XT_RSR_MISC2 _TIE_xt_core_RSR_MISC2
-#define XT_WSR_MISC2 _TIE_xt_core_WSR_MISC2
-#define XT_XSR_MISC2 _TIE_xt_core_XSR_MISC2
-#define XT_RSR_MISC3 _TIE_xt_core_RSR_MISC3
-#define XT_WSR_MISC3 _TIE_xt_core_WSR_MISC3
-#define XT_XSR_MISC3 _TIE_xt_core_XSR_MISC3
-#define XT_RSR_PRID _TIE_xt_core_RSR_PRID
-
-#ifndef RUR
-#define RUR(NUM) RUR##NUM()
-#endif
-
-#ifndef WUR
-#define WUR(VAL, NUM) WUR##NUM(VAL)
-#endif
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_core_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_debug.h b/components/esp32/include/xtensa/tie/xt_debug.h
deleted file mode 100644 (file)
index 676fd33..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Definitions for the xt_debug TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_debug_HEADER
-#define _XTENSA_xt_debug_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_debug_BREAK(immediate imms, immediate immt);
-extern void _TIE_xt_debug_BREAK_N(immediate imms);
-extern unsigned _TIE_xt_debug_RSR_DBREAKA0(void);
-extern void _TIE_xt_debug_WSR_DBREAKA0(unsigned art);
-extern void _TIE_xt_debug_XSR_DBREAKA0(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_DBREAKC0(void);
-extern void _TIE_xt_debug_WSR_DBREAKC0(unsigned art);
-extern void _TIE_xt_debug_XSR_DBREAKC0(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_DBREAKA1(void);
-extern void _TIE_xt_debug_WSR_DBREAKA1(unsigned art);
-extern void _TIE_xt_debug_XSR_DBREAKA1(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_DBREAKC1(void);
-extern void _TIE_xt_debug_WSR_DBREAKC1(unsigned art);
-extern void _TIE_xt_debug_XSR_DBREAKC1(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_IBREAKA0(void);
-extern void _TIE_xt_debug_WSR_IBREAKA0(unsigned art);
-extern void _TIE_xt_debug_XSR_IBREAKA0(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_IBREAKA1(void);
-extern void _TIE_xt_debug_WSR_IBREAKA1(unsigned art);
-extern void _TIE_xt_debug_XSR_IBREAKA1(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_IBREAKENABLE(void);
-extern void _TIE_xt_debug_WSR_IBREAKENABLE(unsigned art);
-extern void _TIE_xt_debug_XSR_IBREAKENABLE(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_DEBUGCAUSE(void);
-extern void _TIE_xt_debug_WSR_DEBUGCAUSE(unsigned art);
-extern void _TIE_xt_debug_XSR_DEBUGCAUSE(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_ICOUNT(void);
-extern void _TIE_xt_debug_WSR_ICOUNT(unsigned art);
-extern void _TIE_xt_debug_XSR_ICOUNT(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_ICOUNTLEVEL(void);
-extern void _TIE_xt_debug_WSR_ICOUNTLEVEL(unsigned art);
-extern void _TIE_xt_debug_XSR_ICOUNTLEVEL(unsigned art /*inout*/);
-extern unsigned _TIE_xt_debug_RSR_DDR(void);
-extern void _TIE_xt_debug_WSR_DDR(unsigned art);
-extern void _TIE_xt_debug_XSR_DDR(unsigned art /*inout*/);
-extern void _TIE_xt_debug_LDDR32_P(const void * ars /*inout*/);
-extern void _TIE_xt_debug_SDDR32_P(void * ars /*inout*/);
-#define XT_BREAK _TIE_xt_debug_BREAK
-#define XT_BREAK_N _TIE_xt_debug_BREAK_N
-#define XT_RSR_DBREAKA0 _TIE_xt_debug_RSR_DBREAKA0
-#define XT_WSR_DBREAKA0 _TIE_xt_debug_WSR_DBREAKA0
-#define XT_XSR_DBREAKA0 _TIE_xt_debug_XSR_DBREAKA0
-#define XT_RSR_DBREAKC0 _TIE_xt_debug_RSR_DBREAKC0
-#define XT_WSR_DBREAKC0 _TIE_xt_debug_WSR_DBREAKC0
-#define XT_XSR_DBREAKC0 _TIE_xt_debug_XSR_DBREAKC0
-#define XT_RSR_DBREAKA1 _TIE_xt_debug_RSR_DBREAKA1
-#define XT_WSR_DBREAKA1 _TIE_xt_debug_WSR_DBREAKA1
-#define XT_XSR_DBREAKA1 _TIE_xt_debug_XSR_DBREAKA1
-#define XT_RSR_DBREAKC1 _TIE_xt_debug_RSR_DBREAKC1
-#define XT_WSR_DBREAKC1 _TIE_xt_debug_WSR_DBREAKC1
-#define XT_XSR_DBREAKC1 _TIE_xt_debug_XSR_DBREAKC1
-#define XT_RSR_IBREAKA0 _TIE_xt_debug_RSR_IBREAKA0
-#define XT_WSR_IBREAKA0 _TIE_xt_debug_WSR_IBREAKA0
-#define XT_XSR_IBREAKA0 _TIE_xt_debug_XSR_IBREAKA0
-#define XT_RSR_IBREAKA1 _TIE_xt_debug_RSR_IBREAKA1
-#define XT_WSR_IBREAKA1 _TIE_xt_debug_WSR_IBREAKA1
-#define XT_XSR_IBREAKA1 _TIE_xt_debug_XSR_IBREAKA1
-#define XT_RSR_IBREAKENABLE _TIE_xt_debug_RSR_IBREAKENABLE
-#define XT_WSR_IBREAKENABLE _TIE_xt_debug_WSR_IBREAKENABLE
-#define XT_XSR_IBREAKENABLE _TIE_xt_debug_XSR_IBREAKENABLE
-#define XT_RSR_DEBUGCAUSE _TIE_xt_debug_RSR_DEBUGCAUSE
-#define XT_WSR_DEBUGCAUSE _TIE_xt_debug_WSR_DEBUGCAUSE
-#define XT_XSR_DEBUGCAUSE _TIE_xt_debug_XSR_DEBUGCAUSE
-#define XT_RSR_ICOUNT _TIE_xt_debug_RSR_ICOUNT
-#define XT_WSR_ICOUNT _TIE_xt_debug_WSR_ICOUNT
-#define XT_XSR_ICOUNT _TIE_xt_debug_XSR_ICOUNT
-#define XT_RSR_ICOUNTLEVEL _TIE_xt_debug_RSR_ICOUNTLEVEL
-#define XT_WSR_ICOUNTLEVEL _TIE_xt_debug_WSR_ICOUNTLEVEL
-#define XT_XSR_ICOUNTLEVEL _TIE_xt_debug_XSR_ICOUNTLEVEL
-#define XT_RSR_DDR _TIE_xt_debug_RSR_DDR
-#define XT_WSR_DDR _TIE_xt_debug_WSR_DDR
-#define XT_XSR_DDR _TIE_xt_debug_XSR_DDR
-#define XT_LDDR32_P _TIE_xt_debug_LDDR32_P
-#define XT_SDDR32_P _TIE_xt_debug_SDDR32_P
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_debug_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_density.h b/components/esp32/include/xtensa/tie/xt_density.h
deleted file mode 100644 (file)
index da5c51c..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Definitions for the xt_density TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_density_HEADER
-#define _XTENSA_xt_density_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_density_ILL_N(void);
-extern void _TIE_xt_density_NOP_N(void);
-extern int _TIE_xt_density_L32I_N(const int * p, immediate i);
-extern void _TIE_xt_density_S32I_N(int t, int * p, immediate i);
-extern int _TIE_xt_density_ADD_N(int s, int t);
-extern int _TIE_xt_density_ADDI_N(int s, immediate i);
-extern int _TIE_xt_density_MOV_N(int s);
-extern int _TIE_xt_density_MOVI_N(immediate i);
-#define XT_ILL_N _TIE_xt_density_ILL_N
-#define XT_NOP_N _TIE_xt_density_NOP_N
-#define XT_L32I_N _TIE_xt_density_L32I_N
-#define XT_S32I_N _TIE_xt_density_S32I_N
-#define XT_ADD_N _TIE_xt_density_ADD_N
-#define XT_ADDI_N _TIE_xt_density_ADDI_N
-#define XT_MOV_N _TIE_xt_density_MOV_N
-#define XT_MOVI_N _TIE_xt_density_MOVI_N
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_density_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_exceptions.h b/components/esp32/include/xtensa/tie/xt_exceptions.h
deleted file mode 100644 (file)
index 64fb393..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Definitions for the xt_exceptions TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_exceptions_HEADER
-#define _XTENSA_xt_exceptions_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_exceptions_EXCW(void);
-extern void _TIE_xt_exceptions_SYSCALL(void);
-#define XT_EXCW _TIE_xt_exceptions_EXCW
-#define XT_SYSCALL _TIE_xt_exceptions_SYSCALL
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_exceptions_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_externalregisters.h b/components/esp32/include/xtensa/tie/xt_externalregisters.h
deleted file mode 100644 (file)
index 3196527..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Definitions for the xt_externalregisters TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_externalregisters_HEADER
-#define _XTENSA_xt_externalregisters_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern unsigned _TIE_xt_externalregisters_RER(unsigned ars);
-extern void _TIE_xt_externalregisters_WER(unsigned art, unsigned ars);
-#define XT_RER _TIE_xt_externalregisters_RER
-#define XT_WER _TIE_xt_externalregisters_WER
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_externalregisters_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_integerdivide.h b/components/esp32/include/xtensa/tie/xt_integerdivide.h
deleted file mode 100644 (file)
index 9fbe961..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Definitions for the xt_integerdivide TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_integerdivide_HEADER
-#define _XTENSA_xt_integerdivide_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern unsigned _TIE_xt_integerdivide_REMS(unsigned ars, unsigned art);
-extern unsigned _TIE_xt_integerdivide_REMU(unsigned ars, unsigned art);
-extern unsigned _TIE_xt_integerdivide_QUOS(unsigned ars, unsigned art);
-extern unsigned _TIE_xt_integerdivide_QUOU(unsigned ars, unsigned art);
-#define XT_REMS _TIE_xt_integerdivide_REMS
-#define XT_REMU _TIE_xt_integerdivide_REMU
-#define XT_QUOS _TIE_xt_integerdivide_QUOS
-#define XT_QUOU _TIE_xt_integerdivide_QUOU
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_integerdivide_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_interrupt.h b/components/esp32/include/xtensa/tie/xt_interrupt.h
deleted file mode 100644 (file)
index b20c94f..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Definitions for the xt_interrupt TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_interrupt_HEADER
-#define _XTENSA_xt_interrupt_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_interrupt_WAITI(immediate s);
-extern unsigned _TIE_xt_interrupt_RSR_INTERRUPT(void);
-extern void _TIE_xt_interrupt_WSR_INTSET(unsigned art);
-extern void _TIE_xt_interrupt_WSR_INTCLEAR(unsigned art);
-extern unsigned _TIE_xt_interrupt_RSR_INTENABLE(void);
-extern void _TIE_xt_interrupt_WSR_INTENABLE(unsigned art);
-extern void _TIE_xt_interrupt_XSR_INTENABLE(unsigned art /*inout*/);
-#define XT_WAITI _TIE_xt_interrupt_WAITI
-#define XT_RSR_INTERRUPT _TIE_xt_interrupt_RSR_INTERRUPT
-#define XT_WSR_INTSET _TIE_xt_interrupt_WSR_INTSET
-#define XT_WSR_INTCLEAR _TIE_xt_interrupt_WSR_INTCLEAR
-#define XT_RSR_INTENABLE _TIE_xt_interrupt_RSR_INTENABLE
-#define XT_WSR_INTENABLE _TIE_xt_interrupt_WSR_INTENABLE
-#define XT_XSR_INTENABLE _TIE_xt_interrupt_XSR_INTENABLE
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_interrupt_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_ioports.h b/components/esp32/include/xtensa/tie/xt_ioports.h
deleted file mode 100644 (file)
index 0253bea..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Definitions for the xt_ioports TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_ioports_HEADER
-#define _XTENSA_xt_ioports_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern unsigned _TIE_xt_ioports_READ_IMPWIRE(void);
-extern void _TIE_xt_ioports_SETB_EXPSTATE(immediate bitindex);
-extern void _TIE_xt_ioports_CLRB_EXPSTATE(immediate bitindex);
-extern void _TIE_xt_ioports_WRMSK_EXPSTATE(unsigned art, unsigned ars);
-extern unsigned _TIE_xt_ioports_RUR_EXPSTATE(void);
-extern void _TIE_xt_ioports_WUR_EXPSTATE(unsigned v);
-#define READ_IMPWIRE _TIE_xt_ioports_READ_IMPWIRE
-#define SETB_EXPSTATE _TIE_xt_ioports_SETB_EXPSTATE
-#define CLRB_EXPSTATE _TIE_xt_ioports_CLRB_EXPSTATE
-#define WRMSK_EXPSTATE _TIE_xt_ioports_WRMSK_EXPSTATE
-#define RUR_EXPSTATE _TIE_xt_ioports_RUR_EXPSTATE
-#define REXPSTATE _TIE_xt_ioports_RUR_EXPSTATE
-#define RUR230 _TIE_xt_ioports_RUR_EXPSTATE
-#define WUR_EXPSTATE _TIE_xt_ioports_WUR_EXPSTATE
-#define WEXPSTATE _TIE_xt_ioports_WUR_EXPSTATE
-#define WUR230 _TIE_xt_ioports_WUR_EXPSTATE
-
-#ifndef RUR
-#define RUR(NUM) RUR##NUM()
-#endif
-
-#ifndef WUR
-#define WUR(VAL, NUM) WUR##NUM(VAL)
-#endif
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_ioports_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_misc.h b/components/esp32/include/xtensa/tie/xt_misc.h
deleted file mode 100644 (file)
index a0b36f4..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Definitions for the xt_misc TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_misc_HEADER
-#define _XTENSA_xt_misc_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern int _TIE_xt_misc_CLAMPS(int s, immediate i);
-extern int _TIE_xt_misc_MIN(int s, int t);
-extern int _TIE_xt_misc_MAX(int s, int t);
-extern unsigned _TIE_xt_misc_MINU(unsigned s, unsigned t);
-extern unsigned _TIE_xt_misc_MAXU(unsigned s, unsigned t);
-extern int _TIE_xt_misc_NSA(int s);
-extern unsigned _TIE_xt_misc_NSAU(unsigned s);
-extern int _TIE_xt_misc_SEXT(int s, immediate i);
-#define XT_CLAMPS _TIE_xt_misc_CLAMPS
-#define XT_MIN _TIE_xt_misc_MIN
-#define XT_MAX _TIE_xt_misc_MAX
-#define XT_MINU _TIE_xt_misc_MINU
-#define XT_MAXU _TIE_xt_misc_MAXU
-#define XT_NSA _TIE_xt_misc_NSA
-#define XT_NSAU _TIE_xt_misc_NSAU
-#define XT_SEXT _TIE_xt_misc_SEXT
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_misc_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_mmu.h b/components/esp32/include/xtensa/tie/xt_mmu.h
deleted file mode 100644 (file)
index ce786c0..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Definitions for the xt_mmu TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_mmu_HEADER
-#define _XTENSA_xt_mmu_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_mmu_IDTLB(unsigned ars);
-extern unsigned _TIE_xt_mmu_RDTLB1(unsigned ars);
-extern unsigned _TIE_xt_mmu_RDTLB0(unsigned ars);
-extern unsigned _TIE_xt_mmu_PDTLB(unsigned ars);
-extern void _TIE_xt_mmu_WDTLB(unsigned art, unsigned ars);
-extern void _TIE_xt_mmu_IITLB(unsigned ars);
-extern unsigned _TIE_xt_mmu_RITLB1(unsigned ars);
-extern unsigned _TIE_xt_mmu_RITLB0(unsigned ars);
-extern unsigned _TIE_xt_mmu_PITLB(unsigned ars);
-extern void _TIE_xt_mmu_WITLB(unsigned art, unsigned ars);
-#define XT_IDTLB _TIE_xt_mmu_IDTLB
-#define XT_RDTLB1 _TIE_xt_mmu_RDTLB1
-#define XT_RDTLB0 _TIE_xt_mmu_RDTLB0
-#define XT_PDTLB _TIE_xt_mmu_PDTLB
-#define XT_WDTLB _TIE_xt_mmu_WDTLB
-#define XT_IITLB _TIE_xt_mmu_IITLB
-#define XT_RITLB1 _TIE_xt_mmu_RITLB1
-#define XT_RITLB0 _TIE_xt_mmu_RITLB0
-#define XT_PITLB _TIE_xt_mmu_PITLB
-#define XT_WITLB _TIE_xt_mmu_WITLB
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_mmu_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_mul.h b/components/esp32/include/xtensa/tie/xt_mul.h
deleted file mode 100644 (file)
index e208620..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Definitions for the xt_mul TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_mul_HEADER
-#define _XTENSA_xt_mul_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern int _TIE_xt_mul_MUL16S(short s, short t);
-extern unsigned _TIE_xt_mul_MUL16U(unsigned short s, unsigned short t);
-extern int _TIE_xt_mul_MULL(int s, int t);
-extern unsigned _TIE_xt_mul_MULUH(unsigned s, unsigned t);
-extern int _TIE_xt_mul_MULSH(int s, int t);
-#define XT_MUL16S _TIE_xt_mul_MUL16S
-#define XT_MUL16U _TIE_xt_mul_MUL16U
-#define XT_MULL _TIE_xt_mul_MULL
-#define XT_MULUH _TIE_xt_mul_MULUH
-#define XT_MULSH _TIE_xt_mul_MULSH
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_mul_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_regwin.h b/components/esp32/include/xtensa/tie/xt_regwin.h
deleted file mode 100644 (file)
index 7bce471..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Definitions for the xt_regwin TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_regwin_HEADER
-#define _XTENSA_xt_regwin_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_regwin_ENTRY(unsigned ars /*inout*/, immediate uimm12x8);
-extern void _TIE_xt_regwin_ROTW(immediate simm4);
-extern int _TIE_xt_regwin_MOVSP(int s);
-extern int _TIE_xt_regwin_L32E(const int * s, immediate o);
-extern void _TIE_xt_regwin_S32E(int t, int * s, immediate o);
-extern unsigned _TIE_xt_regwin_RSR_WINDOWBASE(void);
-extern void _TIE_xt_regwin_WSR_WINDOWBASE(unsigned t);
-extern void _TIE_xt_regwin_XSR_WINDOWBASE(unsigned t /*inout*/);
-extern unsigned _TIE_xt_regwin_RSR_WINDOWSTART(void);
-extern void _TIE_xt_regwin_WSR_WINDOWSTART(unsigned t);
-extern void _TIE_xt_regwin_XSR_WINDOWSTART(unsigned t /*inout*/);
-#define XT_ENTRY _TIE_xt_regwin_ENTRY
-#define XT_ROTW _TIE_xt_regwin_ROTW
-#define XT_MOVSP _TIE_xt_regwin_MOVSP
-#define XT_L32E _TIE_xt_regwin_L32E
-#define XT_S32E _TIE_xt_regwin_S32E
-#define XT_RSR_WINDOWBASE _TIE_xt_regwin_RSR_WINDOWBASE
-#define XT_WSR_WINDOWBASE _TIE_xt_regwin_WSR_WINDOWBASE
-#define XT_XSR_WINDOWBASE _TIE_xt_regwin_XSR_WINDOWBASE
-#define XT_RSR_WINDOWSTART _TIE_xt_regwin_RSR_WINDOWSTART
-#define XT_WSR_WINDOWSTART _TIE_xt_regwin_WSR_WINDOWSTART
-#define XT_XSR_WINDOWSTART _TIE_xt_regwin_XSR_WINDOWSTART
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_regwin_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_scmpr.h b/components/esp32/include/xtensa/tie/xt_scmpr.h
deleted file mode 100644 (file)
index 337c776..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_scmpr_h_HEADER
-#define _XTENSA_xt_scmpr_h_HEADER
-
-
-/* Header includes start */
-
-
-/* Header includes end */
-
-#endif /* !_XTENSA_xt_scmpr_h_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_sync.h b/components/esp32/include/xtensa/tie/xt_sync.h
deleted file mode 100644 (file)
index 9323dfe..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Definitions for the xt_sync TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_sync_HEADER
-#define _XTENSA_xt_sync_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern unsigned _TIE_xt_sync_RSR_SCOMPARE1(void);
-extern void _TIE_xt_sync_WSR_SCOMPARE1(unsigned art);
-extern void _TIE_xt_sync_XSR_SCOMPARE1(unsigned art /*inout*/);
-extern unsigned _TIE_xt_sync_RSR_ATOMCTL(void);
-extern void _TIE_xt_sync_WSR_ATOMCTL(unsigned art);
-extern void _TIE_xt_sync_XSR_ATOMCTL(unsigned art /*inout*/);
-extern unsigned _TIE_xt_sync_L32AI(const unsigned * p, immediate o);
-extern void _TIE_xt_sync_S32RI(unsigned c, unsigned * p, immediate o);
-extern void _TIE_xt_sync_S32C1I(unsigned c /*inout*/, const unsigned * p, immediate o);
-#define XT_RSR_SCOMPARE1 _TIE_xt_sync_RSR_SCOMPARE1
-#define XT_WSR_SCOMPARE1 _TIE_xt_sync_WSR_SCOMPARE1
-#define XT_XSR_SCOMPARE1 _TIE_xt_sync_XSR_SCOMPARE1
-#define XT_RSR_ATOMCTL _TIE_xt_sync_RSR_ATOMCTL
-#define XT_WSR_ATOMCTL _TIE_xt_sync_WSR_ATOMCTL
-#define XT_XSR_ATOMCTL _TIE_xt_sync_XSR_ATOMCTL
-#define XT_L32AI _TIE_xt_sync_L32AI
-#define XT_S32RI _TIE_xt_sync_S32RI
-#define XT_S32C1I _TIE_xt_sync_S32C1I
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_sync_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_timer.h b/components/esp32/include/xtensa/tie/xt_timer.h
deleted file mode 100644 (file)
index 64db45c..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Definitions for the xt_timer TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_timer_HEADER
-#define _XTENSA_xt_timer_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern unsigned _TIE_xt_timer_RSR_CCOUNT(void);
-extern void _TIE_xt_timer_WSR_CCOUNT(unsigned art);
-extern void _TIE_xt_timer_XSR_CCOUNT(unsigned art /*inout*/);
-extern unsigned _TIE_xt_timer_RSR_CCOMPARE0(void);
-extern void _TIE_xt_timer_WSR_CCOMPARE0(unsigned art);
-extern void _TIE_xt_timer_XSR_CCOMPARE0(unsigned art /*inout*/);
-extern unsigned _TIE_xt_timer_RSR_CCOMPARE1(void);
-extern void _TIE_xt_timer_WSR_CCOMPARE1(unsigned art);
-extern void _TIE_xt_timer_XSR_CCOMPARE1(unsigned art /*inout*/);
-extern unsigned _TIE_xt_timer_RSR_CCOMPARE2(void);
-extern void _TIE_xt_timer_WSR_CCOMPARE2(unsigned art);
-extern void _TIE_xt_timer_XSR_CCOMPARE2(unsigned art /*inout*/);
-#define XT_RSR_CCOUNT _TIE_xt_timer_RSR_CCOUNT
-#define XT_WSR_CCOUNT _TIE_xt_timer_WSR_CCOUNT
-#define XT_XSR_CCOUNT _TIE_xt_timer_XSR_CCOUNT
-#define XT_RSR_CCOMPARE0 _TIE_xt_timer_RSR_CCOMPARE0
-#define XT_WSR_CCOMPARE0 _TIE_xt_timer_WSR_CCOMPARE0
-#define XT_XSR_CCOMPARE0 _TIE_xt_timer_XSR_CCOMPARE0
-#define XT_RSR_CCOMPARE1 _TIE_xt_timer_RSR_CCOMPARE1
-#define XT_WSR_CCOMPARE1 _TIE_xt_timer_WSR_CCOMPARE1
-#define XT_XSR_CCOMPARE1 _TIE_xt_timer_XSR_CCOMPARE1
-#define XT_RSR_CCOMPARE2 _TIE_xt_timer_RSR_CCOMPARE2
-#define XT_WSR_CCOMPARE2 _TIE_xt_timer_WSR_CCOMPARE2
-#define XT_XSR_CCOMPARE2 _TIE_xt_timer_XSR_CCOMPARE2
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_timer_HEADER */
diff --git a/components/esp32/include/xtensa/tie/xt_trace.h b/components/esp32/include/xtensa/tie/xt_trace.h
deleted file mode 100644 (file)
index 8d8d07f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Definitions for the xt_trace TIE package */
-
-/*
- * Customer ID=11657; Build=0x5fe96; Copyright (c) 2004-2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-/* Do not modify. This is automatically generated.*/
-
-#ifndef _XTENSA_xt_trace_HEADER
-#define _XTENSA_xt_trace_HEADER
-
-#ifdef __XTENSA__
-#ifdef __XCC__
-
-#include <xtensa/tie/xt_core.h>
-
-/*
- * The following prototypes describe intrinsic functions
- * corresponding to TIE instructions.  Some TIE instructions
- * may produce multiple results (designated as "out" operands
- * in the iclass section) or may have operands used as both
- * inputs and outputs (designated as "inout").  However, the C
- * and C++ languages do not provide syntax that can express
- * the in/out/inout constraints of TIE intrinsics.
- * Nevertheless, the compiler understands these constraints
- * and will check that the intrinsic functions are used
- * correctly.  To improve the readability of these prototypes,
- * the "out" and "inout" parameters are marked accordingly
- * with comments.
- */
-
-extern void _TIE_xt_trace_WSR_MMID(unsigned art);
-#define XT_WSR_MMID _TIE_xt_trace_WSR_MMID
-
-#endif /* __XCC__ */
-
-#endif /* __XTENSA__ */
-
-#endif /* !_XTENSA_xt_trace_HEADER */
diff --git a/components/esp32/include/xtensa/trax-api.h b/components/esp32/include/xtensa/trax-api.h
deleted file mode 100644 (file)
index aa15843..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Misc TRAX API function definitions.
-
-   Copyright (c) 2007-2012 Tensilica Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   "Software"), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#ifndef _TRAX_API_H_
-#define _TRAX_API_H_
-
-#include <xtensa-isa.h>
-#include <xtensa-params.h>
-#include "tpack.h"
-#include "traxreg.h"
-
-#include "xdm-regs.h"
-
-/*  Flags for trax_stop():  */
-#define TRAX_STOP_HALT 0x0001  /* halt immediately, don't wait for post-stop-trigger capture */
-#define TRAX_STOP_QUIET        0x0002  /* don't display informative messages */
-
-
-/*
- *  Describes a TRAX channel (based on tpack).
- */
-typedef struct {
-    tpack_channel      chan;           /* channel structure header */
-    /*  Per TRAX unit information:  */
-    int                        trax_version;   /* TRAX_ID_VER(id), one of TRAX_VER_xxx macros */
-    unsigned long      trax_tram_size; /* size of trace RAM in bytes */
-    int                        trax_erratum10; /* set if TRAX 1.0 erratum workarounds needed */
-    int                        trax_erratum20; /* set if TRAX 2.0 erratum workaround needed (PR 22161)*/
-    int                        trax_erratum20_size;
-    int                        trax_has_busy;  /* has trace-busy feature */
-    int                        trax_has_atb;   /* has ATB feature */
-    /*FIXME: add various features:  coresight regs (don't call it that), APB, ATB, TRAM, ... */
-} trax_channel;
-
-
-/*  Prototypes:  */
-
-/*  TRAX Protocol API:  */
-extern int  trax_read_register(tpack_channel *tchan, int regno, unsigned *value);
-extern int  trax_write_register(tpack_channel *tchan, int regno, unsigned value);
-extern int  trax_read_memory(tpack_channel *tchan, int address, int size, unsigned char *pdata);
-extern int  trax_fill_memory(tpack_channel *tchan, int address, int size, tpack_u32 pattern);
-extern int  trax_enumerate_devices(tpack_channel *tchan, int * buf, int * size);
-
-/*  TRAX Network API:  */
-extern unsigned long  trax_ram_size(tpack_channel *traxchan);
-extern unsigned long  trax_ram_size_addr(tpack_channel *traxchan);
-extern int  trax_create_tracefile(tpack_channel *traxchan, int size, unsigned char * data,
-                               char *filename, int hflags, const char *toolver);
-extern int  trax_memaccess_safe(tpack_channel *traxchan, const char *what);
-extern int  trax_start(tpack_channel *traxchan, int flags);
-extern int  trax_stop(tpack_channel *traxchan, int flags);
-extern int  trax_halt(tpack_channel *traxchan, int flags);
-extern int  trax_save(tpack_channel *traxchan, char *filename, int flags, const char *toolver, int erratum);
-
-/*  TRAX Misc API (no network dependencies):  */
-int trax_fixed_hw(unsigned * regs);
-extern int  trax_display_id(unsigned id, const char *prefix);
-extern int  trax_display_summary(unsigned id,
-                                unsigned status, 
-                                unsigned control, 
-                                unsigned address, 
-                                unsigned delay, 
-                                unsigned trigger, 
-                                unsigned match, 
-                                unsigned startaddr,
-                                unsigned endaddr,
-                                const char *prefix);
-
-/*  Other:  */
-
-#endif /* _TRAX_API_H_ */
-
diff --git a/components/esp32/include/xtensa/trax-core-config.h b/components/esp32/include/xtensa/trax-core-config.h
deleted file mode 100644 (file)
index 42a0333..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/* Definitions for Xtensa processor config info needed for TRAX.
-
-   Copyright (c) 2005-2011 Tensilica Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   "Software"), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-#ifndef TRAX_CORE_CONFIG_H
-#define TRAX_CORE_CONFIG_H
-
-#include "xtensa-params.h"
-
-/*
- *  Vector Enumerations.
- */
-
-/*  These must match the LX2.0 and later traceport spec:  */
-#define VEC_NO_VECTOR  0
-#define VEC_FIRST      VEC_RESET       /* first valid vector */
-#define VEC_RESET      1
-#define VEC_DEBUG      2
-#define VEC_NMI                3
-#define VEC_USER       4
-#define VEC_KERNEL     5
-#define VEC_DOUBLE     6
-#define VEC_MEMERR     7
-#define VEC_RESERVED8  8
-#define VEC_RESERVED9  9
-#define VEC_WINO4      10
-#define VEC_WINU4      11
-#define VEC_WINO8      12
-#define VEC_WINU8      13
-#define VEC_WINO12     14
-#define VEC_WINU12     15
-#define VEC_INTLEVEL2  16
-#define VEC_INTLEVEL3  17
-#define VEC_INTLEVEL4  18
-#define VEC_INTLEVEL5  19
-#define VEC_INTLEVEL6  20
-/*  These are internal, i.e. don't appear like this on traceport:  */
-#define VEC_DEBUG_OCD  21
-#define VEC_UNKNOWN    22
-/* Enumerations 23 through 31 are also reserved, but putting */
-/* placeholders here seems wasteful and unnecessary. */
-#define VEC_COUNT      23
-
-/*  Other branch (change-of-PC-flow) type encodings;
- *  if PC changes due to an exception or interrupt vector,
- *  one of the VEC_* values above is used, otherwise
- *  (or if it's unknown whether it's due to an exception/interrupt)
- *  one of the following is used:  */
-
-#define BRANCH_IS_VEC(n)       ((n) < VEC_COUNT)       /* is known to be except/interrupt? */
-#define BRANCH_OR_VEC          24      /* unknown type of branch (branch/exception/interrupt/etc) */
-#define BRANCH_UNKNOWN         25      /* unknown type of branch (anything but except/interrupt) */
-#define BRANCH_UNKNOWN_ERR     26      /* like BRANCH_UNKNOWN with known error (non-branch instr) */
-#define BRANCH_LOOPBACK                28      /* zero-overhead loopback (from LEND to LBEG) */
-#define BRANCH_CONDTAKEN       29      /* conditional branch taken (or LOOP{NEZ,GTZ} loop skip) */
-#define BRANCH_JUMP            30      /* jump (unconditional branch, i.e. J or JX) */
-#define BRANCH_IS_CALL(n)      (((n) & ~3) == 32)      /* is a function call? */
-#define BRANCH_CALL0           32      /* non-windowed function call (CALL0, CALLX0) */
-#define BRANCH_CALL4           33      /* windowed function call (CALL4, CALLX4) */
-#define BRANCH_CALL8           34      /* windowed function call (CALL8, CALLX8) */
-#define BRANCH_CALL12          35      /* windowed function call (CALL12, CALLX12) */
-#define BRANCH_IS_RETURN(n)    ((n) >= 36)             /* is any kind of return? */
-#define BRANCH_IS_CALLRETURN(n)        (((n) & ~1) == 36)      /* is a function return? */
-#define BRANCH_RET             36      /* non-windowed function return (RET or RET.N) */
-#define BRANCH_RETW            37      /* windowed function return (RETW or RETW.N) */
-#define BRANCH_IS_EIRETURN(n)  ((n) >= 38)             /* is an except/inter. return? */
-#define BRANCH_RFE             38      /* RFE or RFUE */
-#define BRANCH_RFDE            39      /* RFDE */
-#define BRANCH_RFWO            40      /* RFWO */
-#define BRANCH_RFWU            41      /* RFWU */
-#define BRANCH_RFI_2           42      /* RFI 2 */
-#define BRANCH_RFI_3           43      /* RFI 3 */
-#define BRANCH_RFI_4           44      /* RFI 4 */
-#define BRANCH_RFI_5           45      /* RFI 5 */
-#define BRANCH_RFI_6           46      /* RFI 6 */
-#define BRANCH_RFI_NMI         47      /* RFI NMILEVEL */
-#define BRANCH_RFI_DEBUG       48      /* RFI DEBUGLEVEL */
-#define BRANCH_RFME            49      /* RFME */
-#define BRANCH_COUNT           50      /* (number of defined BRANCH_xxx values) */
-
-
-
-typedef struct {
-  unsigned     vaddr;
-  unsigned     vaddr2;                 /* for static vectors only (reloc vectors option) */
-  int          is_configured;
-} trax_vector_t;
-
-
-/*
- *  This structure describes those portion of a Tensilica processor's
- *  configuration that are useful for trace.
- */
-typedef struct {
-  char **      isa_dlls;
-  char *       core_name;              /* (XPG core name, not necessarily same as XTENSA_CORE) */
-  int          big_endian;             /* 0 = little-endian, 1 = big-endian */
-  int          has_loops;              /* 1 = zero overhead loops configured */
-  int          has_autorefill;         /* 1 = TLB autorefill (MMU) configured */
-  unsigned     max_instr_size;         /* in bytes (eg. 3, 4, 8, ...) */
-  unsigned     int_level_max;          /* number of interrupt levels configured (without NMI) */
-  int          debug_level;            /* debug intlevel, 0 if debug not configured */
-  int          nmi_level;              /* NMI intlevel, 0 if NMI not configured */
-  unsigned     targethw_min;           /* min. targeted hardware version (XTENSA_HWVERSION_<rel>) */
-  unsigned     targethw_max;           /* max. targeted hardware version (XTENSA_HWVERSION_<rel>) */
-  int          reloc_vectors;          /* 0 = fixed vectors, 1 = relocatable vectors */
-  int          statvec_select;         /* 0 = stat vec base 0, 1 = stat vec base 1 (SW default) */
-  int          vecbase_align;          /* number of bits to align VECBASE (32 - bits in VECBASE) */
-  unsigned     statvec_base0;          /* static vector base 0 */
-  unsigned     statvec_base1;          /* static vector base 1 */
-  unsigned     vecbase_reset;          /* reset value of VECBASE */
-  trax_vector_t        vectors[VEC_COUNT];     /* all vectors... */
-} trax_core_config_t;
-
-
-/*  Globals:  */
-//extern const char * const trax_vector_short_names[/*VEC_COUNT*/];    // nobody uses this one
-extern const char * const trax_vector_names[/*VEC_COUNT*/];
-
-/*  Prototypes:  */
-extern int  trax_read_params (trax_core_config_t *c, xtensa_params p);
-extern int  trax_vector_from_address(trax_core_config_t *config, unsigned long vaddr, unsigned long *vecbases);
-
-#endif  /* TRAX_CORE_CONFIG_H */
-
diff --git a/components/esp32/include/xtensa/trax-proto.h b/components/esp32/include/xtensa/trax-proto.h
deleted file mode 100644 (file)
index 41d5c9f..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/* This file contains functions that are hidden from the user. These are
- * protocol specific functions used to read and write TRAX registers
- * and the trace memory
- */
-
-/*
- * Copyright (c) 2012-2013 Tensilica Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-#ifndef _TRAX_PROTO_H
-#define _TRAX_PROTO_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Function to read register
- * 
- * regno       : The register number to be read (not ERI addressed)
- * data                : Location where the read value is kept
- * 
- * returns     : 0 if successful, -1 if unsuccessful
- */ 
-int trax_read_register_eri (int regno, unsigned *data);
-
-/* Function to write a value into a register
- * 
- * regno       : The register number to be written (not ERI addressed)
- * value       : The value to be written at that register location
- * 
- * returns     : 0 if successful, -1 if unsuccessful
- */ 
-int trax_write_register_eri (int regno, unsigned value);
-
-/* Function to read memory
- * 
- * address     : Address of the TraceRAM memory, each location has a word
- * len         : Amount of memory in bytes, to be read
- * data                : buffer in which the read memory is stored
- * final_address: Next address to be read in the following call to this 
- *               function (trace save mechanism)
- *
- * returns     : 0 if successful, -1 if unsuccessful
- */ 
-int trax_read_memory_eri (unsigned address, int len, int *data, 
-                         unsigned *final_address);
-
-/* Function to write a value to the memory address
- * 
- * address     : Address of the TraceRAM memory
- * value       : The value to be written inside that location
- * 
- * returns     : 0 if successful, -1 if unsuccessful
- */ 
-int trax_write_memory_eri (int address, unsigned value);
-
-/* Function to write to a  subfield of the register. 
- * Called by set and show parameter functions.
- * 
- * regno       : Register number
- * regmask     : Mask in order to toggle appropriate bits
- * value       : Value to be written in the masked location
- * 
- * returns     : 0 if successful, -1 if unsuccessful
- */
-int trax_write_register_field_eri (int regno, unsigned regmask, 
-                                  unsigned value);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/components/esp32/include/xtensa/trax-util.h b/components/esp32/include/xtensa/trax-util.h
deleted file mode 100644 (file)
index 123ac36..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/* This file contains utility functions that can be used for polling TRAX
- * or executing higher level save functionality
- * It assumes that print subroutines and file I/O routines are available
- * on the system
- */
-
-/*
- * Copyright (c) 2012-2013 Tensilica Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _TRAX_UTIL_H
-#define _TRAX_UTIL_H
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* User can use this function if he wants to generate a tracefile output.
- * Internally it calls trax_get_trace in a loop until it realizes that
- * the entire trace has been read.
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * filename    : user specified output trace file name. If the file does not
- *               exist, it would create the new file, else would append to it
- *
- * returns      : 0 if successful, -1 if unsuccessful
- */
-int trax_save (trax_context *context, char *filename);
-
-/* Displays a brief machine readable status.
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * returns      : 0 if successful, -1 if unsuccessful
- */
-int trax_poll (trax_context *context);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/components/esp32/include/xtensa/trax.h b/components/esp32/include/xtensa/trax.h
deleted file mode 100644 (file)
index 47049c5..0000000
+++ /dev/null
@@ -1,409 +0,0 @@
-/* Header file for TRAX control Library */
-
-/*
- * Copyright (c) 2012-2013 Tensilica Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _TRAX_H
-#define _TRAX_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define TRAX_STOP_HALT                 0x0001
-#define TRAX_STOP_QUIET        0x0002
-
-/* Flag values to indicate if the user wanted to reverse the pcstop
- * parameters */
-#define        TRAX_PCSTOP_REVERSE     0x0001
-#define TRAX_PCSTOP_NO_REVERSE 0x0000
-
-/* Indicating whether postsize should be in terms of bytes, instructions
- * or percentage of trace size captured */
-#define        TRAX_POSTSIZE_BYTES     0x0000
-#define        TRAX_POSTSIZE_INSTR     0x0001
-#define        TRAX_POSTSIZE_PERCENT   0x0002
-
-/* Size of the header inside the trace file */
-#define        TRAX_HEADER_SIZE        256
-
-/* Minimum size between start and end addresses */
-#define        TRAX_MIN_TRACEMEM       64
-
-/* For basic debugging */
-#define DEBUG 0
-
-#include <stdbool.h>
-
-#define ffs(i) __builtin_ffs(i)
-
-/* Data structures */
-
-/* Represents the context of the TRAX unit and the current TRAX session.
- * To be used by set and show function calls to set and show appropriate
- * parameters of appropriate TRAX unit.
- */ 
-
-typedef struct {
-  int           trax_version;          /* TRAX PC version information */
-  unsigned long trax_tram_size;                /* If trace RAM is present,size of it */
-  int          hflags;                 /* Flags that can be used to debug, 
-                                          print info, etc. */
-  int          address_read_last;      /* During saving of the trace, this
-                                          indicates the address from which
-                                          the current trace reading must
-                                          resume */
-  unsigned long        bytes_read;             /* bytes read uptil now */
-  unsigned long total_memlen;          /* Total bytes to be read based on the 
-                                          trace collected in the trace RAM */
-  bool         get_trace_started;      /* indicates that the first chunk of
-                                          bytes (which include the header) has
-                                          been read */
-} trax_context;
-
-
-/* -----------------------TRAX Initialization ------------------------------*/
-
-/* Initializing the trax context. Reads registers and sets values for version,
- * trace RAM size, total memory length, etc. Most of the other values are
- * initialized to their default case.
- * 
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- *
- * returns     : 0 if successful, -1 if unsuccessful, -2 if ram_size if 
- *               incorrect
- */
-int trax_context_init_eri (trax_context *context);
-
-/* -----------------Starting/Stopping TRAX session -------------------------*/
-
-/* Start tracing with current parameter setting. If tracing is already in 
- * progress, an error is reported. Otherwise, tracing starts and any unsaved 
- * contents of the TraceRAM is discarded
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * returns      : 0 if successful, 1 if trace is already active,
- *               -1 if unsuccessful
- */
-int trax_start (trax_context *context);
-
-/* This command initiates a stop trigger or halts a trace session based of the
- * value of the flag parameter passed. In case stop trigger is initiated, any
- * selected post-stop-trigger capture proceeds normally.
- * If trace capture was not in progress, or a stop was already triggered, the 
- * return value indicates appropriately.
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * flags       : To differentiate between stopping trace without any 
- *               post-size-trigger capture (trax_halt) or with that.
- *               A zero value would stop the trace based on trigger and a 
- *               value of one would halt it
- *
- * returns      : 0 if successful, 1 if already stopped, -1 if unsuccessful
- */
-int trax_stop_halt (trax_context *context, int flags);
-
-/* Resets the TRAX parameters to their default values which would internally
- * involve resetting the TRAX registers. To invoke another trace session or
- * reset the current tracing mechanism, this function needs to be called as
- * it resets parameters of the context that deal with tracing information
- * 
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- *
- * returns      : 0 if successful, -1 if unsuccessful
- */
-int trax_reset (trax_context *context);
-
-/* ---------------Set/Get several TRAX parameters --------------------------*/
-
-/* Sets the start address and end address (word aligned) of the trace in the 
- * TraceRAM. Care must be taken to ensure that the difference between the
- * start and the end addresses is atleast TRAX_MIN_TRACEMEM bytes. If not, 
- * the values are reset to default, which is 0 for startaddr and 
- * traceRAM_words -1 for endaddr
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * startaddr   : value to which the start address must be set. Can be 
- *               any value between 0 - (traceRAM_words - 1)
- * endaddr     : value to which the end address must be set. Can be any value
- *               between 0 - (traceRAM_words - 1)
- *
- * returns      : 0 if successful, -1 if unsuccessful, -2 if the difference
- *               between the start and end addresses is less than 
- *               TRAX_MIN_TRACEMEM bytes or if they are passed incorrect 
- *               values, -3 if memory shared option is not configured, in
- *               which case, start and end addresses are set to default
- *               values instead of those passed by the user
- */
-int trax_set_ram_boundaries (trax_context *context, unsigned startaddr, 
-                               unsigned endaddr);
-
-/* Shows the start address and end address(word aligned) of the trace in the 
- * TraceRAM. If incorrect, the startaddress and the endaddress values are
- * set to default, i.e. 0 for startaddr and traceRAM_words - 1 for endaddr
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * startaddr   : pointer to value which will contain the start address
- * endaddr     : pointer to value which will contain the end address
- * 
- * returns      : 0 if successful, -1 if unsuccessful
- *
- */
-int trax_get_ram_boundaries (trax_context *context, unsigned *startaddr,
-                               unsigned *endaddr);
-
-/* Selects stop trigger via cross-trigger input
- * 
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * value       : 0 = off (reset value), 1 = on
- *
- * returns      : 0 if successful, -1 if unsuccessful
- */
-int trax_set_ctistop (trax_context *context, unsigned value);
-
-/* Shows if stop-trigger via cross-trigger input is off or on 
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * returns      : 0 if off, 1 if on, -1 if unsuccessful
- */
-int trax_get_ctistop (trax_context *context);
-
-/* Selects stop trigger via processor-trigger input
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * value       : 0 = off (reset value), 1 = on
- *
- * returns      : 0 if successful, -1 if unsuccessful
- */
-int trax_set_ptistop (trax_context *context, unsigned value);
-
-/* Shows if stop trigger visa processor-trigger input is off or on
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * returns     : 0 if off, 1 if on, -1 if unsuccessful
- */
-int trax_get_ptistop (trax_context *context);
-
-/* Reports cross trigger output state
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * returns      : 0 if CTO bit is reset, 1 if CTO bit is set 
- */
-int trax_get_cto (trax_context *context);
-
-/* Reports processor trigger output state
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * returns      : 0 if PTO bit is reset, 1 if PTO bit is set
- */
-int trax_get_pto (trax_context *context);
-
-/* Selects condition that asserts cross trigger output
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * option      : 0 = off(reset value)/1 = ontrig/2 = onhalt
- *
- * returns      : 0 if successful, -1 if unsuccessful
- */
-int trax_set_ctowhen (trax_context *context, int option);
-
-/* Shows condition that asserted cross trigger output. It can be
- * any of: ontrig or onhalt or even off
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- *
- * returns      : 0 if off, 1 if ontrig, 2 if onhalt, -1 if unsuccessful
- */
-int trax_get_ctowhen (trax_context *context);
-
-/* Selects condition that asserts processor trigger output
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * option      : 0 = off(reset value)/1 = ontrig/2 = onhalt
- *
- * returns      : 0 if successful, -1 if unsuccessful
- */
-int trax_set_ptowhen (trax_context *context, int option);
-
-
-/* Shows condition that asserted processor trigger output. It can be
- * any of: ontrig or onhalt or even off
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * returns      : 0 if off, 1 if ontrig, 2 if onhalt, -1 if unsuccessful
- */
-int trax_get_ptowhen (trax_context *context);
-
-/* Selects the trace synchronization message period.
- * If ATEN enabled, we cannot allow syncper to be off, set it to reset value. 
- * Also, if no trace RAM, and ATEN enabled, set syncper to be reset value
- * i.e. 256. A value of 1 i.e. on indicates that internally the message
- * frequency is set to an optimal value. This option should be preferred
- * if the user is not sure what message frequency option to set for the
- * trace session.
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * option      : 0 = off, 1 = on, -1 = auto, 8, 16, 32, 64, 128, 
- *               256 (reset value)
- *
- * returns      : 0 if successful, -1 if unsuccessful, -2 if incorrect
- *               arguments
- */
-int trax_set_syncper (trax_context *context, int option);
-
-/* Shows trace synchronization message period. Can be one of:
- * off, on, auto, 8, 16, 32, 64, 128, 256 (reset value)
- *
- * context     : pointer to structure which contains information about the
- *               current TRAX session
- * returns      : value of sync period, 0 if off, -1 if unsuccessful
- */ 
-int trax_get_syncper (trax_context *context);
-
-/* Selects stop trigger via PC match. Specifies the address or
- * address range to match against program counter. Trace stops when the
- * processor executes an instruction matching the specified address
- * or range. 
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * index       : indicates the number of stop trigger (currently there is
- *               only one i.e. index = 0)
- * startaddress        : start range of the address at which the stop trigger 
- *               should be activated
- * enaddress   : end range of the address at which the stop trigger should
- *               be activated
- * flags       : If non-zero, this inverts the range. i.e. trace stops
- *               when the processor executes an instruction that does not
- *               match the specified address or range
- *
- * returns      : 0 if successful, -1 if unsuccessful, -2 if incorrect
- *               arguments (unaligned)
- *
- * Note                : For the current version of TRAX library, the endaddress and
- *               startaddress can differ by at most 31 bytes and the total
- *               range i.e. (endaddress - startaddress + 1) has to be a power
- *               of two
- */
-int trax_set_pcstop (trax_context *context, int index, unsigned long startaddress, 
-                     unsigned long endaddress, int flags);
-
-/* Shows the stop trigger via PC match
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * index       : container of information about the number of stop triggers
- * startaddress        : container of start range of stop trigger
- * endaddress  : container of end range of stop trigger
- * flags       : container of information whcih indicates whether the
- *               pc stop range is inverted or not.
- *
- * returns      : 0 if successful, -1 if unsuccessful
- */
-int trax_get_pcstop (trax_context *context, int *index,
-                          unsigned long *startaddress,
-                          unsigned long *endaddress, int *flags);
-
-/* This function is used to set the amount of trace to be captured past
- * the stop trigger.
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * count_unit  : contains the count of units (instructions or bytes) to be 
- *               captured post trigger. If 0, it implies that this is off
- * unit                : unit of measuring the count. 0 is bytes, 1 is instructions
- *               2 is percentage of trace
- *
- * returns      : 0 if successful, -1 if unsuccessful, -2 if incorrect
- *               arguments
- *
- */
-int trax_set_postsize (trax_context *context, int count_unit, int unit);
-
-/* This function shows the amount of TraceRAM in terms of the number of 
- * instructions or bytes, captured post the stop trigger
- *
- * context     : pointer to structure which contains information about the 
- *               current TRAX session
- * count_unit  : will contain the count of units(instructions or bytes) post 
- *               trigger
- * unit                : will contain information about the events that are counted
- *               0 implies that the traceRAM words consumed are counted and
- *               1 implies that the target processor instructions executed and
- *               excpetions/interrupts taken are counted
- *
- * returns      : 0 if postsize was got successfully, -1 if unsuccessful
- */
-int trax_get_postsize (trax_context *context, int *count_unit, int *unit);
-
-/* -------------------------- TRAX save routines ---------------------------*/
-
-/* This function should be called by the user to return a chunk of
- * bytes in buf. It can be a lower layer function of save, or can be
- * called by the user explicitly. If bytes_actually_read contains a 0
- * after a call to this function has been made, it implies that the entire 
- * trace has been read successfully.
- * 
- * context             : pointer to structure which contains information about
- *                       the current TRAX session
- * buf                 : Buffer that is allocated by the user, all the trace 
- *                       data read would be put in this buffer, which can then
- *                       be used to generate a tracefile. 
- *                       The first TRAX_HEADER_SIZE of the buffer will always 
- *                       contain the header information. 
- * bytes_to_be_read    : Indicates the bytes the user wants to read. The first
- *                       invocation would need this parameter to be 
- *                       TRAX_HEADER_SIZE at least.
- * 
- * returns             : bytes actually read during the call to this function. 
- *                       0 implies that all the bytes in the trace have been 
- *                       read, -1 if unsuccessful read/write of
- *                       registers or memory, -2 if trace was active while
- *                       this function was called, -3 if user enters  
- *                       bytes_to_be_read  < TRAX_HEADER_SIZE in the first 
- *                       pass
- */ 
-int trax_get_trace (trax_context *context, void *buf, 
-                    int bytes_to_be_read);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _TRAX_H */
diff --git a/components/esp32/include/xtensa/traxfile.h b/components/esp32/include/xtensa/traxfile.h
deleted file mode 100644 (file)
index 4afc926..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* TRAX file header definition.
-
-   Copyright (c) 2007-2012 Tensilica Inc.
-
-   Permission is hereby granted, free of charge, to any person obtaining
-   a copy of this software and associated documentation files (the
-   "Software"), to deal in the Software without restriction, including
-   without limitation the rights to use, copy, modify, merge, publish,
-   distribute, sublicense, and/or sell copies of the Software, and to
-   permit persons to whom the Software is furnished to do so, subject to
-   the following conditions:
-
-   The above copyright notice and this permission notice shall be included
-   in all copies or substantial portions of the Software.
-
-   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  */
-
-
-#define TRAX_FHEAD_MAGIC       "TRAXdmp"
-#define TRAX_FHEAD_VERSION     1
-
-/*  Header flags:  */
-#define TRAX_FHEADF_OCD_ENABLED                        0x00000001      /* set if OCD was enabled while capturing trace */
-#define TRAX_FHEADF_TESTDUMP                   0x00000002      /* set if is a test file 
-                                                                   (from 'memsave' instead of 'save') */
-#define TRAX_FHEADF_OCD_ENABLED_WHILE_EXIT     0x00000004      /* set if OCD was enabled while capturing trace and
-                                                                  we were exiting the OCD mode */
-
-/*  Header at the start of a TRAX dump file.  */
-typedef struct {
-    char       magic[8];       /* 00: "TRAXdmp\0" (TRAX_FHEAD_MAGIC) */
-    char       endianness;     /* 08: 0=little-endian, 1=big-endian */
-    char       version;        /* 09: TRAX_FHEAD_VERSION */
-    char       reserved0[2];   /* 0A: ... */
-    unsigned   filesize;       /* 0C: size of the trace file, including this header */
-    unsigned   trace_ofs;      /* 10: start of trace output, byte offset from start of header */
-    unsigned   trace_size;     /* 14: size of trace output in bytes */
-    unsigned   dumptime;       /* 18: date/time of capture save (secs since 1970-01-01), 0 if unknown */
-    unsigned   flags;          /* 1C: misc flags (TRAX_FHEAD_F_xxx) */
-    char       username[16];   /* 20: user doing the capture/save (up to 15 chars) */
-    char       toolver[24];    /* 30: tool + version used for capture/save (up to 23 chars) */
-    char       reserved2[40];  /* 48: (reserved - could be hostname used for dump (up to 39 chars)) */
-    unsigned   configid[2];    /* 70: processor ConfigID values, 0 if unknown */
-    unsigned   ts_freq;        /* 78: timestamp frequency, 0 if not specified */
-    unsigned   reserved3;      /* 7C: (reserved) */
-    unsigned   id;             /* 80: TRAX registers at time of save (0 if not read) */
-    unsigned   control;
-    unsigned   status; 
-    unsigned   reserved4;      /* Data register (should not be read) */
-    unsigned   address;
-    unsigned   trigger; 
-    unsigned   match;
-    unsigned   delay;
-    unsigned   trax_regs[24];  /*100: (total size) -- dummy allocation (FIXME) */
-} trax_file_header;
-
diff --git a/components/esp32/include/xtensa/uart-16550-board.h b/components/esp32/include/xtensa/uart-16550-board.h
deleted file mode 100644 (file)
index 8ef8af1..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
-Copyright (c) 2006-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
-These coded instructions, statements, and computer programs are the
-copyrighted works and confidential proprietary information of Tensilica Inc.
-They may not be modified, copied, reproduced, distributed, or disclosed to
-third parties in any manner, medium, or form, in whole or in part, without
-the prior written consent of Tensilica Inc.
---------------------------------------------------------------------------------
-
-uart-16550-board.h Board-specific UART info on these boards:
-       Avnet AV60 (XT-AV60)
-       Avnet AV110 (XT-AV110)
-       Avnet AV200 (XT-AV200)
-       Xilinx ML605 (XT-ML605)
-       Xilinx KC705 (XT-KC705)
-
-Interface between board-independent driver and board-specific header.
-
-This is used by a board-independent 16550 UART driver to obtain board-specific
-information about 1 instance of the 16550 UART on the board, such as the device
-register base address and spacing (a function of how the address lines are 
-connected on the board) and the frequency of the UART clock. The driver does
-not refer directly to the board-specific header, which therefore is not 
-constrained to use macro names consistent with other boards.
-
-!! Must not contain any board-specific macro names (only UART specific). !!
-
-Included at compile-time via an include path specific to the board.
-
-These boards contain a single 16550 UART implemented on the FPGA.
-Their clock frequency comes from the board's core clock (not its own crystal)
-which depends on the core config so is not a constant. Obtained via the BSP.
-
-*******************************************************************************/
-
-#ifndef _UART_16550_BOARD_H
-#define _UART_16550_BOARD_H
-
-#include <xtensa/xtbsp.h>               /* BSP API */
-#include <xtensa/board.h>               /* Board info */
-
-
-/* Base address of UART's registers. */
-#ifdef UART16550_VADDR
-#define UART_16550_REGBASE UART16550_VADDR
-#endif
-
-/* 
-The UART's registers are connected at word addresses on these boards.
-Each byte-wide register appears as the least-significant-byte (LSB) of the 
-word regardless of the endianness of the processor.
-*/
-#define UART_16550_REGSPACING 4
-typedef unsigned uart16550_reg_t;
-
-/* UART Clock Frequency in Hz */
-#define UART_16550_XTAL_FREQ xtbsp_clock_freq_hz()
-
-/* UART Interrupt Number */
-#ifdef UART16550_INTNUM
-#define UART_16550_INTNUM UART16550_INTNUM
-#endif
-
-
-/* Include generic information shared by all boards that use this device. */
-#include    <xtensa/uart-16550.h>
-
-#endif /* _UART_16550_BOARD_H */
-
diff --git a/components/esp32/include/xtensa/uart-16550.h b/components/esp32/include/xtensa/uart-16550.h
deleted file mode 100644 (file)
index c551c64..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
-
-  Copyright (c) 2006-2007 Tensilica Inc.
-
-  Permission is hereby granted, free of charge, to any person obtaining
-  a copy of this software and associated documentation files (the
-  "Software"), to deal in the Software without restriction, including
-  without limitation the rights to use, copy, modify, merge, publish,
-  distribute, sublicense, and/or sell copies of the Software, and to
-  permit persons to whom the Software is furnished to do so, subject to
-  the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
---------------------------------------------------------------------------------
-
-uart-16550.h    Generic definitions for National Semiconductor 16550 UART
-
-This is used by board-support-packages with one or more 16550 compatible UARTs.
-A BSP provides a base address for each instance of a 16550 UART on the board.
-
-Note that a 16552 DUART (Dual UART) is simply two instances of a 16550 UART.
-
-*******************************************************************************/
-
-#ifndef _UART_16550_H_
-#define _UART_16550_H_
-
-/* C interface to UART registers. */
-struct uart_dev_s {
-  union {
-    uart16550_reg_t rxb;    /* DLAB=0: receive buffer, read-only */
-    uart16550_reg_t txb;    /* DLAB=0: transmit buffer, write-only */
-    uart16550_reg_t dll;    /* DLAB=1: divisor, LS byte latch */
-  } w0;
-  union {
-    uart16550_reg_t ier;    /* DLAB=0: interrupt-enable register */
-    uart16550_reg_t dlm;    /* DLAB=1: divisor, MS byte latch */
-  } w1;
-
-  union {
-    uart16550_reg_t isr;    /* DLAB=0: interrupt status register, read-only */
-    uart16550_reg_t fcr;    /* DLAB=0: FIFO control register, write-only */
-    uart16550_reg_t afr;    /* DLAB=1: alternate function register */
-  } w2;
-
-  uart16550_reg_t lcr;      /* line control-register, write-only */
-  uart16550_reg_t mcr;      /* modem control-regsiter, write-only */
-  uart16550_reg_t lsr;      /* line status register, read-only */
-  uart16550_reg_t msr;      /* modem status register, read-only */
-  uart16550_reg_t scr;      /* scratch regsiter, read/write */
-};
-
-
-#define _RXB(u) ((u)->w0.rxb)
-#define _TXB(u) ((u)->w0.txb)
-#define _DLL(u) ((u)->w0.dll)
-#define _IER(u) ((u)->w1.ier)
-#define _DLM(u) ((u)->w1.dlm)
-#define _ISR(u) ((u)->w2.isr)
-#define _FCR(u) ((u)->w2.fcr)
-#define _AFR(u) ((u)->w2.afr)
-#define _LCR(u) ((u)->lcr)
-#define _MCR(u) ((u)->mcr)
-#define _LSR(u) ((u)->lsr)
-#define _MSR(u) ((u)->msr)
-#define _SCR(u) ((u)->scr)
-
-typedef volatile struct uart_dev_s uart_dev_t;
-
-/* IER bits */
-#define RCVR_DATA_REG_INTENABLE 0x01
-#define XMIT_HOLD_REG_INTENABLE 0x02
-#define RCVR_STATUS_INTENABLE   0x04
-#define MODEM_STATUS_INTENABLE  0x08
-
-/* FCR bits */
-#define _FIFO_ENABLE     0x01
-#define RCVR_FIFO_RESET  0x02
-#define XMIT_FIFO_RESET  0x04
-#define DMA_MODE_SELECT  0x08
-#define RCVR_TRIGGER_LSB 0x40
-#define RCVR_TRIGGER_MSB 0x80
-
-/* AFR bits */
-#define AFR_CONC_WRITE  0x01
-#define AFR_BAUDOUT_SEL 0x02
-#define AFR_RXRDY_SEL   0x04
-
-/* ISR bits */
-#define INT_STATUS(r)   ((r)&1)
-#define INT_PRIORITY(r) (((r)>>1)&0x7)
-
-/* LCR bits */
-#define WORD_LENGTH(n)  (((n)-5)&0x3)
-#define STOP_BIT_ENABLE 0x04
-#define PARITY_ENABLE   0x08
-#define EVEN_PARITY     0x10
-#define FORCE_PARITY    0x20
-#define XMIT_BREAK      0x40
-#define DLAB_ENABLE     0x80
-
-/* MCR bits */
-#define _DTR 0x01
-#define _RTS 0x02
-#define _OP1 0x04
-#define _OP2 0x08
-#define LOOP_BACK 0x10
-
-/* LSR Bits */
-#define RCVR_DATA_READY 0x01
-#define OVERRUN_ERROR   0x02
-#define PARITY_ERROR    0x04
-#define FRAMING_ERROR   0x08
-#define BREAK_INTERRUPT 0x10
-#define XMIT_HOLD_EMPTY 0x20
-#define XMIT_EMPTY      0x40
-#define FIFO_ERROR      0x80
-#define RCVR_READY(u)   (_LSR(u)&RCVR_DATA_READY)
-#define XMIT_READY(u)   (_LSR(u)&XMIT_HOLD_EMPTY)
-
-/* MSR bits */
-#define _RDR       0x01
-#define DELTA_DSR  0x02
-#define DELTA_RI   0x04
-#define DELTA_CD   0x08
-#define _CTS       0x10
-#define _DSR       0x20
-#define _RI        0x40
-#define _CD        0x80
-
-
-/* Compute 16-bit divisor for baudrate generator, with rounding:  */
-#define UART_DIVISOR(clock,baud)    (((clock)/16 + (baud)/2)/(baud))
-
-/* Prototypes of driver functions */
-extern void     uart16550_init( uart_dev_t *u, unsigned baud, unsigned ndata,
-                                unsigned parity, unsigned nstop );
-extern void     uart16550_out( uart_dev_t *u, char c );
-extern char     uart16550_in( uart_dev_t *u );
-extern unsigned uart16550_measure_sys_clk( uart_dev_t *u );
-
-#endif /* _UART_16550_H_ */
diff --git a/components/esp32/include/xtensa/udma.h b/components/esp32/include/xtensa/udma.h
deleted file mode 100644 (file)
index a5feb77..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-/* Customer ID=11656; Build=0x5f626; Copyright (c) 2005-2014 by Cadence Design Systems, Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of 
- * Cadence Design Systems, Inc. They may not be modified, copied, reproduced, 
- * distributed, or disclosed to third parties in any manner, medium, or form, 
- * in whole or in part, without the prior written consent of Cadence Design 
- * Systems Inc.
- */
-#ifndef __UDMA_H__
-#define __UDMA_H__
-
-#include <stdint.h>
-#include <stddef.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Size of the uDMA descriptor */
-#define UDMA_DESC_STRUCT_SIZE 32
-
-/* Request attribute is a bit vector passed to the udma functions - udma_copy,
- * udma_2d_copy, udma_add_descs. 
- * Bit 0 : 1 - trigger an interrupt when done, else do nothing
- * Bit 1 : 0 - retry the failed request; abort after programmer specified 
- *             number of retries. Defaults to abort with no retries.
- *         1 - abort the failed request (after retries) and all pending requests
- */
-#define UDMA_DONE_INTERRUPT  0x1
-#define UDMA_ERROR_ABORT     0x0
-#define UDMA_ERROR_ABORT_ALL 0x2
-
-/* Enum representing various udma error conditions, udma status, and
- * return values 
- */
-typedef enum {
-  UDMA_OK                     =  0,
-  UDMA_ERROR_QUEUE_FULL       =  1,  
-  UDMA_ERROR_BAD_DESC         =  2,  
-  UDMA_ERROR_DRAM_CROSSING    =  3,
-  UDMA_ERROR_PIF_ADDR_BUS     =  4,
-  UDMA_ERROR_PIF_DATA_BUS     =  5,
-  UDMA_REQ_PENDING            =  6,
-  UDMA_REQ_DONE               =  7,
-  UDMA_ERROR_BAD_REQUEST      =  8,
-  UDMA_ERROR_INVALID_ARG      = 11,
-  UDMA_ERROR_INIT             = 12,
-  UDMA_ERROR_INTERNAL         = -1
-} udma_status_t;
-
-#ifndef __UDMA_INTERNAL_H__
-/* Opaque structure describing a uDMA descriptor */
-struct udma_desc_struct {
-  char _[UDMA_DESC_STRUCT_SIZE];
-}  __attribute__ ((aligned (UDMA_DESC_STRUCT_SIZE)));
-#endif
-
-typedef struct udma_desc_struct udma_desc_t;
-
-/* Initialize the udma control structure, the uDMA registers with
- * the descriptor queue addresses, and the uDMA sync and error interrupt 
- * handler. This function needs to be invoked prior to using the uDMA.
- *
- * xmp_udma_sync_intr  : Processor interrupt number to flag udma done
- * xmp_udma_error_intr : Processor interrupt number to flag udma error
- * 
- * Returns UDMA_ERROR_INIT if there was an error during initialization else
- * returns UDMA_OK.
- */
-extern udma_status_t 
-udma_init(uint32_t xmp_udma_sync_intr, uint32_t xmp_udma_error_intr);
-
-/* Performs a copy of a linear block of size bytes from the src
- * to the dest address. If the call returns UDMA_OK, status is set to 
- * UDMA_REQ_PENDING or UDMA_REQ_DONE. If there is a dma error, the error code,
- * which could be one of UDMA_ERROR_BAD_DESC, UDMA_ERROR_DRAM_CROSSING, 
- * UDMA_ERROR_PIF_ADDR_BUS, UDMA_ERROR_PIF_DATA_BUS is returned in the status. 
- * Status is set to UDMA_REQ_DONE if the dma completes normally.
- * On completion, the callback function is invoked with the callback_data
- * and status as parameters. Note, the callback is always invoked even if 
- * there is a dma error.
- *
- * src           : src address of the copy
- * dest          : dest address of the copy
- * size          : number of bytes to copy
- * callback_data : optional data to be passed to callback_func
- * callback_func : optional callback after copy is done
- * request_attr  : attribute defining how to process this request 
- *                 (see description of the request attribute in top of udma.h)
- * status        : track status of the copy; this gets also passed
- *                 as the second argument to the callback_func
- * 
- * Returns UDMA_ERROR_QUEUE_FULL if no more requests can be added, else
- * returns UDMA_OK.
- */
-extern udma_status_t
-udma_copy(void *dest,
-          void *src,
-          size_t size,
-          void *callback_data,
-          void (*callback_func)(void *, udma_status_t *status),
-          uint32_t request_attr,
-          udma_status_t *status);
-
-/* Performs a copy of a 2D block of data from the src to the dest
- * address. If the call returns UDMA_OK, status is set to UDMA_REQ_PENDING or
- * UDMA_REQ_DONE. If there is a dma error, the error code,
- * which could be one of UDMA_ERROR_BAD_DESC, UDMA_ERROR_DRAM_CROSSING, 
- * UDMA_ERROR_PIF_ADDR_BUS, UDMA_ERROR_PIF_DATA_BUS is returned in the status. 
- * Status is set to UDMA_REQ_DONE if the dma completes normally.
- * On completion, the callback function is invoked with the callback_data
- * and status as parameters. Note, the callback is always invoked even if 
- * there is a dma error.
- *
- * src           : src address of the copy 
- * dest          : dest address of the copy
- * row_size      : number of bytes per row to copy
- * num_rows      : number of rows to copy
- * src_pitch     : src pitch
- * dest_pitch    : dest pitch
- * callback_data : optional data to be passed to callback_func
- * callback_func : optional callback after copy is done
- * request_attr  : attribute defining how to process this request 
- *                 (see description of the request attribute in top of udma.h)
- * status        : track status of the copy; this gets also passed
- *                 as the second argument to the callback_func
- *  
- * Returns UDMA_ERROR_QUEUE_FULL if no more requests can be added, else
- * returns UDMA_OK.
- */
-extern udma_status_t 
-udma_2d_copy(void *dest,
-             void *src, 
-             size_t row_size, 
-             uint32_t num_rows,
-             uint32_t src_pitch, 
-             uint32_t dest_pitch,
-             void *callback_data,
-             void (*callback_func)(void *, udma_status_t *status),
-             uint32_t request_attr,
-             udma_status_t *status);
-
-/* Process requests that are done. Any callbacks associated
- * with the completed requests gets invoked. If there are any errors,
- * the error request is (and any pending request based on the request attribute)
- * cancelled and the error code is returned in the status associated with 
- * all such cancelled requests. Callbacks associated with the cancelled
- * requests are also invoked. If all requests terminate normally, the status 
- * of the completed requests are set to UDMA_REQ_DONE.
- * 
- * Returns void
- */
-extern void 
-udma_process_requests();
-
-/* Sets the udma max PIF block size
- *
- * max_block_size : max block size to be set
- *
- * Returns UDMA_ERROR_INVALID_ARG if block_size is > 3, else returns UDMA_OK
- */
-udma_status_t
-udma_set_max_block_size(uint32_t block_size);
-
-/* Sets the udma max outstanding PIF requests
- *
- * max_outstanding : max outstanding PIF requests
- *
- * Returns UDMA_ERROR_INVALID_ARG if max_outstanding is not between 1 and 16
- * else returns UDMA_OK
- */
-udma_status_t
-udma_set_max_outstanding(uint32_t max_outstanding);
-
-/* Initialize a uDMA descriptor using the copy parameters. The descriptor
- * is then queued separately using udma_add_desc
- *
- * src                   : src address of the copy
- * dest                  : dest address of the copy
- * row_size              : number of bytes per row to copy
- * num_rows              : number of rows to copy
- * src_pitch             : src pitch
- * dest_pitch            : dest pitch
- * notify_with_interrupt : If 1, interrupt when dma is done with this descriptor
- *                         if 0, do nothing, else undefined
- *
- * Returns void
- */
-extern void
-udma_set_desc(void *src,
-              void *dest,
-              size_t row_size, 
-              uint32_t num_rows,
-              uint32_t src_pitch, 
-              uint32_t dest_pitch,
-              uint32_t notify_with_interrupt,
-              udma_desc_t *desc);
-
-/* Add multiple uDMA descriptors to the descriptor queue. If the call returns
- * UDMA_OK, the status is set to UDMA_REQ_PENDING or UDMA_REQ_DONE.
- * If there is a dma error, the error code, which could be one of
- * UDMA_ERROR_BAD_DESC, UDMA_ERROR_DRAM_CROSSING, UDMA_ERROR_PIF_ADDR_BUS,
- * UDMA_ERROR_PIF_DATA_BUS is returned in the status. Status is set
- * to UDMA_REQ_DONE, if the dma completes normally. 
- * On completion, the callback function is invoked with the callback_data
- * and status as parameters. Note, the callback is always invoked even if 
- * there is a dma error.
- *
- * desc          : descriptors to be added
- * num_desc      : number of descriptors to be added
- * callback_data : optional data to be passed to callback_func
- * callback_func : optional callback after copy is done
- * request_attr  : attribute defining how to process this request 
- *                 (see description of the request attribute in top of udma.h)
- *                 Note, bit 0 (for enabling interrupt) is ignored in this call.
- *                 To interrupt on dma completion, set the
- *                 notify_with_interrupt parameter when creating descriptors
- *                 using udma_set_desc.
- * status        : track status of the copy; this gets also passed
- *                 as the second argument to the callback_func
- *
- * Returns UDMA_ERROR_QUEUE_FULL if no more descriptors can be added,
- * UDMA_ERROR_INVALID_ARG if num_descs == 0, else return UDMA_OK
- */
-udma_status_t
-udma_add_descs(udma_desc_t *descs,
-               uint32_t num_descs,
-               void *callback_data,
-               void (*callback_func)(void *, udma_status_t *status),
-               uint32_t request_attr,
-               udma_status_t *status);
-
-/* Wait for udma copy request to complete. Could spin wait or goto waiti
- * based on the sleep_wait parameter. Once the request is done, the callback 
- * associated with this request and any prior completed requests are handled.
- * Error code, if any, is returned in the status s, else s is set to 
- * UDMA_REQ_DONE.
- *
- * s          : status to wait for
- * sleep_wait : sleep wait if true, else spin waits
- *
- * Returns void
- */
-extern void
-udma_wait_request(volatile udma_status_t *s, uint32_t sleep_wait);
-
-/* Inlined function to set the src, dest address of the descriptor
- *
- * src  : src address of the uDMA 
- * dest : dest address of the uDMA
- * desc : descriptor to be modified
- *
- * Returns void
- */
-void static inline 
-udma_set_desc_addrs(void *src, void *dest, udma_desc_t *desc) {
-  uint32_t *d = (uint32_t *)desc;
-  *d = (uintptr_t)src;
-  *(d+1) = (uintptr_t)dest;
-}
-
-/* Sets the number of retries for a failed dma request
- *
- * max_retries : max number of retries
- * 
- * Sets the max number of retries for a failed dma request. The default is 0,
- * i.e, no retries
- */
-void
-udma_set_max_retries(uint32_t max_retries);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __UDMA_H__ */
diff --git a/components/esp32/include/xtensa/xmon.h b/components/esp32/include/xtensa/xmon.h
deleted file mode 100644 (file)
index 12a757a..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/* xmon.h - XMON definitions
- *
- * $Id: //depot/rel/Eaglenest/Xtensa/OS/xmon/xmon.h#3 $
- *
- * Copyright (c) 2001-2013 Tensilica Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef __H_XMON
-#define __H_XMON
-
-/* Default GDB packet size */
-#define GDB_PKT_SIZE 4096
-
-/*XMON signals */
-#define XMON_SIGINT    2   /*target was interrupted */
-#define XMON_SIGILL    4   /*illegal instruction */
-#define XMON_SIGTRAP   5   /*general exception */
-#define XMON_SIGSEGV   11  /*page faults */
-
-
-/* Type of log message from XMON to the application */
-typedef enum {
-   XMON_LOG,
-   XMON_TRACE,
-   XMON_ERR,
-   XMON_APP,
-   XMON_GDB
-} xmon_log_t;
-
-/* Return value type for xmon_proc() (see below) */
-typedef enum {
-   XMON_GDB_PEND,
-   XMON_GDB_PKT,
-   XMON_NOT_GDB
-} xmon_gdb_pkt_t;
-
-#ifdef  _cplusplus
-extern "C" {
-#endif
-
-/*
- * THE FOLLOWING ROUTINES ARE USED BY USER
- */
-extern int _xmon_init(char* gdbBuf, int gdbPktSize,
-                       void(*xlog)(xmon_log_t type, const char* str));
-//Initialize GDB communication and logging to the main app.
-//For the logging to work, xlog function needs to be provided.
-//gdbBuf     - pointer to a buffer XMON can use to comm. with GDB
-//gdbPktSize - Size of the allocated buffer for GDB communication.
-//xlog       - logger handle.
-
-
-extern void _xmon_close(void);
-//Main application can detach from xmon at any time
-
-
-extern xmon_gdb_pkt_t _xmon_proc(char);
-// Give character to XMON to check if GDB message
-// Application is supposed to accumulate all the
-// character in case the recognition fails and chars
-// have to be sent to the original handler
-// Return: XMON_GDB_PEND - send me more chars
-//         XMON_GDB_PKT  - GDB message confirmed, C) not
-//         XMON_NOT_GDB  - not GDB message
-
-
-/*
- * THE FOLLOWING ROUTINES NEED TO BE PROVIDED BY USER
- */
-extern int  _xmon_in();         // wait for character from GDB
-extern void _xmon_out(char);    // output a character to GDB
-extern int  _xmon_flush(void);  // flush output characters
-
-#ifdef  _cplusplus
-}
-#endif
-
-#endif
diff --git a/components/esp32/include/xtensa/xmp-library.h b/components/esp32/include/xtensa/xmp-library.h
deleted file mode 100644 (file)
index 6242720..0000000
+++ /dev/null
@@ -1,789 +0,0 @@
-/* Customer ID=11656; Build=0x5f626; Copyright (c) 2008-2009 by Tensilica Inc.  ALL RIGHTS RESERVED.
-   These coded instructions, statements, and computer programs are the
-   copyrighted works and confidential proprietary information of Tensilica Inc.
-   They may not be modified, copied, reproduced, distributed, or disclosed to
-   third parties in any manner, medium, or form, in whole or in part, without
-   the prior written consent of Tensilica Inc.  */
-
-#ifndef _XMP_LIBRARY_H
-#define _XMP_LIBRARY_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <xtensa/config/core-isa.h>
-#include <xtensa/config/core.h>
-#include <xtensa/tie/xt_core.h>
-#if XCHAL_HAVE_RELEASE_SYNC
-#include <xtensa/tie/xt_sync.h>
-#endif
-#if XCHAL_HAVE_EXTERN_REGS
-#include <xtensa/xtensa-xer.h>
-#endif
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "xtensa/system/mpsystem.h"
-
-/* 
-   W A R N I N G:
-
-   xmp library clients should treat all data structures in this file
-   as opaque.  They are only public to enable users to declare them
-   statically.
-*/
-
-
-/* -------------------------------------------------------------------------
-   When using XMP on cache-incoherent systems, these macros are helpful
-   to ensure that you are not reading stale data, and to ensure that
-   the data you write makes it all the way back to main memory.
- */
-
-#if !XCHAL_DCACHE_IS_COHERENT
-#define XMP_WRITE_BACK_ELEMENT(x) xthal_dcache_region_writeback((void *)x, sizeof(*x))
-#define XMP_INVALIDATE_ELEMENT(x) xthal_dcache_region_invalidate((void *)x, sizeof(*x))
-#define XMP_WRITE_BACK_INVALIDATE_ELEMENT(x) xthal_dcache_region_writeback_inv((void *)x, sizeof(*x))
-#define XMP_WRITE_BACK_ARRAY(x) xthal_dcache_region_writeback((void *)x, sizeof(x))
-#define XMP_INVALIDATE_ARRAY(x) xthal_dcache_region_invalidate((void *)x, sizeof(x))
-#define XMP_WRITE_BACK_INVALIDATE_ARRAY(x) xthal_dcache_region_writeback_inv((void *)x, sizeof(x))
-#define XMP_WRITE_BACK_ARRAY_ELEMENTS(x, num_elements) xthal_dcache_region_writeback((void *)x, sizeof(*x) * num_elements)
-#define XMP_INVALIDATE_ARRAY_ELEMENTS(x, num_elements) xthal_dcache_region_invalidate((void *)x, sizeof(*x) * num_elements)
-#define XMP_WRITE_BACK_INVALIDATE_ARRAY_ELEMENTS(x, num_elements) xthal_dcache_region_writeback_inv((void *)x, sizeof(*x) * num_elements)
-#else 
-#define XMP_WRITE_BACK_ELEMENT(x)
-#define XMP_INVALIDATE_ELEMENT(x)
-#define XMP_WRITE_BACK_INVALIDATE_ELEMENT(x)
-#define XMP_WRITE_BACK_ARRAY(x)
-#define XMP_INVALIDATE_ARRAY(x)
-#define XMP_WRITE_BACK_INVALIDATE_ARRAY(x)
-#define XMP_WRITE_BACK_ARRAY_ELEMENTS(x, num_elements)
-#define XMP_INVALIDATE_ARRAY_ELEMENTS(x, num_elements)
-#define XMP_WRITE_BACK_INVALIDATE_ARRAY_ELEMENTS(x, num_elements)
-#endif
-
-/* -------------------------------------------------------------------------
-   Initialization, error codes, constants and house-keeping
-
-   Every core should call xmp_init with the number of cores in the
-   system.
-
-   xmp_init should be called before you use any global synchronization
-   primitive or shared data. 
-
-   Further, before you use a dynamically allocated synchronization
-   primitives, you need to both initialize it by calling the
-   xmp_*_init function, and you need to have called xmp_init, which
-   sets up interrupt handlers and interrupt routing.
-
-   The second parameter sets the interprocessor interrupt
-   routing. Passing zero instructs the library to use the default
-   routing, which will be suitable for most users.
-   
-*/
-   
-extern void xmp_init (int num_cores, unsigned int interrupt_routing);
-
-
-/* If you want finer-grained control than that provided by xmp_init,
-   you can the functions below individually--however, this is more
-   inconvenient and requires greater understanding of the library's
-   internals.  Don't use them directly unless you have a good reason.
-*/
-
-extern void xmp_unpack_shared (void);
-extern void xmp_route_interrupts (unsigned int routing);
-
-#if XCHAL_HAVE_MP_INTERRUPTS
-extern void xmp_enable_ipi_interrupts (void);
-
-/* Turn off certain things enabled by xmp_init  */
-extern void xmp_disable_ipi_interrupts (void);
-#endif
-
-extern void xmp_end (void);
-
-/* Only valid after xmp_init.  */
-extern int xmp_num_cores (void);
-
-/* How many cycles should a core wait before rechecking a
-   synchronization variable?  Higher values will reduce memory
-   transactions, but will also result in higher latency in returning
-   from synchronization.
-*/
-extern void xmp_spin_wait_set_cycles (unsigned int limit);
-
-/* If you would prefer to provide your own spin wait function,
-   to go to sleep, etc.  Declare a function of this type, then call
-   this function.  */
-typedef void (*xmp_spin_wait_function_t)(void);
-extern void xmp_spin_wait_set_function (xmp_spin_wait_function_t func);
-extern void xmp_spin(void);
-
-#define XMP_NO_OWNER        0x07
-#define XMP_MUTEX_DESTROYED 0xFE
-#define XMP_ERROR_FATAL     0xFD
-
-#define XMP_MAX_CORES       0x4
-
-
-static inline unsigned int xmp_prid (void) 
-{
-#if XCHAL_HAVE_PRID
-  return XT_RSR_PRID() & 0xFF;
-#else
-  return 0;
-#endif
-}
-
-
-/* -------------------------------------------------------------------------
-   Tracing
-   
-   A core must set a trace_file if it wants any synchronization
-   tracing to occur.  Sharing file descriptors among cores is very
-   messy, so don't do it.  This, unfortunately, means that two cores
-   contending for a mutex are not able to trace to the same file.
-
-   Any object (except the atomic integer) can have tracing off or on.   
-*/
-
-extern void xmp_set_trace_file (FILE * file);
-extern void xmp_trace (const char * fmt, ...);
-
-
-/* -------------------------------------------------------------------------
-   Memory Allocation Functions.
-
-   These do what you would expect, only from shared memory instead of
-   private memory.
-*/
-
-#if XCHAL_DCACHE_IS_COHERENT
-extern void * xmp_malloc (size_t size);
-extern void * xmp_calloc (size_t nmemb, size_t size);
-extern void xmp_free (void * ptr);
-#endif
-extern void * xmp_sbrk(int size);
-
-/* -------------------------------------------------------------------------
-   xmp_atomic_int_t
-
-   The most basic synchronization primitive in the xmp library.
-   Atomic ints are sharable among processors, and even interrupt
-   levels on the same processor. However, their semantics are fairly
-   rudimentary.  All other primitives are based on these, therefore,
-   changing this implementation affects all other primitives.
-
-*/
-
-typedef unsigned int xmp_atomic_int_t;
-
-static inline xmp_atomic_int_t
-xmp_coherent_l32ai(xmp_atomic_int_t * address)
-{
-  XMP_INVALIDATE_ELEMENT (address);
-  return  XT_L32AI(address, 0);
-}
-
-static inline void
-xmp_coherent_s32ri(xmp_atomic_int_t value, xmp_atomic_int_t  * address)
-{
-  XT_S32RI (value, address, 0);
-  XMP_WRITE_BACK_ELEMENT (address);
-}
-
-#define XMP_ATOMIC_INT_INITIALIZER(value) (value)
-
-/* xmp_atomic_int_init - Initialize an int prior to use
-
-   Nonsynchronizing, Nonblocking 
-
-   Usage: 
-      value - initial value
-      integer - points to an uninitialized integer
-
-   On exit:
-      initialized to given value
-
-   Errors: none
-*/
-
-static inline void 
-xmp_atomic_int_init (xmp_atomic_int_t * integer, int value)
-{
-  xmp_coherent_s32ri (value, integer);
-}
-
-
-/* xmp_atomic_int_value - Read the value 
-
-   Nonsynchronizing, Nonblocking
-
-   Usage: 
-      integer - points to an int
-
-   Returns:
-      the value
-*/
-
-static inline int
-xmp_atomic_int_value (xmp_atomic_int_t * integer)
-{
-  return xmp_coherent_l32ai (integer);
-}
-
-
-/* xmp_atomic_int_conditional_increment - Conditionally increment integer
-
-   Synchronizing, nonblocking
-
-   Usage: 
-      integer - points to an initialized integer
-      amount - how much to increment
-      prev - believed value of the integer
-                eg: prev = xmp_atomic_int_value (integer);
-                    success = xmp_atomic_int_increment (integer, 1, prev);
-
-   Returns: current value of integer - user should check if it matches
-      the previous value of the integer. If it does, then the update
-      was successful.
-
-*/
-
-#define USE_ASSEMBLY_IMPLEMENTATION 0
-
-static inline int
-xmp_atomic_int_conditional_increment (xmp_atomic_int_t * integer, int amount, int prev)
-{
-  int val;
-  int saved;
-
-#if USE_ASSEMBLY_IMPLEMENTATION
-  /* %0 = prev
-     %1 = saved
-     %2 = atomic integer pointer
-     %3 = amount
-  */
-
-  asm volatile ("wsr.scompare1 %0\n"
-               "mov %1, %0\n"
-               "add %0, %0, %3\n"
-               "s32c1i %0, %2, 0\n"
-               : "+&a" (prev), "+&a"(saved) : "a" (integer), "a" (amount));
-
-  return prev;
-
-#else
-
-  XT_WSR_SCOMPARE1 (prev);
-  val = prev + amount;
-  saved = val;
-  XT_S32C1I (val, integer, 0);
-
-  return val;
-#endif
-}
-
-
-/* xmp_atomic_int_increment - Increment integer
-
-   Synchronizing, blocking
-
-   Usage: 
-      integer - points to an initialized integer
-      amount - how much to increment
-
-   Returns: new value of integer
-
-*/
-
-static inline int
-xmp_atomic_int_increment (xmp_atomic_int_t * integer, int amount)
-{
-  int val;
-  int saved;
-#if USE_ASSEMBLY_IMPLEMENTATION
-  /* %0 = val
-     %1 = saved
-     %2 = atomic integer pointer
-     %3 = amount
-  */
-     
-  asm volatile ("l32ai %0, %2, 0\n"
-               "1:\n"
-               "wsr.scompare1 %0\n"
-               "mov %1, %0\n"
-               "add %0, %0, %3\n"
-               "s32c1i %0, %2, 0\n"
-               "bne %0, %1, 1b\n" 
-               : "+&a" (val), "+&a"(saved) : "a" (integer), "a" (amount));
-#else
-  /* Accurately naming "val" is tricky. Sometimes it will be what we
-     want to be the new value, but sometimes it contains the value
-     that is currently at the location.  */
-  
-  /* Load location's current value  */
-  val = xmp_coherent_l32ai (integer);
-
-  do {
-    XT_WSR_SCOMPARE1 (val);
-    saved = val;
-    /* Change it to what we would like to store there--"new_val"  */
-    val = val + amount;
-    /* Possibly store new_val, but reload location's current value no
-       matter what. */
-    XT_S32C1I (val, integer, 0);
-    if (val != saved)
-      xmp_spin();
-  } while (val != saved);
-
-#endif
-  return val + amount;
-}
-
-
-/* xmp_atomic_int_conditional_set - Set the value of an atomic integer
-
-   Synchronizing, nonblocking
-
-   Usage: 
-      integer - points to an initialized integer
-      from - believed value of the integer
-                eg: prev = xmp_atomic_int_value (integer);
-                    success = xmp_atomic_int_conditional_set (integer, 1, prev);
-      to - new value
-
-   Returns: current value of integer - user should check if it matches
-      the previous value of the integer. If it does, then the update
-      was successful.
-
-*/
-
-static inline int
-xmp_atomic_int_conditional_set (xmp_atomic_int_t * integer, int from, int to)
-{
-  int val;
-
-  /* Don't even try to update if the integer's value isn't what we
-     think it should be.  This prevents acquiring this cache-line for
-     writing and therefore prevents bus transactions when various
-     cores contend.  */
-  val = xmp_coherent_l32ai(integer);
-  if (val == from) {
-    XT_WSR_SCOMPARE1 (from);
-    val = to;
-    /* Possibly store to, but reload location's current value no
-       matter what. */
-    XT_S32C1I (val, integer, 0);
-  }
-  return val;
-}
-
-
-/* Macros to implement trivial spin locks.  These are very primitive, but
-   can be useful when you don't need the higher-overhead synchronization.
-
-   To use an xmp_atomic_int_t as a trivial spin lock, you should
-   initialize it to zero first.
-*/
-
-#define XMP_SIMPLE_SPINLOCK_ACQUIRE(atomic_int_ptr)    \
-  { while (xmp_atomic_int_conditional_set (atomic_int_ptr, 0, xmp_prid() + 1) != 0) \
-      xmp_spin(); }
-#define XMP_SIMPLE_SPINLOCK_RELEASE(atomic_int_ptr)    \
-  { while (xmp_atomic_int_conditional_set (atomic_int_ptr, xmp_prid() + 1, 0) != xmp_prid() + 1) \
-    xmp_spin(); }
-
-#define XMP_SIMPLE_SPINLOCK_OWNER(atomic_int_ptr) (xmp_atomic_int_value(atomic_int_ptr) - 1)
-
-
-/* -------------------------------------------------------------------------
-   xmp_mutex_t - An even higher-level data structure to enforce
-   mutual exclusion between cores.  A core which waits on a mutex might
-   sleep with a waiti and be interrupted by an interrupt.
-
-   Mutexes can be normal or recursive. For a normal mutex, a core
-   attempting to acquire a mutex it already holds will result in
-   deadlock. For a recursive mutex, a core will succeed in acquiring a
-   mutex it already holds, and must release it as many times as it
-   acquired it.
-
-   Mutexes are not sharable between interrupt levels--because
-   ownership is tracked by core, not thread.
-
-   Like all xmp data structures, an object of type xmp_mutex_t
-   should be treated by the programmer as opaque.  They are only
-   public in this header file to allow them to be declared statically.
-
-   For configurations with 16-byte cache lines, this has the most
-   frequently used and changed data in the first line.
-
-*/
-
-#if XCHAL_DCACHE_IS_COHERENT
-typedef struct xmp_mutex_t {
-  xmp_atomic_int_t qlock;
-  unsigned int qhead;
-  unsigned int qtail;
-  unsigned char queue[XMP_MAX_CORES];
-  unsigned short held;
-
-  unsigned char owner;
-  unsigned char recursive : 1;
-  unsigned char trace : 1;
-  unsigned char system : 1;
-  unsigned char unused : 5;
-  const char * name;
-} xmp_mutex_t __attribute__ ((aligned (XMP_MAX_DCACHE_LINESIZE)));
-
-
-#define XMP_MUTEX_INITIALIZER(name)                                    \
-  { 0, 0, -1, {XMP_NO_OWNER, XMP_NO_OWNER, XMP_NO_OWNER, XMP_NO_OWNER}, \
-      0, XMP_NO_OWNER, XMP_MUTEX_FLAG_NORMAL, 0, 0, 0, name }
-
-#define XMP_RECURSIVE_MUTEX_INITIALIZER(name)                          \
-  { 0, 0, -1, {XMP_NO_OWNER, XMP_NO_OWNER, XMP_NO_OWNER, XMP_NO_OWNER}, \
-      0, XMP_NO_OWNER, XMP_MUTEX_FLAG_RECURSIVE, 0, 0, 0, name }
-
-#define XMP_MUTEX_FLAG_NORMAL 0
-#define XMP_MUTEX_FLAG_RECURSIVE 1
-
-#define XMP_MUTEX_ACQUIRE_FAILED -1
-#define XMP_MUTEX_ERROR_DESTROY_OWNED -2
-#define XMP_MUTEX_ERROR_NOT_OWNED -3
-#define XMP_MUTEX_ERROR_ALREADY_OWNED -4
-
-/*
-   xmp_mutex_init
-   
-   Nonsynchronizing
-   Nonblocking 
-
-   Usage: 
-      mutex - points to an uninitialized mutex
-      name - name if you want one, NULL if not.
-      recursive - use recursive semantices      
-
-   Returns
-      zero on success (always succeeds)
-
-*/
-
-extern int xmp_mutex_init (xmp_mutex_t * mutex, 
-                           const char * name, 
-                           unsigned int recursive);
-
-/*
-   int xmp_mutex_destroy (xmp_mutex_t * mutex);
-   
-   Synchronizing - will fail if mutex is held by anyone -- including 
-                   current processor
-   Nonblocking 
-
-   Usage: 
-      mutex - points to a mutex
-
-   Returns
-      zero on success
-      non-zero if mutex is held
-*/
-
-extern int xmp_mutex_destroy (xmp_mutex_t * mutex);
-
-
-/*
-   xmp_mutex_lock -- Synchronizing
-   xmp_mutex_trylock
-
-   Usage: 
-      mutex - points to a mutex
-
-   Returns
-      zero on success
-*/
-
-extern int xmp_mutex_lock (xmp_mutex_t * mutex);
-extern int xmp_mutex_trylock (xmp_mutex_t * mutex);
-
-
-/*
-   xmp_mutex_unlock
-   
-   Synchronizing
-   Nonblocking 
-
-   Usage: 
-      mutex - points to a mutex
-
-   Returns
-      zero on success - mutex is released
-      non-zero on failure - mutex is owned by another core 
-                          - prid of processor that does own it
-                           note that by the time this function
-                           returns, the owner of the core may 
-                           have changed.
-*/
-
-extern int xmp_mutex_unlock (xmp_mutex_t * mutex);
-
-
-/*
-   xmp_mutex_name
-   
-   Nonsynchronizing
-   Nonblocking 
-
-   Usage: 
-      mutex - points to a mutex
-
-   Returns the name of the given mutex, which may be NULL.
-      
-*/
-
-const char * xmp_mutex_name (const xmp_mutex_t * mutex);
-
-
-/* 
-   xmp_mutex_trace_on
-   xmp_mutex_trace_off
-
-   Nonsynchronizing
-   Nonblocking
-
-   Turn off and on tracing for the mutex.
-
-   These functions are only present in the debug version of the library.
-*/
-
-extern void xmp_mutex_trace_on (xmp_mutex_t * mutex);
-extern void xmp_mutex_trace_off (xmp_mutex_t * mutex);
-
-
-/* -------------------------------------------------------------------------
-   xmp_condition_t
-
-   Condition Variables following Mesa semantics. 
-
-   Condition variables are not sharable among interrupt levels.
-
-*/
-
-
-typedef struct xmp_condition_t {
-  unsigned int qhead;
-  unsigned int qtail;
-  unsigned char queue[XMP_MAX_CORES];
-  unsigned int waiting[XMP_MAX_CORES];
-
-  unsigned char trace : 1;
-  unsigned char unused : 7;
-  const char * name;
-} xmp_condition_t __attribute__ ((aligned (XMP_MAX_DCACHE_LINESIZE)));
-
-
-#define XMP_CONDITION_INITIALIZER(name)                                \
-  { 0, -1, {XMP_NO_OWNER, XMP_NO_OWNER, XMP_NO_OWNER, XMP_NO_OWNER}, \
-      {0, 0, 0, 0}, 0, 0, name}
-
-
-/* xmp_condition_init - Initialize a condition variable
-
-   Nonsynchronizing, Nonblocking 
-
-   Usage: 
-      condition - pointer to an xmp_condition_t
-
-   On exit:
-      condition initialized
-
-   Errors: none
-*/
-
-extern int xmp_condition_init (xmp_condition_t * condition, 
-                               const char * name);
-extern int xmp_condition_destroy (xmp_condition_t * condition);
-
-
-/* xmp_condition_wait - Wait for a condition variable
-
-   Synchronizing, blocking 
-
-   Usage: 
-      condition - pointer to an xmp_condition_t
-      mutex - pointer to an xmp_mutex_t already acquired by the calling
-              process
-
-   Errors: if the mutex isn't held by this core
-*/
-
-extern int xmp_condition_wait (xmp_condition_t * condition, 
-                               xmp_mutex_t * mutex);
-
-/* xmp_condition_signal 
-
-   - Signal the first (if any) core waiting on a condition variable
-
-   You must hold the mutex you passed to xmp_condition_wait before
-   calling this function.
-
-   Synchronizing, nonblocking
-
-   Usage: 
-      condition - pointer to an xmp_condition_t
-
-   Errors: none
-*/
-
-extern int xmp_condition_signal (xmp_condition_t * condition);
-
-
-/* xmp_condition_broadcast
-
-   - Signal all cores waiting on a condition variable
-
-   Synchronizing, nonblocking
-
-   You must hold the mutex you passed to xmp_condition_wait before
-   calling this function.
-
-   Usage: 
-      condition - pointer to an xmp_condition_t
-
-   Errors: none
-*/
-
-extern int xmp_condition_broadcast (xmp_condition_t * condition);
-
-
-static inline const char * xmp_condition_name (const xmp_condition_t * condition)
-{
-  return condition->name;
-}
-
-/* 
-   xmp_condition_trace_on
-   xmp_condition_trace_off
-
-   Nonsynchronizing
-   Nonblocking
-
-   Turn off and on statistics and tracing for the condition.  For
-   tracing you must also set a trace file for the core.
-
-   These functions are only present in the debug-version of the library.
-*/
-
-extern void xmp_condition_trace_on (xmp_condition_t * condition);
-extern void xmp_condition_trace_off (xmp_condition_t * condition);
-
-#endif /* XCHAL_DCACHE_IS_COHERENT */
-
-/* -------------------------------------------------------------------------
-   xmp_barrier_t
-
-   Classic barriers that stop any core from continuing until a
-   specified number of cores reach that point. Once the barrier allows
-   cores through, the barrier is reset and will stop cores from
-   progressing again.
-
-   Barriers are not sharable among interrupt levels.
-
-*/
-
-
-typedef struct xmp_barrier_t 
-{ 
-  xmp_atomic_int_t count; 
-  xmp_atomic_int_t state;
-  xmp_atomic_int_t sleeping;
-  unsigned short num_cores;
-  unsigned short trace : 1;
-  unsigned short system : 1;
-  const char * name;
-} xmp_barrier_t __attribute__ ((aligned (XMP_MAX_DCACHE_LINESIZE)));
-
-#define XMP_BARRIER_INITIALIZER(number, name)  \
-  { 0, 0, 0, number, 0, 0, name }
-
-
-/* xmp_barrier_init - Initialize a barrier
-
-   Nonsynchronizing, Nonblocking 
-
-   Usage: 
-      barrier - pointer to an xmp_barrier_t
-      num_cores - number of cores needed to arrive at the 
-                  barrier before any are allowed through
-   On exit:
-      barrier initialized
-
-   Always returns zero.
-
-   Errors: none
-*/
-
-extern int xmp_barrier_init (xmp_barrier_t * barrier, int num_cores, 
-                             const char * name);
-
-
-/* xmp_barrier_wait - Wait on a barrier
-
-   Nonsynchronizing, Nonblocking 
-
-   Usage: 
-      barrier - pointer to an xmp_barrier_t
-   On exit:
-      Enough cores (as determined at the barrier's initialization)
-      have reached the barrier.
-
-   Errors: none
-*/
-
-extern int xmp_barrier_wait (xmp_barrier_t * barrier);
-
-
-static inline const char * xmp_barrier_name (const xmp_barrier_t * barrier)
-{
-  return barrier->name;
-}
-
-
-/* 
-   xmp_barrier_trace_on
-   xmp_barrier_trace_off
-
-   Nonsynchronizing
-   Nonblocking
-
-   Turn on and off tracing for the barrier.  For
-   tracing you must also set a trace file for the core.
-
-   These functions are only present in the debug-version of the library.
-*/
-
-extern void xmp_barrier_trace_on (xmp_barrier_t * barrier);
-extern void xmp_barrier_trace_off (xmp_barrier_t * barrier);
-
-
-/* -------------------------------------------------------------------------
-   Portions of the library that are internal, but belong here for
-   convenience.
-*/
-
-extern xmp_atomic_int_t _ResetSync;
-
-static inline void 
-xmp_initial_sync (int num_cores)
-{
-  xmp_atomic_int_increment (&_ResetSync, 1);
-  while (xmp_coherent_l32ai (&_ResetSync) != num_cores)
-    xmp_spin ();
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _XMP_LIBRARY_H */
diff --git a/components/esp32/include/xtensa/xos.h b/components/esp32/include/xtensa/xos.h
deleted file mode 100644 (file)
index 883a9c9..0000000
+++ /dev/null
@@ -1,524 +0,0 @@
-/** @file */
-
-// xos.h - XOS API interface and data structures visible to user code.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-#ifndef __XOS_H__
-#define __XOS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include "xos_types.h"
-
-#include <xtensa/config/core.h>
-#if XCHAL_HAVE_INTERRUPTS
-#include <xtensa/tie/xt_core.h>
-#include <xtensa/tie/xt_interrupt.h>
-#endif
-
-#include "xos_common.h"
-#include "xos_errors.h"
-#include "xos_regaccess.h"
-
-
-//-----------------------------------------------------------------------------
-// Convert x into a literal string.
-//-----------------------------------------------------------------------------
-#define _XOS_STR(x)             __XOS_STR(x)
-#define __XOS_STR(x)            #x
-
-
-//-----------------------------------------------------------------------------
-// XOS version.
-//-----------------------------------------------------------------------------
-#define XOS_VERSION_MAJOR       1
-#define XOS_VERSION_MINOR       10
-#define XOS_VERSION_STRING      "1.10"      ///< XOS version string.
-
-
-//-----------------------------------------------------------------------------
-// Runtime error handling.
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-///
-///  Reports a fatal error and halts XOS operation, i.e. halts the system. This
-///  function will call a user-registered error handler (if one has been set) 
-///  and then halt the system. The user handler may do system-specific things
-///  such as record the error reason in nonvolatile memory etc.
-///
-///  \param     errcode         Error code. May be any user defined value < 0.
-///                             Values >=0 are reserved for use by the system.
-///
-///  \param     errmsg          Optional text string describing the error.
-///
-///  \return    This function does not return.
-///
-//-----------------------------------------------------------------------------
-void
-xos_fatal_error(int32_t errcode, const char * errmsg);
-
-
-#if XOS_DEBUG
-
-// Do not call directly.
-void
-xos_assert(const char * file, int32_t line);
-
-//-----------------------------------------------------------------------------
-///
-///  Check condition and fail if condition expression is false.
-///  In debug builds, an assertion failure will cause a fatal error to be
-///  reported. In non-debug builds, assertions are compiled out.
-///
-///  NOTE: Remember that any code in XOS_ASSERT() statements gets compiled out
-///  for non-debug builds.
-///
-//-----------------------------------------------------------------------------
-
-#define XOS_ASSERT(expr)        if ((expr) == 0) xos_assert(__FILE__, __LINE__)
-
-#else
-
-#define XOS_ASSERT(expr)
-
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Interrupt handler function pointer type.
-///
-//-----------------------------------------------------------------------------
-typedef void    (XosIntFunc)(void * arg);
-
-//-----------------------------------------------------------------------------
-///
-/// Print handler function pointer type.
-///
-//-----------------------------------------------------------------------------
-typedef int32_t (XosPrintFunc)(void * arg, const char * fmt, ...);
-
-//-----------------------------------------------------------------------------
-///
-/// Fatal error handler function pointer type.
-///
-//-----------------------------------------------------------------------------
-typedef void    (XosFatalErrFunc)(int32_t errcode, const char * errmsg);
-
-//-----------------------------------------------------------------------------
-///
-/// Exception handler function pointer type.
-///
-//-----------------------------------------------------------------------------
-typedef void    (XosExcHandlerFunc)(XosExcFrame * frame);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Install a user defined exception handler for the specified exception type.
-///  This will override the default XOS exception handler. The handler is a C
-///  function that is passed one parameter -- a pointer to the exception frame.
-///  The exception frame is allocated on the stack of the thread that caused the
-///  exception, and contains saved state and exception information. For details
-///  of the exception frame see the structure XosExcFrame.
-///
-///  \param     exc             Exception type (number) to override. The exception
-///                             numbers are enumerated in <xtensa/corebits.h>.
-///
-///  \param     handler         Pointer to handler function to be installed.
-///                             To revert to the default handler, pass NULL.
-///
-///  \return    Returns a pointer to previous handler installed, if any.
-///
-//-----------------------------------------------------------------------------
-XosExcHandlerFunc *
-xos_register_exception_handler(int32_t exc, XosExcHandlerFunc * handler);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Install a user defined fatal error handler. This function will be called if
-///  a fatal error is reported either by user code or by XOS itself. It will be
-///  passed the same arguments that are passed to xos_fatal_error().
-///
-///  The handler need not return. It should make minimal assumptions about the
-///  state of the system. In particular, it should not assume that further XOS
-///  system calls will succeed.
-///
-///  \param     handler         Pointer to handler function to be installed.
-///
-///  \return    Returns a pointer to previous handler installed, if any.
-///
-//-----------------------------------------------------------------------------
-XosFatalErrFunc *
-xos_register_fatal_error_handler(XosFatalErrFunc * handler);
-
-
-#ifdef _XOS_INCLUDE_INTERNAL_
-# include "xos_internal.h"
-#endif
-
-
-#include "xos_thread.h"
-#include "xos_timer.h"
-#include "xos_cond.h"
-#include "xos_event.h"
-#include "xos_mutex.h"
-#include "xos_msgq.h"
-#include "xos_semaphore.h"
-#include "xos_stopwatch.h"
-
-
-//-----------------------------------------------------------------------------
-///
-///  Register a handler function to call when interrupt "num" occurs.
-///
-///  For level-triggered and timer interrupts, the handler function will have
-///  to clear the source of the interrupt before returning, to avoid infinitely
-///  retaking the interrupt. Edge-triggered and software interrupts are 
-///  automatically cleared by the OS interrupt dispatcher (see xos_handlers.S).
-///
-///  \param     num             Xtensa internal interrupt number (0..31). To
-///                             refer to a specific external interrupt number
-///                             (BInterrupt pin), use HAL macro XCHAL_EXTINTx_NUM
-///                             where 'x' is the external number.
-///
-///  \param     handler         Pointer to handler function.
-///
-///  \param     arg             Argument passed to handler.
-///
-///  \return    Returns XOS_OK if successful, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_register_interrupt_handler(int32_t num, XosIntFunc * handler, void * arg);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Unregister a handler function for interrupt "num". If no handler was 
-///  installed, this function will have no effect.
-///
-///  \param     num             Xtensa internal interrupt number (0..31). To
-///                             refer to a specific external interrupt number
-///                             (BInterrupt pin), use HAL macro XCHAL_EXTINTx_NUM
-///                             where 'x' is the external number.
-///
-///  \return    Returns XOS_OK if successful, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_unregister_interrupt_handler(int32_t num);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Register a high priority interrupt handler for interrupt level "level".
-///
-///  Unlike low and medium priority interrupt handlers, high priority handlers
-///  are not installed for a specific interrupt number, but for an interrupt
-///  level. The level must be above XCHAL_EXCM_LEVEL. The handler function must
-///  be written in assembly since C handlers are not supported for levels above
-///  XCHAL_EXCM_LEVEL. The handler function must preserve all registers except
-///  a0, and must return to the dispatcher via a "ret" instruction, not "rfi".
-///
-///  NOTE: This method of dispatch takes a few cycles of overhead. If you wish
-///  to save even these cycles, then you can define your own dispatch function
-///  to override the built-in dispatcher. See xos_handlers.S for more details.
-///
-///  \param     level           The interrupt level to be handled.
-///
-///  \param     handler         Pointer to handler function.
-///
-///  \return    Returns XOS_OK if successful, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_register_hp_interrupt_handler(int32_t level, void * handler);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Enable a specific interrupt, by interrupt number.
-///  The state (enabled vs. disabled) of individual interrupts is global, i.e.
-///  not associated with any specific thread. Depending on system options and
-///  implementation, this state may be stored in one of two ways:
-///  - directly in the INTENABLE register, or
-///  - in a global variable (this is generally the case when INTENABLE is used
-///    not just to control what interrupts are enabled globally, but also for
-///    software interrupt prioritization within an interrupt level, effectively
-///    providing finer grained levels; in this case XOS takes care to update
-///    INTENABLE whenever either the global enabled-state variable or the 
-///    per-thread fine-grained-level variable change).
-///  Thus it is best to never access the INTENABLE register directly.
-///
-///  To modify thread-specific interrupt priority level, use one of:
-///    - xos_set_int_pri_level()
-///    - xos_restore_int_pri_level()
-///    - xos_disable_interrupts()
-///    - xos_restore_interrupts()
-///
-///  NOTE: To refer to a specific external interrupt number (BInterrupt pin),
-///  use HAL macro XCHAL_EXTINTx_NUM where 'x' is the external interrupt
-///  number.  For example, to enable external interrupt 3 (BInterrupt[3]),
-///  you can use:
-///
-///      xos_interrupt_enable( XCHAL_EXTINT3_NUM );
-///
-///  \param     intnum          Interrupt number to enable. Must range between 0-31.
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-void
-xos_interrupt_enable(uint32_t intnum);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Disable a specific individual interrupt, by interrupt number.
-///
-///  This is the counterpart to xos_interrupt_enable(). See the description
-///  of xos_interrupt_enable() for further comments and notes.
-///
-///  \param     intnum          Interrupt number to disable. Must range between 0-31.
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-void
-xos_interrupt_disable(uint32_t intnum);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get the CPU's current interrupt priority level. Interrupts at or below this
-///  priority level are blocked.
-///
-///  \return    Returns the current IPL, ranging from 0 to XCHAL_NUM_INTLEVELS.
-///
-//-----------------------------------------------------------------------------
-static inline uint32_t
-xos_get_int_pri_level(void)
-{
-#if XCHAL_HAVE_INTERRUPTS
-    return XT_RSR_PS() & 0xF;
-#else
-    return 0;
-#endif
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set the CPU's interrupt priority level to the specified level, but only if
-///  the current IPL is below the one requested. This function will never cause
-///  the interrupt priority level to be lowered from the current level.
-///  Call this function to block interrupts at or below the specified priority
-///  level.
-///
-///  When setting the IPL temporarily (such as in a critical section), call
-///  xos_set_int_pri_level(), execute the critical code section, and then call
-///  xos_restore_int_pri_level().
-///
-///  The interrupt priority level is part of the thread context, so it is saved
-///  and restored across context switches. To enable and disable individual
-///  interrupts globally, use the functions xos_interrupt_enable() and
-///  xos_interrupt_disable() instead.
-///
-///  NOTE: It is usually not required to disable interrupts at a level higher
-///  than that of the highest priority interrupt that interacts with the OS
-///  (i.e. calls into XOS such that threads may be woken / blocked / 
-///  reprioritized / switched, or otherwise access XOS data structures).
-///  In XOS, that maximum level is XOS_MAX_OS_INTLEVEL, which defaults to
-///  XCHAL_EXCM_LEVEL. This may be modified by editing xos_params.h and
-///  rebuilding XOS.
-///
-///  \param     level           The new interrupt priority level (IPL).
-///
-///  \return    Returns a value that can be used to restore the previous
-///             priority level by calling xos_restore_int_pri_level(). This
-///             value should be treated as opaque by application code, and
-///             should be passed unchanged to the restore function.
-///
-//-----------------------------------------------------------------------------
-__attribute__((always_inline))
-static inline uint32_t
-xos_set_int_pri_level(uint32_t level)
-{
-#if XCHAL_HAVE_INTERRUPTS
-#pragma no_reorder
-    uint32_t ps = XT_RSR_PS();
-
-    if (level > (ps & 0xF)) {
-        level = (ps & ~0xF) | level;
-        XT_WSR_PS(level);
-        XT_RSYNC();
-    }
-
-    return ps;
-#else
-    return 0;
-#endif
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Restores the CPU to a previously saved interrupt priority level. This level
-///  must have been obtained by calling xos_set_int_pri_level().
-///
-///  \param     oldval          Return value from xos_set_int_pri_level().
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-__attribute__((always_inline))
-static inline void
-xos_restore_int_pri_level(const uint32_t oldval)
-{
-#if XCHAL_HAVE_INTERRUPTS
-#pragma no_reorder
-    XT_WSR_PS(oldval);
-    XT_RSYNC();
-#else
-    // Nothing
-#endif
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Disable all interrupts that can interact directly with the OS. This is a
-///  convenience function, shorthand for setting the IPL to XOS_MAX_OS_INTLEVEL.
-///
-///  Returns: A value that can be used to restore the previous priority level
-///  by calling xos_restore_interrupts(). This value should be treated as
-///  opaque by application code, and should be passed unchanged to the restore
-///  function.
-///
-//-----------------------------------------------------------------------------
-static inline uint32_t
-xos_disable_interrupts(void)
-{
-    return xos_set_int_pri_level(XOS_MAX_OS_INTLEVEL);
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Restore the CPU's previously saved interrupt status. This is a convenience
-///  function, the counterpart to xos_disable_interrupts().
-///
-///  \return    rval            Return value from xos_disable_interrupts().
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-static inline void
-xos_restore_interrupts(uint32_t rval)
-{
-    xos_restore_int_pri_level(rval);
-}
-
-
-#ifdef _XOS_INCLUDE_INTERNAL_
-
-//-----------------------------------------------------------------------------
-//  Enter an OS critical section, i.e. get exclusive access to OS critical 
-//  state and data structures. Code that manipulates the state of OS objects
-//  or modifies internal OS state must call this function first, to ensure
-//  that it has exclusive access. On a single-core system, this is equivalent
-//  to blocking all interrupts that can interact directly with the OS, i.e.
-//  all interrupts at or below XOS_MAX_OS_INTLEVEL. In a multi-core system
-//  this is likely to be implemented differently to achieve the same effect.
-//
-//  Returns: A value that is to be used to restore the state of the CPU when
-//  exiting the critical section. This must be treated as opaque and passed
-//  unmodified to xos_critical_exit().
-//
-//  NOTE: This function is meant for use in OS code, not in applications.
-//-----------------------------------------------------------------------------
-__attribute__((always_inline))
-static inline uint32_t
-xos_critical_enter(void)
-{
-#if XCHAL_HAVE_INTERRUPTS
-    // This function cannot be called by high-level interrupt handlers,
-    // i.e. it can never be called with intlevel > XOS_MAX_OS_INTLEVEL.
-    // So, we do not need to check current intlevel because we will not
-    // ever be lowering it by setting it to XOS_MAX_OS_INTLEVEL.
-    // NOTE: sync after RSIL not needed.
-    return XT_RSIL(XOS_MAX_OS_INTLEVEL);
-#else
-    return 0;
-#endif
-}
-
-
-//-----------------------------------------------------------------------------
-//  Exit an OS critical section and restore CPU state. See the documentation
-//  for xos_critical_enter().
-//
-//  cflags              Return value from xos_critical_enter().
-//                      Must be treated as an opaque value.
-//
-//  Returns: Nothing.
-//
-//  NOTE: This function is meant for use in OS code, not in applications.
-//-----------------------------------------------------------------------------
-__attribute__((always_inline))
-static inline void
-xos_critical_exit(uint32_t cflags)
-{
-    xos_restore_int_pri_level(cflags);
-}
-
-#endif // _XOS_INCLUDE_INTERNAL_
-
-
-// This file uses things defined above
-#include "xos_syslog.h"
-
-
-// Misc
-
-//-----------------------------------------------------------------------------
-//  Helper function to list all threads in system. Useful for debug.
-//-----------------------------------------------------------------------------
-void
-xos_display_threads(void * arg, XosPrintFunc * print_fn);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  // __XOS_H__
-
diff --git a/components/esp32/include/xtensa/xos_common.h b/components/esp32/include/xtensa/xos_common.h
deleted file mode 100644 (file)
index 647cb7f..0000000
+++ /dev/null
@@ -1,362 +0,0 @@
-
-// xos_common.h - Macros and definitions common to C and assembly code.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-#ifndef __XOS_COMMON_H__
-#define __XOS_COMMON_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#include <xtensa/corebits.h>
-#include <xtensa/config/system.h>
-#include <xtensa/config/tie.h>
-
-#include "xos_params.h"
-
-
-//-----------------------------------------------------------------------------
-//  Macros that help define structures for both C and assembler.
-//  These are somewhat different from the XTOS version in xtruntime-frames.h.
-//-----------------------------------------------------------------------------
-#if defined(_ASMLANGUAGE) || defined(__ASSEMBLER__)
-
-#define STRUCT_BEGIN            .pushsection .text; .struct 0
-#define STRUCT_FIELD(ctype,size,asname,name)    asname: .space  size
-#define STRUCT_AFIELD(ctype,size,asname,name,n) asname: .space  (size)*(n)
-#define STRUCT_END(sname)       sname##Size:; .popsection
-
-#else
-
-#define STRUCT_BEGIN            typedef struct {
-#define STRUCT_FIELD(ctype,size,asname,name)    ctype   name;
-#define STRUCT_AFIELD(ctype,size,asname,name,n) ctype   name[n];
-#define STRUCT_END(sname)       } sname;
-
-#endif //_ASMLANGUAGE || __ASSEMBLER__
-
-
-//-----------------------------------------------------------------------------
-//  Offsets relative to xos_globals.
-//-----------------------------------------------------------------------------
-#define XOS_INTLEVEL_MASK       0       // offset to the level mask
-#define XOS_INTENABLE_MASK      4       // offset to the enable mask
-#define XOS_CURR_THREADPTR      8       // offset to the current thread ptr
-#define XOS_NEXT_THREADPTR      12      // offset to the next thread ptr
-#define XOS_INTERRUPT_TABLE     16      // offset to the interrupt table
-
-
-//-----------------------------------------------------------------------------
-//  Offsets for xos_interrupt_table[] entries.
-//-----------------------------------------------------------------------------
-#define XOS_INTTAB_HANDLER      (XOS_INTERRUPT_TABLE+0)  // ofs to interrupt handler
-#define XOS_INTTAB_ARG          (XOS_INTERRUPT_TABLE+4)  // ofs to interrupt handler arg
-#define XOS_INTTAB_PS           (XOS_INTERRUPT_TABLE+8)  // (hwpri) PS for interrupt level
-#define XOS_INTTAB_LEVEL        (XOS_INTERRUPT_TABLE+8)  // (swpri) interrupt level (1..7)
-#define XOS_INTTAB_PRI          (XOS_INTERRUPT_TABLE+9)  // (swpri) interrupt priority (0..255)
-#define XOS_INTTAB_PRIMASK      (XOS_INTERRUPT_TABLE+12) // (swpri) mask of higher pri. interrupts
-
-
-//-----------------------------------------------------------------------------
-//  Exception/interrupt stack frame layout for a pre-empted thread
-//  tcb->resume_fn == &xos_resume_preempted_thread).
-//  Pointed to by thread->esf. Located just below thread's current stack ptr.
-//  Thread's a1 == thread->esf + XosExcFrameSize.
-//  NOTE: exception frame size is a multiple of 16.
-//-----------------------------------------------------------------------------
-STRUCT_BEGIN
-STRUCT_AFIELD(long,4,FRAME_AREG,areg, 12)       // a4-a15 (offsets 0 thru 44)
-                                                // (a1 is computed, a0,a2-a3 are in s32e range of a1)
-//#if XCHAL_HAVE_LOOPS
-STRUCT_FIELD (long,4,FRAME_LBEG,lbeg)
-STRUCT_FIELD (long,4,FRAME_LEND,lend)
-STRUCT_FIELD (long,4,FRAME_LCOUNT,lcount)
-//#endif
-//#if XCHAL_HAVE_MAC16
-STRUCT_FIELD (long,4,FRAME_ACCLO,acclo)
-STRUCT_FIELD (char,1,FRAME_ACCHI,acchi)
-//#endif
-STRUCT_FIELD (char,1,FRAME_SAR,sar)
-STRUCT_FIELD (short,2,FRAME_PAD0,pad0)          // unused
-STRUCT_FIELD (long,4,FRAME_EXCCAUSE,exccause)
-STRUCT_FIELD (long,4,FRAME_EXCVADDR,excvaddr)
-STRUCT_FIELD (long,4,FRAME_PAD1,pad1)           // unused -- pad to make multiple of 16 bytes
-STRUCT_FIELD (long,4,FRAME_PAD2,pad2)
-STRUCT_FIELD (long,4,FRAME_PS,ps)               // (XOS_FRAME_SIZE-44) in S32E range of end
-STRUCT_FIELD (long,4,FRAME_PC,pc)               // (XOS_FRAME_SIZE-40) in S32E range of end
-STRUCT_FIELD (long,4,FRAME_A0,a0)
-STRUCT_FIELD (long,4,FRAME_A2,a2)               // (XOS_FRAME_SIZE-32) in S32E range of end
-STRUCT_FIELD (long,4,FRAME_A3,a3)               // (XOS_FRAME_SIZE-28) in S32E range of end
-STRUCT_FIELD (long,4,FRAME_LEVELMASK,levelmask) //
-STRUCT_FIELD (long,4,FRAME_NESTCHAIN,nestchain) // nested C function call chain ptr
-// Caller's a0-a3 save area below SP. These fields MUST be the last ones in the
-// struct so that they are guaranteed to be just under the original SP (before
-// we allocate the exception frame).
-STRUCT_AFIELD (long,4,FRAME_CWINSAVE,cwinsave, 4)  // (XOS_FRAME_SIZE-16)
-STRUCT_END(XosExcFrame)                         // NOTE: exception frame size is 128
-
-#define FRAME_AR(x)         (FRAME_AREG + x*4 - 16)
-
-#if defined(_ASMLANGUAGE) || defined(__ASSEMBLER__)
-#define XOS_FRAME_SIZE      XosExcFrameSize
-#else
-#define XOS_FRAME_SIZE      sizeof(XosExcFrame)
-#endif
-
-
-//-----------------------------------------------------------------------------
-//  Stack frame layout for a cooperatively switched out thread
-//  (tcb->resume_fn == &xos_resume_cooperative_thread).
-//  Pointed to by thread->esf.  This is a function frame.
-//  Thread's a1 == thread->esf.
-//-----------------------------------------------------------------------------
-STRUCT_BEGIN
-STRUCT_FIELD (long,4,CFRAME_A0,a0)              // return PC
-STRUCT_FIELD (long,4,CFRAME_LEVELMASK,levelmask)
-STRUCT_FIELD (long,4,CFRAME_PS,ps)
-#ifdef __XTENSA_CALL0_ABI__
-STRUCT_FIELD (long,4,CFRAME_PAD0,pad0)
-STRUCT_AFIELD(long,4,CFRAME_AREG,areg,4)        // callee-saved regs a12-a15
-#endif
-STRUCT_END(XosCoopFrame)
-
-
-//-----------------------------------------------------------------------------
-//  Offsets into thread control block (must match xos_thread.h !!)
-//-----------------------------------------------------------------------------
-#define TCB_RESUME_FN           12      // ptr to thread resume asm sequence
-#define TCB_STACK_ESF           16      // saved stack ptr (actually, ptr to ESF)
-#define TCB_TIE_SAVE            20      // ptr to TIE save area
-#define TCB_RETVALUE            24      // ptr to xos_block return value
-#define TCB_STACK_END           36      // ptr to end of stack (thread's initial stack ptr)
-#define TCB_STARTUP_ENTRY       40      // ptr to thread entry function
-#define TCB_STARTUP_ARG         44      // ptr to thread entry function's arg
-#define TCB_READY               48      // thread ready state (1 byte)
-#define TCB_CLIB_PTR            108     // thread C lib context pointer
-
-#define TCB_RESUME_CCOUNT       116     // cycle count at last resume
-#define TCB_CYCLE_COUNT         120     // number of cycles consumed
-#define TCB_NORMAL_RESUMES      128     // number of cooperative/restart thread resumes
-#define TCB_PREEMPT_RESUMES     132     // number of pre-emptive thread resumes
-
-
-//-----------------------------------------------------------------------------
-//  Coprocessor state handling:
-//  The coprocessor state save area is allocated on the thread stack. The stack
-//  must be sized appropriately. Threads that do not use coprocessors need not
-//  allocate the storage area.
-//
-//  Along with the save area for each coprocessor, two bitmasks with flags per
-//  coprocessor (laid out as in the CPENABLE reg) help manage context switching
-//  coprocessors as efficiently as possible:
-//
-//  XT_CPENABLE
-//    The contents of a non-running thread's CPENABLE register.
-//    It represents the coprocessors owned (and whose state is still needed)
-//    by the thread. When a thread is preempted, its CPENABLE is saved here.
-//    When a thread solicits a context switch, its CPENABLE is cleared - the
-//    compiler has saved the (caller-saved) coprocessor state if needed.
-//    When a non-running thread loses ownership of a CP, its bit is cleared.
-//    When a thread runs, it's XT_CPENABLE is loaded into the CPENABLE reg.
-//    Avoids coprocessor exceptions when no change of ownership is needed.
-//
-//  XT_CPSTORED
-//    A bitmask with the same layout as CPENABLE, a bit per coprocessor.
-//    Indicates whether the state of each coprocessor is saved in the state 
-//    save area. When a thread enters the kernel, only the state of coprocs
-//    still enabled in CPENABLE is saved. When the coprocessor exception 
-//    handler assigns ownership of a coprocessor to a thread, it restores 
-//    the saved state only if this bit is set, and clears this bit.
-//
-//  XT_CP_CS_ST
-//    A bitmask with the same layout as CPENABLE, a bit per co-processor.
-//    Indicates whether callee-saved state is saved in the state save area.
-//    Callee-saved state is saved by itself on a solicited context switch,
-//    and restored when needed by the coprocessor exception handler.
-//    Unsolicited switches will cause the entire coprocessor to be saved
-//    when necessary.
-//
-//  XT_NCP_ASA
-//    Pointer to aligned save area for non-CP state. This is always filled
-//    in, even if there is no non-CP state to be saved. If there is no state
-//    to be saved then no space is actually allocated and this pointer is
-//    not used.
-//
-//  XT_CP_ASA
-//    Pointer to aligned save area for coprocessor state. This is filled in
-//    only if coprocessor state is to be saved for the thread. Allows it to be
-//    aligned more than the overall save area (which might be stack-aligned
-//    or TCB-aligned). Especially relevant for Xtensa cores configured with a
-//    very large data path that requires alignment greater than 16 bytes (ABI
-//    stack alignment).
-//-----------------------------------------------------------------------------
-
-#define ALIGNUP(n, val) (((val) + (n)-1) & -(n))
-
-//  Offsets of each coprocessor save area within the 'aligned save area'.
-//  The non-CP TIE state save area is at offset 0, so that it does not
-//  move around if some or all coprocessors are not to be saved.
-
-#define XT_NCP_SA       0
-#define XT_CP0_SA       ALIGNUP(XCHAL_CP0_SA_ALIGN, XT_NCP_SA + XCHAL_NCP_SA_SIZE)
-#define XT_CP1_SA       ALIGNUP(XCHAL_CP1_SA_ALIGN, XT_CP0_SA + XCHAL_CP0_SA_SIZE)
-#define XT_CP2_SA       ALIGNUP(XCHAL_CP2_SA_ALIGN, XT_CP1_SA + XCHAL_CP1_SA_SIZE)
-#define XT_CP3_SA       ALIGNUP(XCHAL_CP3_SA_ALIGN, XT_CP2_SA + XCHAL_CP2_SA_SIZE)
-#define XT_CP4_SA       ALIGNUP(XCHAL_CP4_SA_ALIGN, XT_CP3_SA + XCHAL_CP3_SA_SIZE)
-#define XT_CP5_SA       ALIGNUP(XCHAL_CP5_SA_ALIGN, XT_CP4_SA + XCHAL_CP4_SA_SIZE)
-#define XT_CP6_SA       ALIGNUP(XCHAL_CP6_SA_ALIGN, XT_CP5_SA + XCHAL_CP5_SA_SIZE)
-#define XT_CP7_SA       ALIGNUP(XCHAL_CP7_SA_ALIGN, XT_CP6_SA + XCHAL_CP6_SA_SIZE)
-
-#define XT_TOT_SA_SIZE  ALIGNUP(16, XT_CP7_SA + XCHAL_CP7_SA_SIZE)
-#define XT_NCP_SA_SIZE  XCHAL_NCP_SA_SIZE
-
-//  Offsets within the overall save area
-
-#define XT_CPENABLE     0   // (2 bytes) coprocessors active for this thread
-#define XT_CPSTORED     2   // (2 bytes) coprocessors saved for this thread
-#define XT_CP_CS_ST     4   // (2 bytes) coprocessor callee-saved regs for this thread
-#define XT_NCP_ASA      8   // (4 bytes) ptr to aligned save area for nonCP state
-#define XT_CP_ASA      12   // (4 bytes) ptr to aligned save area for CP state
-
-//  Overall size allows for dynamic alignment, make sure multiple of 4 bytes.
-//    XT_CP_SIZE  - total space needed for all coprocessors + nonCP state + hdr
-//    XT_NCP_SIZE - total space needed for nonCP state + hdr
-
-#define XT_CP_SIZE      ALIGNUP(4, (16 + XT_TOT_SA_SIZE + XCHAL_TOTAL_SA_ALIGN))
-#define XT_NCP_SIZE     ALIGNUP(4, (16 + XT_NCP_SA_SIZE + XCHAL_TOTAL_SA_ALIGN))
-
-
-//-----------------------------------------------------------------------------
-//  Stack size computation.
-//
-//  XOS_STACK_MIN_SIZE
-//    The minimum recommended stack size for any XOS thread. If you want to
-//    use a stack size smaller than this, you will have to verify that the
-//    smaller size will work under all operating conditions.
-//
-//  XOS_STACK_MIN_SIZE_NO_CP
-//    The minimum recommended atack size for threads that will not use any
-//    coprocessor resources. No coprocessor state will be saved/restored
-//    for these threads. Non-CP TIE state will still be saved/restored.
-//    These threads must be created with the flag XOS_THREAD_NO_CP.
-//
-//  XOS_STACK_EXTRA
-//    The amount of stack space used by the system to:
-//      - save coprocessor state
-//      - save non-coprocessor TIE state
-//      - allocate an interrupt/exception frame
-//
-//  XOS_STACK_EXTRA_NO_CP
-//    The amount of stack space used by the system to:
-//      - save non-coprocessor TIE state
-//      - allocate an interrupt/exception frame
-//-----------------------------------------------------------------------------
-
-#define XOS_STACK_EXTRA             (XOS_FRAME_SIZE + XT_CP_SIZE)
-#define XOS_STACK_EXTRA_NO_CP       (XOS_FRAME_SIZE + XT_NCP_SIZE)
-
-#ifdef __XTENSA_CALL0_ABI__
-#define XOS_STACK_MIN_SIZE          (XOS_STACK_EXTRA + 0x180)
-#define XOS_STACK_MIN_SIZE_NO_CP    (XOS_STACK_EXTRA_NO_CP + 0x180)
-#else
-#define XOS_STACK_MIN_SIZE          (XOS_STACK_EXTRA + 0x200)
-#define XOS_STACK_MIN_SIZE_NO_CP    (XOS_STACK_EXTRA_NO_CP + 0x200)
-#endif
-
-
-//-----------------------------------------------------------------------------
-//  Items related to C library thread safety.
-//-----------------------------------------------------------------------------
-#if XOS_OPT_THREAD_SAFE_CLIB
-
-#if XSHAL_CLIB == XTHAL_CLIB_XCLIB
-  #if !defined(_ASMLANGUAGE) && !defined(__ASSEMBLER__)
-  #include <sys/reent.h>
-  #endif
-  #define CLIB_THREAD_STRUCT      struct _reent xclib_reent
-  #define GLOBAL_CLIB_PTR         _reent_ptr
-#elif XSHAL_CLIB == XTHAL_CLIB_NEWLIB
-  #if !defined(_ASMLANGUAGE) && !defined(__ASSEMBLER__)
-  #include <sys/reent.h>
-  #endif
-  #define CLIB_THREAD_STRUCT      struct _reent newlib_reent
-  #define GLOBAL_CLIB_PTR         _impure_ptr
-#else
-  #error The selected C runtime library is not thread safe.
-#endif
-
-#endif // XOS_OPT_THREAD_SAFE_CLIB
-
-
-//-----------------------------------------------------------------------------
-//  Check (MAX_OS_INTLEVEL,EXCM_LEVEL)
-//-----------------------------------------------------------------------------
-#if XOS_MAX_OS_INTLEVEL >= XCHAL_EXCM_LEVEL
-# define XOS_MAX_OSEXCM_LEVEL   XOS_MAX_OS_INTLEVEL
-#else
-# warning "XOS_MAX_OS_INTLEVEL was set below XCHAL_EXCM_LEVEL: this was never tested"
-# define XOS_MAX_OSEXCM_LEVEL   XCHAL_EXCM_LEVEL
-#endif
-
-
-//-----------------------------------------------------------------------------
-//  Detect if in interrupt context.
-//-----------------------------------------------------------------------------
-#if XCHAL_HAVE_INTERRUPTS
-#define INTERRUPT_CONTEXT       ((XT_RSR_PS() & PS_UM) == 0)
-#else
-#define INTERRUPT_CONTEXT       0
-#endif
-
-
-//-----------------------------------------------------------------------------
-//  Xtensa tools version.
-//-----------------------------------------------------------------------------
-#if defined __XCC__
-#define XTTOOLS_VERSION         (__XCC__ + __XCC_MINOR__)
-#else
-#define XTTOOLS_VERSION         (0)
-#endif
-
-
-//-----------------------------------------------------------------------------
-//  Erratum workarounds.
-//-----------------------------------------------------------------------------
-
-// Erratum 487 fix is available in version RF.3 onwards and RG.2 onwards.
-#if ((__XCC__ == 11000) && (__XCC_MINOR__ >= 3)) || (XTTOOLS_VERSION >= 12002)
-#define HWERR_487_FIX           hw_erratum_487_fix
-#else
-#define HWERR_487_FIX
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  // __XOS_COMMON_H__
-
diff --git a/components/esp32/include/xtensa/xos_cond.h b/components/esp32/include/xtensa/xos_cond.h
deleted file mode 100644 (file)
index 8116947..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/** @file */
-
-// xos_cond.h - XOS condition variables API interface and data structures.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-#ifndef __XOS_COND_H__
-#define __XOS_COND_H__
-
-#include "xos_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//-----------------------------------------------------------------------------
-//
-// Function pointer type for condition callbacks (defined in xos_thread.h)
-//
-// typedef int32_t (XosCondFunc)(void * arg, int32_t sig_value, XosThread * thread);
-//
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-///
-/// Condition object.
-///
-//-----------------------------------------------------------------------------
-typedef struct XosCond {
-  XosThreadQueue        queue;          ///< Queue of waiters.
-#if XOS_COND_DEBUG
-  uint32_t              sig;            // Signature indicates valid object.
-#endif
-} XosCond;
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize a condition object before first use. The object must be
-///  allocated by the caller.
-///
-///  \param     cond            Pointer to condition object.
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-void
-xos_cond_create(XosCond * cond);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Destroy a condition object. Must have been previously created by calling
-///  xos_cond_create().
-///
-///  \param     cond            Pointer to condition object.
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-void
-xos_cond_delete(XosCond * cond);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Wait on a condition: block until the condition is satisfied. The condition
-///  is satisfied when xos_cond_signal() is called on this condition *and* the
-///  condition callback function returns non-zero. If there is no callback
-///  function, then the condition is automatically satisfied.
-///
-///  The condition structure must have been initialized before first use by
-///  calling xos_cond_create().
-///
-///  \param     cond            Pointer to condition object.
-///
-///  \param     cond_fn         Pointer to a function, called by xos_cond_signal(),
-///                             that should return non-zero if this thread is to
-///                             be resumed. The function is invoked as:
-///                             `(*cond_fn)(cond_arg, sig_value)`.
-///
-///  \param     cond_arg        Argument passed to cond_fn.
-///
-///  \return    Returns the value passed to xos_cond_signal().
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_cond_wait(XosCond * cond, XosCondFunc * cond_fn, void * cond_arg);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Trigger the condition: wake all threads waiting on the condition, if their
-///  condition function evaluates to true (non-zero). If there is no condition
-///  function for a thread then it is automatically awakened.
-///
-///  The condition structure must have been initialized before first use by
-///  calling xos_cond_create().
-///
-///  \param     cond            Pointer to condition object.
-///
-///  \param     sig_value       Value passed to all waiters, returned by
-///                             xos_cond_wait().
-///
-///  \return    Returns the number of waiting threads that were resumed.
-///
-///  NOTE: Signaling a condition that has no waiters has no effect on it, and
-///  the signal is not remembered. Any thread that waits on it later must be
-///  woken by another call to xos_cond_signal().
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_cond_signal(XosCond * cond, int32_t sig_value);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  //      __XOS_COND_H__
-
diff --git a/components/esp32/include/xtensa/xos_errors.h b/components/esp32/include/xtensa/xos_errors.h
deleted file mode 100644 (file)
index 790cdde..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/** @file */
-
-// xos_errors.h - XOS error codes.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-
-#ifndef __XOS_ERRORS_H__
-#define __XOS_ERRORS_H__
-
-#include "xos_types.h"
-
-
-#define _XOS_ERR_FIRST          (-65536)
-#define _XOS_ERR_LAST           (-1)
-
-
-//-----------------------------------------------------------------------------
-///
-///  List of XOS error codes. All error codes are negative integers, except for
-///  XOS_OK which is zero.
-///  XOS error codes occupy the range from -65536 up to -1.
-///  The function IS_XOS_ERRCODE() can be used to check if a value lies within
-///  the error code range.
-///
-//-----------------------------------------------------------------------------
-typedef enum xos_err_t {
-    XOS_OK = 0,
-
-    XOS_ERR_NOT_FOUND = _XOS_ERR_FIRST,         ///< Object not found
-    XOS_ERR_INVALID_PARAMETER,                  ///< Function parameter is invalid
-    XOS_ERR_LIMIT,                              ///< Limit exceeded
-    XOS_ERR_NOT_OWNED,                          ///< Object not owned by caller
-    XOS_ERR_MUTEX_LOCKED,                       ///< Mutex is already locked
-    XOS_ERR_MUTEX_NOT_OWNED,                    ///< Mutex not owned by caller
-    XOS_ERR_MUTEX_ALREADY_OWNED,                ///< Mutex already owned by caller
-    XOS_ERR_MUTEX_DELETE,                       ///< Mutex being waited on has been deleted
-    XOS_ERR_COND_DELETE,                        ///< Condition being waited on has been deleted
-    XOS_ERR_SEM_DELETE,                         ///< Semaphore being waited on has been deleted
-    XOS_ERR_SEM_BUSY,                           ///< Semaphore is not available
-    XOS_ERR_EVENT_DELETE,                       ///< Event being waited on has been deleted
-    XOS_ERR_MSGQ_FULL,                          ///< Message queue is full
-    XOS_ERR_MSGQ_EMPTY,                         ///< Message queue is empty
-    XOS_ERR_MSGQ_DELETE,                        ///< Message queue being waited on has been deleted
-    XOS_ERR_TIMER_DELETE,                       ///< Timer being waited on has been deleted
-    XOS_ERR_CONTAINER_NOT_RTC,                  ///< Containing thread not of RTC type
-    XOS_ERR_CONTAINER_NOT_SAME_PRI,             ///< Containing thread not at same priority
-    XOS_ERR_STACK_TOO_SMALL,                    ///< Thread stack is too small
-    XOS_ERR_CONTAINER_ILLEGAL,                  ///< Illegal container thread
-    XOS_ERR_ILLEGAL_OPERATION,                  ///< This operation is not allowed
-    XOS_ERR_THREAD_EXITED,                      ///< The thread has already exited
-    XOS_ERR_NO_TIMER,                           ///< No suitable timer found
-    XOS_ERR_FEATURE_NOT_PRESENT,                ///< This feature is disabled or not implemented
-    XOS_ERR_TIMEOUT,                            ///< Wait timed out
-
-    XOS_ERR_UNHANDLED_INTERRUPT,                ///< No handler for interrupt
-    XOS_ERR_UNHANDLED_EXCEPTION,                ///< No handler for exception
-    XOS_ERR_INTERRUPT_CONTEXT,                  ///< Operation is illegal in interrupt context
-    XOS_ERR_THREAD_BLOCKED,                     ///< Thread already blocked
-    XOS_ERR_ASSERT_FAILED,                      ///< Runtime assertion failure
-    XOS_ERR_CLIB_ERR,                           ///< Error in C library thread safety module
-    XOS_ERR_INTERNAL_ERROR,                     ///< XOS internal error
-
-    XOS_ERR_LAST = _XOS_ERR_LAST,
-} xos_err_t;
-
-
-//-----------------------------------------------------------------------------
-///
-///  Check if a value is a valid XOS error code.
-///
-///  \param     val             Value to check
-///
-///  \return    Returns nonzero if 'val' is in the XOS error code range.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-IS_XOS_ERRCODE(xos_err_t val)
-{
-    return ((val >= _XOS_ERR_FIRST) && (val <= _XOS_ERR_LAST));
-}
-
-
-#endif // __XOS_ERRORS_H__
-
diff --git a/components/esp32/include/xtensa/xos_event.h b/components/esp32/include/xtensa/xos_event.h
deleted file mode 100644 (file)
index 43219a2..0000000
+++ /dev/null
@@ -1,281 +0,0 @@
-/** @file */
-
-// xos_event.h - XOS Event API interface and data structures.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-#ifndef __XOS_EVENT_H__
-#define __XOS_EVENT_H__
-
-#include "xos_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//-----------------------------------------------------------------------------
-// Defines.
-//-----------------------------------------------------------------------------
-#define XOS_EVENT_BITS_ALL      0xFFFFFFFF
-#define XOS_EVENT_BITS_NONE     0
-
-
-//-----------------------------------------------------------------------------
-// Event flags.
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-///
-/// Event object.
-///
-//-----------------------------------------------------------------------------
-typedef struct XosEvent {
-  XosThreadQueue        waitq;          ///< Queue of waiters.
-  uint32_t              bits;           ///< Event bits
-  uint32_t              mask;           ///< Specifies which bits are valid
-  uint16_t              flags;          ///< Properties.
-  uint16_t              pad;            ///< Padding
-#if XOS_EVENT_DEBUG
-  uint32_t              sig;            // Valid signature indicates inited.
-#endif
-} XosEvent;
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize an event object before first use.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     mask            Mask of active bits. Only these bits can be signaled.
-///
-///  \param     flags           Creation flags (currently ignored, should be zero).
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-void
-xos_event_create(XosEvent * event, uint32_t mask, uint32_t flags);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Destroy an event object. Must have been previously created by calling
-///  xos_event_create().
-///
-///  \param     event           Pointer to event object.
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-void
-xos_event_delete(XosEvent * event);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set the specified bits in the specified event. Propagates the bit states
-///  to all waiting threads and wakes them if needed.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     bits            Mask of bits to set. Bits not set in the mask
-///                             will not be modified by this call. To set all
-///                             the bits in the event, use the constant
-///                             XOS_EVENT_BITS_ALL.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_set(XosEvent * event, uint32_t bits);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Clear the specified bits in the specified event. Propagates the bit states
-///  to all waiting threads and wakes them if needed.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     bits            Mask of bits to clear. Every bit that is set in
-///                             the mask will be cleared from the event. Bits
-///                             not set in the mask will not be modified by this
-///                             call. To clear all the bits in an event use the
-///                             constant XOS_EVENT_BITS_ALL.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_clear(XosEvent * event, uint32_t bits);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Clear and set the specified bits in the specified event. The two steps are
-///  combined into one update, so this is faster than calling xos_event_clear()
-///  and xos_event_set() separately. Only one update is sent out to waiting
-///  threads.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     clr_bits        Mask of bits to clear. The clear operation
-///                             happens before the set operation.
-///
-///  \param     set_bits        Mask of bits to set.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_clear_and_set(XosEvent * event, uint32_t clr_bits, uint32_t set_bits);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get the current state of the event object. This is a snapshot of the state
-///  of the event at this time.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     pstate          Pointer to a uint32_t variable where the state
-///                             will be returned.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_get(XosEvent * event, uint32_t * pstate);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Wait until all the specified bits in the wait mask become set in the given
-///  event object.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     bits            Mask of bits to test.
-///
-///  \return    Returns XOS_OK on success, else error code.   
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_wait_all(XosEvent * event, uint32_t bits);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Wait until all the specified bits in the wait mask become set in the given
-///  event object, or the timeout expires.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     bits            Mask of bits to test.
-///
-///  \param     to_cycles       Timeout in cycles. Convert from time to cycles
-///                             using the helper functions provided in xos_timer.
-///                             A value of zero indicates no timeout.
-///
-///  \return    Returns XOS_OK on success, XOS_ERR_TIMEOUT on timeout, else
-///             error code.
-///
-///  NOTE: If XOS_OPT_WAIT_TIMEOUT is not enabled, then the timeout value is
-///  ignored, and no timeout will occur.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_wait_all_timeout(XosEvent * event, uint32_t bits, uint64_t to_cycles);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Wait until any of the specified bits in the wait mask become set in the
-///  given event object.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     bits            Mask of bits to test.
-///
-///  \return    Returns XOS_OK on success, else error code.   
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_wait_any(XosEvent * event, uint32_t bits);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Wait until any of the specified bits in the wait mask become set in the
-///  event object, or the timeout expires.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     bits            Mask of bits to test.
-///
-///  \param     to_cycles       Timeout in cycles. Convert from time to cycles
-///                             using the helper functions provided in xos_timer.
-///                             A value of zero indicates no timeout.
-///
-///  \return    Returns XOS_OK on success, XOS_ERR_TIMEOUT on timeout, else
-///             error code.
-///
-///  NOTE: If XOS_OPT_WAIT_TIMEOUT is not enabled, then the timeout value is
-///  ignored, and no timeout will occur.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_wait_any_timeout(XosEvent * event, uint32_t bits, uint64_t to_cycles);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Atomically set a specified group of bits, then wait for another specified
-///  group of bits to become set.
-///
-///  \param     event           Pointer to event object.
-///
-///  \param     set_bits        Group of bits to set.
-///
-///  \param     wait_bits       Group of bits to wait on. All the bits in the
-///                             group will have to get set before the wait is
-///                             satisfied.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_event_set_and_wait(XosEvent * event, uint32_t set_bits, uint32_t wait_bits);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  //      __XOS_EVENT_H__
-
diff --git a/components/esp32/include/xtensa/xos_internal.h b/components/esp32/include/xtensa/xos_internal.h
deleted file mode 100644 (file)
index 5b8c8b4..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-\r
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-//\r
-// The above copyright notice and this permission notice shall be included\r
-// in all copies or substantial portions of the Software.\r
-//\r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-\r
-\r
-#ifndef __XOS_INTERNAL_H__\r
-#define __XOS_INTERNAL_H__\r
-\r
-#if !defined(__XOS_H__) || !defined(_XOS_INCLUDE_INTERNAL_)\r
-  #error "xos_internal.h must be included by defining _XOS_INCLUDE_INTERNAL_ before including xos.h"\r
-#endif\r
-\r
-#include <xtensa/config/core.h>\r
-#include "xos_common.h"\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-\r
-// Use this macro to suppress compiler warnings for unused variables.\r
-\r
-#define UNUSED(x)       (void)(x)\r
-\r
-\r
-#if XOS_DEBUG\r
-\r
-#include <stdio.h>\r
-#include <xtensa/xtutil.h>\r
-# define DPRINTF        printf\r
-\r
-#else\r
-\r
-# define DPRINTF(x...)  do {} while(0)\r
-\r
-#endif\r
-\r
-\r
-//-----------------------------------------------------------------------------\r
-// Internal flags for thread creation.\r
-//-----------------------------------------------------------------------------\r
-#define XOS_THREAD_FAKE   0x8000  // Don't allocate stack (init and idle threads).\r
-\r
-\r
-//-----------------------------------------------------------------------------\r
-// Interrupt handler table entry. This structure defines one entry in the XOS\r
-// interrupt handler table.\r
-//-----------------------------------------------------------------------------\r
-typedef struct XosIntEntry {\r
-  XosIntFunc *    handler;      // Pointer to handler function.\r
-  void *          arg;          // Argument passed to handler function.\r
-#if XOS_OPT_INTERRUPT_SWPRI\r
-  unsigned char   level;        // Interrupt level.\r
-  unsigned char   priority;     // Interrupt priority.\r
-  short           reserved;     // Reserved.\r
-  unsigned int    primask;      // Mask of interrupts at higher priority.\r
-#else\r
-  unsigned int    ps;           // Value of PS when running the handler.\r
-#endif\r
-} XosIntEntry;\r
-\r
-\r
-//-----------------------------------------------------------------------------\r
-// Extern variables.\r
-//-----------------------------------------------------------------------------\r
-extern unsigned         xos_intlevel_mask;\r
-extern unsigned         xos_intenable_mask;\r
-extern XosIntEntry      xos_interrupt_table[XCHAL_NUM_INTERRUPTS];\r
-\r
-extern uint32_t         xos_clock_freq;\r
-extern uint32_t         xos_tick_period;\r
-extern uint64_t         xos_system_ticks;\r
-extern uint64_t         xos_system_cycles;\r
-extern uint32_t         xos_num_ctx_switches;\r
-\r
-\r
-/*\r
-\r
-One thing I noticed is different between my initial idea of stack\r
-assignments to RTC threads, when comparing to interrupts, is that I\r
-expected each RTC thread priority to have its own stack, whereas\r
-interrupts of different priorities share an interrupt stack.\r
-\r
-It's not really a difference in memory usage, because when assigning\r
-multiple priorities to a stack, you have to add-up worst-case for\r
-all priorities.  One possible functional difference is that with\r
-separate stacks per priority, it's possible to dynamically change\r
-the priority of an RTC thread (while it's running).  Not sure how\r
-valuable that might be -- changing priority is useful with priority\r
-inheritance, to avoid priority inversion, but I don't know how often\r
-an RTC thread might acquire a lock (it couldn't block on acquiring a\r
-lock in the usual sense -- it could get queued waiting and be restarted\r
-when it becomes available, or use try_lock instead of lock).\r
-\r
-*/\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif  /* __XOS_INTERNAL_H__ */\r
-\r
diff --git a/components/esp32/include/xtensa/xos_msgq.h b/components/esp32/include/xtensa/xos_msgq.h
deleted file mode 100644 (file)
index 30b9aa9..0000000
+++ /dev/null
@@ -1,278 +0,0 @@
-/** @file */
-
-// xos_msgq.h - XOS Message Queue API and data structures.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-
-#ifndef __XOS_MSGQ_H__
-#define __XOS_MSGQ_H__
-
-#include "xos_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//-----------------------------------------------------------------------------
-//  XosMsgQueue is a multi-writer multi-reader message queue implementation.
-//  It is completely thread-safe and can be used by interrupt handlers.
-//  Interrupt handlers are guaranteed not to block when trying to send or
-//  receive a message. Messages are copied into the queue. The queue contains
-//  storage for a fixed number of messages defined at queue creation time.
-//  Messages must be a multiple of 4 bytes long (padded if necessary) and the
-//  message buffers must be 4-byte aligned.
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-//  Message Queue flags.
-//-----------------------------------------------------------------------------
-#define XOS_MSGQ_WAIT_PRIORITY  0x0000  ///< Wake waiters in priority order (default)
-#define XOS_MSGQ_WAIT_FIFO      0x0001  ///< Wake waiters in FIFO order
-#define XOS_MSGQ_FULL           0x0002  // Queue is full
-#define XOS_MSGQ_DELETED        0x8000  // Queue is deleted
-
-
-//-----------------------------------------------------------------------------
-///
-///  XosMsgQueue object.
-///
-//-----------------------------------------------------------------------------
-typedef struct XosMsgQueue {
-    uint16_t            flags;          ///< queue flags
-    uint16_t            count;          ///< # of messages queue can hold
-    uint32_t            msize;          ///< message size in bytes
-    uint16_t            head;           ///< write pointer
-    uint16_t            tail;           ///< read pointer
-    XosThreadQueue      readq;          ///< reader wait queue
-    XosThreadQueue      writeq;         ///< writer wait queue
-#if XOS_MSGQ_DEBUG
-    uint32_t            sig;            // debug signature
-#endif
-#if XOS_OPT_MSGQ_STATS
-    uint32_t            num_send;       ///< # of messages put to queue
-    uint32_t            num_recv;       ///< # of messages taken from queue
-    uint32_t            num_send_blks;  ///< # of times thread blocked on send
-    uint32_t            num_recv_blks;  ///< # of times thread blocked on recv
-#endif
-    uint32_t            msg[1];         ///< first word of message buffer
-} XosMsgQueue;
-
-
-//-----------------------------------------------------------------------------
-///
-///  Use these macros to statically or dynamically allocate a message queue.
-///  XOS_MSGQ_ALLOC allocates a static queue, while XOS_MSGQ_SIZE can be used
-///  to allocate memory via malloc() etc.
-///
-///  Static: this allocates a queue named "testq", containing 10 messages,
-///  each 16 bytes long.
-///
-///      XOS_MSGQ_ALLOC(testq, 10, 16);
-///
-///  Dynamic: this allocates a queue named "testq", containing 10 messages,
-///  each 16 bytes long.
-///
-///      XosMsgQueue * testq = malloc( XOS_MSGQ_SIZE(10, 16) );
-///
-///  \param     name            The queue name, i.e. the name of the pointer
-///                             to the queue. Used as the queue handle in
-///                             queue API calls.
-///
-///  \param     num             Number of messages to allocate in queue. Must be > 0.
-///
-///  \param     size            Message size in bytes. Must be > 0 and multiple of 4.
-///
-//-----------------------------------------------------------------------------
-
-#define XOS_MSGQ_ALLOC(name, num, size) \
-    static uint8_t name ## _buf[ sizeof(XosMsgQueue) + ((num) * (size)) ]; \
-    XosMsgQueue * name = (XosMsgQueue *) name ## _buf;
-
-#define XOS_MSGQ_SIZE(num, size) \
-    (sizeof(XosMsgQueue) + ((num) * (size)))
-
-
-//-----------------------------------------------------------------------------
-///
-///  Create the message queue object. Memory for the queue must be allocated by
-///  the caller, either statically or via dynamic allocation. See the macros
-///  XOS_MSGQ_ALLOC and XOS_MSGQ_SIZE for examples.
-///
-///  \param     msgq            Handle (pointer) to message queue.
-///
-///  \param     num             Number of messages allocated in queue. Must be > 0.
-///
-///  \param     size            Message size in bytes. Must be > 0 and multiple of 4.
-///
-///  \param     flags           Queue flags:
-///                             - XOS_MSGQ_WAIT_FIFO - blocked threads will be
-///                               woken in FIFO order.
-///                             - XOS_MSGQ_WAIT_PRIORITY - blocked threads will
-///                               be woken in priority order (default).
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_msgq_create(XosMsgQueue * msgq, uint16_t num, uint32_t size, uint16_t flags);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Destroys the specified queue. Any waiting threads are unblocked with an 
-///  error return. Any messages in the queue will be lost.
-///
-///  \param     msgq            Pointer to message queue.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_msgq_delete(XosMsgQueue * msgq);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Put a message into the queue. The message contents are copied into the next
-///  available message slot. If no space is available, this function will block
-///  if called from a thread, but will return immediately if called from an
-///  interrupt handler.
-///
-///  \param     msgq            Pointer to message queue.
-///
-///  \param     msg             Pointer to message buffer.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_msgq_put(XosMsgQueue * msgq, const uint32_t * msg);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Put a message into the queue. The message contents are copied into the next
-///  available message slot. If no space is available, this function will block
-///  if called from a thread, but will return immediately if called from an
-///  interrupt handler. The thread will be unblocked when space frees up in the
-///  queue or the timeout expires.
-///
-///  \param     msgq            Pointer to message queue.
-///
-///  \param     msg             Pointer to message buffer.
-///
-///  \param     to_cycles       Timeout in cycles. Convert from time to cycles
-///                             using the helper functions provided in xos_timer.
-///                             A value of zero indicates no timeout.
-///
-///  \return    Returns XOS_OK on success, XOS_ERR_TIMEOUT on timeout, else error code.
-///
-///  NOTE: If XOS_OPT_WAIT_TIMEOUT is not enabled, then the timeout value is
-///  ignored, and no timeout will occur.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_msgq_put_timeout(XosMsgQueue * msgq, const uint32_t * msg, uint64_t to_cycles);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get a message from the queue. The message contents are copied into the 
-///  buffer that must be provided. If no message is available, this function
-///  will block if called from a thread, but will return immediately if called
-///  from an interrupt handler.
-///
-///  \param     msgq            Pointer to message queue.
-///
-///  \param     msg             Pointer to message buffer.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_msgq_get(XosMsgQueue * msgq, uint32_t * msg);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get a message from the queue. The message contents are copied into the 
-///  buffer that must be provided. If no message is available, this function
-///  will block if called from a thread, but will return immediately if called
-///  from an interrupt handler. The thread will be unblocked when a message
-///  arrives in the queue or the timeout expires.
-///
-///  \param     msgq            Pointer to message queue.
-///
-///  \param     msg             Pointer to message buffer.
-///
-///  \param     to_cycles       Timeout in cycles. Convert from time to cycles
-///                             using the helper functions provided in xos_timer.
-///                             A value of zero indicates no timeout.
-///
-///  \return    Returns XOS_OK on success, XOS_ERR_TIMEOUT on timeout, else error code.
-///
-///  NOTE: If XOS_OPT_WAIT_TIMEOUT is not enabled, then the timeout value is
-///  ignored, and no timeout will occur.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_msgq_get_timeout(XosMsgQueue * msgq, uint32_t * msg, uint64_t to_cycles);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Check if the queue is empty.
-///
-///  \param     msgq            Pointer to message queue.
-///
-///  \return    Returns nonzero if queue is empty, zero if queue is not empty.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_msgq_empty(XosMsgQueue * msgq);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Check if the queue is full.
-///
-///  \param     msgq            Pointer to message queue.
-///
-///  \return    Returns nonzero if queue is full, zero if queue is not full.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_msgq_full(XosMsgQueue * msgq);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // __XOS_MSGQ_H__
-
diff --git a/components/esp32/include/xtensa/xos_mutex.h b/components/esp32/include/xtensa/xos_mutex.h
deleted file mode 100644 (file)
index 9df5f97..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/** @file */
-
-// xos_mutex.h - XOS Mutex API interface and data structures.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-#ifndef __XOS_MUTEX_H__
-#define __XOS_MUTEX_H__
-
-#include "xos_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//-----------------------------------------------------------------------------
-// Mutex flags.
-//-----------------------------------------------------------------------------
-#define XOS_MUTEX_WAIT_PRIORITY 0x0000  ///< Wake waiters in priority order (default)
-#define XOS_MUTEX_WAIT_FIFO     0x0001  ///< Wake waiters in FIFO order
-#define XOS_MUTEX_PRIORITY_CLG  0x0004  // Use priority ceiling
-#define XOS_MUTEX_PRIORITY_INV  0x0008  // Protect against priority inversion
-
-
-//-----------------------------------------------------------------------------
-///
-///  XosMutex object.
-///
-//-----------------------------------------------------------------------------
-typedef struct XosMutex {
-    XosThread *             owner;          ///< Owning thread (null if unlocked).
-    XosThreadQueue          waitq;          ///< Queue of waiters.
-    uint32_t                flags;          ///< Properties.
-    uint32_t                priority;
-    int32_t                 lock_count;     ///< For recursive locking.
-#if XOS_MUTEX_DEBUG
-    uint32_t                sig;            // Valid signature indicates inited.
-#endif
-} XosMutex;
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize a mutex object before first use.
-///
-///  \param     mutex           Pointer to mutex object.
-///
-///  \param     flags           Creation flags:
-///                             - XOS_MUTEX_WAIT_FIFO -- Queue waiting threads
-///                               in fifo order.
-///                             - XOS_MUTEX_WAIT_PRIORITY -- Queue waiting threads
-///                               by priority. This is the default.
-///                             - XOS_MUTEX_PRIORITY_CLG -- Use specified priority
-///                               value as the mutex's priority ceiling. If the
-///                               owning thread has a priority lower than the mutex's
-///                               priority, then the thread will have its priority
-///                               raised to the higher value as long as it owns the
-///                               mutex.
-///                             - XOS_MUTEX_PRIORITY_INV -- Protect against priority
-///                               inversion. If there is a waiting thread with a
-///                               higher priority than the current owner thread,
-///                               then the owner thread's priority is raised to the
-///                               higher value for as long as it owns the mutex.
-///
-///  \param     priority        Mutex's priority ceiling. This is used only if the 
-///                             XOS_MUTEX_PRIORITY_CLG flag is set.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-///  NOTE: XOS_MUTEX_PRIORITY_CLG and XOS_MUTEX_PRIORITY_INV are NOT supported
-///  in the current release. They will be supported in a future release.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_mutex_create(XosMutex * mutex, uint32_t flags, uint8_t priority);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Destroy a mutex object. Must have been previously initialized by calling
-///  xos_mutex_create().
-///
-///  \param     mutex           Pointer to mutex object.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_mutex_delete(XosMutex * mutex);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Take ownership of the mutex: block until the mutex is owned.
-///  The mutex must have been initialized.
-///
-///  \param     mutex           Pointer to mutex object.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_mutex_lock(XosMutex * mutex);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Take ownership of the mutex: block until the mutex is owned or the timeout
-///  expires. The mutex must have been initialized.
-///
-///  \param     mutex           Pointer to mutex object.
-///
-///  \param     to_cycles       Timeout in cycles. Convert from time to cycles
-///                             using the helper functions provided in xos_timer.
-///                             A value of zero indicates no timeout.
-///
-///  \return    Returns XOS_OK on success, XOS_ERR_TIMEOUT on timeout, else error code.
-///
-///  NOTE: If XOS_OPT_WAIT_TIMEOUT is not enabled, then the timeout value is
-///  ignored, and no timeout will occur.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_mutex_lock_timeout(XosMutex * mutex, uint64_t to_cycles);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Release ownership of the mutex. The mutex must have been initialized and
-///  must be owned by the calling thread.
-///
-///  \param     mutex           Pointer to mutex object.
-///
-///  \return    Returns XOS_OK on success, else error code.   
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_mutex_unlock(XosMutex * mutex);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Try to take ownership of the mutex, but do not block if the mutex is taken.
-///  Return immediately. The mutex must have been initialized.
-///
-///  \param     mutex           Pointer to mutex object.
-///
-///  \return    Returns XOS_OK on success (mutex owned), else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_mutex_trylock(XosMutex * mutex);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Return the state of the mutex (locked or unlocked) but do not attempt to
-///  take ownership. The mutex must have been initialized.
-///
-///  \param     mutex           Pointer to mutex object.
-///
-///  \return    Returns 0 if the mutex is unlocked, 1 if it is locked, -1 on error.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-xos_mutex_test(XosMutex * mutex)
-{
-    XOS_ASSERT(mutex);
-
-    if (mutex != XOS_NULL) {
-        return (mutex->owner != XOS_NULL) ? 1 : 0;
-    }
-    return -1;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  //      __XOS_MUTEX_H__
-
diff --git a/components/esp32/include/xtensa/xos_params.h b/components/esp32/include/xtensa/xos_params.h
deleted file mode 100644 (file)
index 3fca11f..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-/** @file */
-
-// xos_params.h - user-settable compile time parameters for XOS.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-#ifndef __XOS_PARAMS_H__
-#define __XOS_PARAMS_H__
-
-#include <xtensa/config/core.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Number of thread priority levels. At this time XOS supports a maximum of
-/// 32 priority levels (0 - 31).
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_NUM_PRIORITY
-#define XOS_NUM_PRIORITY                16       // Default is 16
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Debug flags - Set to 1 to enable debug mode (and more verbose operation).
-/// Can be set individually, or define XOS_DEBUG_ALL to enable all of them.
-///
-/// - XOS_DEBUG           -- Generic OS debug
-/// - XOS_COND_DEBUG      -- Condition objects debug
-/// - XOS_EVENT_DEBUG     -- Event objects debug
-/// - XOS_MSGQ_DEBUG      -- Message queue debug
-/// - XOS_MUTEX_DEBUG     -- Mutex objects debug
-/// - XOS_SEM_DEBUG       -- Semaphore objects debug
-/// - XOS_THREAD_DEBUG    -- Thread module debug
-/// - XOS_TIMER_DEBUG     -- Timer module debug
-///
-/// WARNING: Enabling one or more of these flags will affect system performance
-/// and timing.
-///
-/// NOTE: Not all of these have been fully implemented.
-///
-//-----------------------------------------------------------------------------
-#if defined XOS_DEBUG_ALL
-
-#define XOS_DEBUG                       1
-#define XOS_THREAD_DEBUG                1
-#define XOS_TIMER_DEBUG                 1
-#define XOS_COND_DEBUG                  1
-#define XOS_MUTEX_DEBUG                 1
-#define XOS_SEM_DEBUG                   1
-#define XOS_EVENT_DEBUG                 1
-#define XOS_MSGQ_DEBUG                  1
-
-#else
-
-#ifndef XOS_DEBUG
-#define XOS_DEBUG                       0
-#endif
-#ifndef XOS_THREAD_DEBUG
-#define XOS_THREAD_DEBUG                0
-#endif
-#ifndef XOS_TIMER_DEBUG
-#define XOS_TIMER_DEBUG                 0
-#endif
-#ifndef XOS_COND_DEBUG
-#define XOS_COND_DEBUG                  0
-#endif
-#ifndef XOS_MUTEX_DEBUG
-#define XOS_MUTEX_DEBUG                 0
-#endif
-#ifndef XOS_SEM_DEBUG
-#define XOS_SEM_DEBUG                   0
-#endif
-#ifndef XOS_EVENT_DEBUG
-#define XOS_EVENT_DEBUG                 0
-#endif
-#ifndef XOS_MSGQ_DEBUG
-#define XOS_MSGQ_DEBUG                  0
-#endif
-
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set this option to 1 to enable runtime statistics collection for XOS.
-/// NOTE: Enabling this option does have some impact on runtime performance
-/// and OS footprint.
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_OPT_STATS
-#define XOS_OPT_STATS                   1
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set this option to 1 to enable statistics tracking for message queues.
-/// enabling this will cause message queue objects to increase in size, and add
-/// some overhead to message queue processing.
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_OPT_MSGQ_STATS
-#define XOS_OPT_MSGQ_STATS              0
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Size of interrupt stack in bytes. Shared by all interrupt handlers. Must be
-/// sized to handle worst case nested interrupts. This is also used by the idle
-/// thread so must exist even if interrupts are not configured.
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_INT_STACK_SIZE
-#if XCHAL_HAVE_INTERRUPTS
-#define XOS_INT_STACK_SIZE              8192
-#else
-#define XOS_INT_STACK_SIZE              32
-#endif
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Default maximum interrupt level at which XOS primitives may be called.
-/// It is the level at which interrupts are disabled by default.
-/// See also description of xos_set_int_pri_level().
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_MAX_OS_INTLEVEL
-#define XOS_MAX_OS_INTLEVEL             XCHAL_EXCM_LEVEL
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set this to 1 to enable stack checking. The stack is filled with a pattern
-/// on thread creation, and the stack is checked at certain times during system
-/// operation.
-/// WARNING: Enabling this option can have some impact on runtime performance.
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_OPT_STACK_CHECK
-#if XOS_DEBUG
-#define XOS_OPT_STACK_CHECK             1
-#else
-#define XOS_OPT_STACK_CHECK             0
-#endif
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set XOS_CLOCK_FREQ to the system clock frequency if this is known ahead of
-/// time. Otherwise, call xos_set_clock_freq() to set it at run time.
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_CLOCK_FREQ
-#define XOS_CLOCK_FREQ                  1000000
-#endif
-#define XOS_DEFAULT_CLOCK_FREQ          XOS_CLOCK_FREQ
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set this option to 1 to enable software prioritization of interrupts. The
-/// priority scheme applied is that a higher interrupt number at the same level
-/// will have higher priority.
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_OPT_INTERRUPT_SWPRI
-#define XOS_OPT_INTERRUPT_SWPRI         1
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set this option to 1 to use the thread-safe version of the C runtime library.
-/// You may need to enable this if you call C library functions from multiple
-/// threads -- see the documentation for the relevant C library to determine if
-/// this is necessary. This option increases the size of the TCB.
-/// NOTE: At this time only the newlib and xclib libraries are supported for
-/// thread safety.
-///
-//-----------------------------------------------------------------------------
-#include <xtensa/config/system.h>
-
-#ifndef XOS_OPT_THREAD_SAFE_CLIB
-
-#if XSHAL_CLIB == XTHAL_CLIB_XCLIB
-#define XOS_OPT_THREAD_SAFE_CLIB        1
-#elif XSHAL_CLIB == XTHAL_CLIB_NEWLIB
-#define XOS_OPT_THREAD_SAFE_CLIB        1
-#else
-#define XOS_OPT_THREAD_SAFE_CLIB        0
-#endif
-
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set this option to 1 to enable the wait timeout feature. This allows waits
-/// on waitable objects to expire after a specified timeout.
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_OPT_WAIT_TIMEOUT
-#define XOS_OPT_WAIT_TIMEOUT            1
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set this option to 1 to enable threads waiting on timer objects. If this
-/// feature is not used, turning it off will make timer objects smaller, and
-/// reduce the time taken by timer expiry processing (by a small amount).
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_OPT_TIMER_WAIT
-#define XOS_OPT_TIMER_WAIT              1
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Set this option to 1 to enable time-slicing between multiple threads at the
-/// same priority. If this option is enabled then on every timer tick the timer
-/// handler will switch out the current thread if there is another ready thread
-/// at the same priority, and allow the latter thread to run. Execution will be
-/// round robin switched among all the threads at the same priority.
-///
-/// Currently the time slice interval is fixed to be one timer tick.
-///
-/// This feature is most useful if fixed duration timer ticks are used.
-/// If dynamic ticking is enabled, then time slicing will work unpredictably
-/// because the interval between ticks will vary. In some cases it may be
-/// better to turn time slicing off.
-///
-//-----------------------------------------------------------------------------
-#ifndef XOS_OPT_TIME_SLICE
-#define XOS_OPT_TIME_SLICE              1
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  // __XOS_PARAMS_H__
-
diff --git a/components/esp32/include/xtensa/xos_regaccess.h b/components/esp32/include/xtensa/xos_regaccess.h
deleted file mode 100644 (file)
index 1fea5dd..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-
-// xos_regaccess.h - Access routines for various processor special registers.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-#ifndef __REGACCESS_H__
-#define __REGACCESS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "xos_types.h"
-
-#include <xtensa/config/core.h>
-
-#if defined (__XCC__)
-#if XCHAL_HAVE_CCOUNT
-#include <xtensa/tie/xt_timer.h>
-#endif
-#endif
-
-
-//-----------------------------------------------------------------------------
-// Read CCOUNT register.
-//-----------------------------------------------------------------------------
-static __inline__ uint32_t xos_get_ccount(void)
-{
-#if XCHAL_HAVE_CCOUNT
-
-#if defined (__XCC__)
-  return XT_RSR_CCOUNT();
-#else
-  uint32_t ccount;
-
-  __asm__ __volatile__ ( "rsr     %0, ccount" : "=a" (ccount) );
-  return ccount;
-#endif
-
-#else
-
-  return 0;
-
-#endif
-}
-
-
-//-----------------------------------------------------------------------------
-// Read CCOMPARE0
-//-----------------------------------------------------------------------------
-static __inline__ uint32_t xos_get_ccompare0(void)
-{
-#if XCHAL_HAVE_CCOUNT
-
-#if defined (__XCC__)
-  return XT_RSR_CCOMPARE0();
-#else
-  uint32_t ccompare0;
-
-  __asm__ __volatile__ ( "rsr     %0, ccompare0" : "=a" (ccompare0));
-  return ccompare0;
-#endif
-
-#else
-
-  return 0;
-
-#endif
-}
-
-
-//-----------------------------------------------------------------------------
-// Read CCOMPARE1
-//-----------------------------------------------------------------------------
-#if (XCHAL_NUM_TIMERS > 1)
-static __inline__ uint32_t xos_get_ccompare1(void)
-{
-#if defined (__XCC__)
-  return XT_RSR_CCOMPARE1();
-#else
-  uint32_t ccompare1;
-
-  __asm__ __volatile__ ( "rsr     %0, ccompare1" : "=a" (ccompare1));
-  return ccompare1;
-#endif
-}
-#endif
-
-
-//-----------------------------------------------------------------------------
-// Read CCOMPARE2
-//-----------------------------------------------------------------------------
-#if (XCHAL_NUM_TIMERS > 2)
-static __inline__ uint32_t xos_get_ccompare2(void)
-{
-#if defined (__XCC__)
-  return XT_RSR_CCOMPARE2();
-#else
-  uint32_t ccompare2;
-
-  __asm__ __volatile__ ( "rsr     %0, ccompare2" : "=a" (ccompare2));
-  return ccompare2;
-#endif
-}
-#endif
-
-
-//-----------------------------------------------------------------------------
-// Write CCOMPARE0
-//-----------------------------------------------------------------------------
-static __inline__ void xos_set_ccompare0(uint32_t val)
-{
-#if XCHAL_HAVE_CCOUNT
-
-#if defined (__XCC__)
-  XT_WSR_CCOMPARE0(val);
-  XT_ISYNC();
-#else
-  __asm__ __volatile__ (
-    "wsr     %0, ccompare0\n"
-    "isync"
-    :
-    : "a" (val)
-  );
-#endif
-
-#else
-
-    // Empty
-
-#endif
-}
-
-
-//-----------------------------------------------------------------------------
-// Write CCOMPARE1
-//-----------------------------------------------------------------------------
-#if (XCHAL_NUM_TIMERS > 1)
-static __inline__ void xos_set_ccompare1(uint32_t val)
-{
-#if defined (__XCC__)
-  XT_WSR_CCOMPARE1(val);
-  XT_ISYNC();
-#else
-  __asm__ __volatile__ (
-    "wsr     %0, ccompare1\n"
-    "isync"
-    :
-    : "a" (val)
-  );
-#endif
-}
-#endif
-
-
-//-----------------------------------------------------------------------------
-// Write CCOMPARE2
-//-----------------------------------------------------------------------------
-#if (XCHAL_NUM_TIMERS > 2)
-static __inline__ void xos_set_ccompare2(uint32_t val)
-{
-#if defined (__XCC__)
-  XT_WSR_CCOMPARE2(val);
-  XT_ISYNC();
-#else
-  __asm__ __volatile__ (
-    "wsr     %0, ccompare2\n"
-    "isync"
-    :
-    : "a" (val)
-  );
-#endif
-}
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // __REGACCESS_H__
-
diff --git a/components/esp32/include/xtensa/xos_semaphore.h b/components/esp32/include/xtensa/xos_semaphore.h
deleted file mode 100644 (file)
index 42b7914..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/** @file */
-
-// xos_semaphore.h - XOS Semaphore API interface and data structures.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-#ifndef __XOS_SEMAPHORE_H__
-#define __XOS_SEMAPHORE_H__
-
-#include "xos_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//-----------------------------------------------------------------------------
-// Semaphore flags.
-//-----------------------------------------------------------------------------
-#define XOS_SEM_WAIT_PRIORITY     0x0000  ///< Wake waiters in priority order (default)
-#define XOS_SEM_WAIT_FIFO         0x0001  ///< Wake waiters in FIFO order
-#define XOS_SEM_PRIORITY_INV      0x0004  // Protect against priority inversion
-
-
-//-----------------------------------------------------------------------------
-///
-/// XosSem object.
-///
-//-----------------------------------------------------------------------------
-typedef struct XosSem {
-  uint32_t              count;          ///< Current count
-  XosThreadQueue        waitq;          ///< Queue of waiters.
-  uint32_t              flags;          ///< Properties.
-#if XOS_SEM_DEBUG
-  uint32_t              sig;            // Valid signature indicates inited.
-#endif
-} XosSem;
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize a semaphore object before first use.
-///
-///  \param     sem             Pointer to semaphore object.
-///
-///  \param     flags           Creation flags:
-///                             - XOS_SEM_WAIT_FIFO -- queue waiting threads in
-///                               fifo order.
-///                             - XOS_SEM_WAIT_PRIORITY -- queue waiting threads
-///                               by priority. This is the default.
-///                             - XOS_SEM_PRIORITY_INV -- protect against priority
-///                               inversion.
-///
-///  \param     initial_count   Initial count for semaphore on creation.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-///  NOTE: XOS_SEM_PRIORITY_INV is NOT supported in the current release. It will
-///  be supported in a future release.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_sem_create(XosSem * sem, uint32_t flags, uint32_t initial_count);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Destroy a semaphore object. Must have been previously created by calling
-///  xos_sem_create().
-///
-///  \param     sem             Pointer to semaphore object.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_sem_delete(XosSem * sem);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Decrement the semaphore count: block until the decrement is possible.
-///  The semaphore must have been initialized.
-///
-///  \param     sem             Pointer to semaphore object.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_sem_get(XosSem * sem);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Decrement the semaphore count: block until the decrement is possible or
-///  the timeout expires. The semaphore must have been initialized.
-///
-///  \param     sem             Pointer to semaphore object.
-///
-///  \param     to_cycles       Timeout in cycles. Convert from time to cycles
-///                             using the helper functions provided in xos_timer.
-///                             A value of zero indicates no timeout.
-///
-///  \return    Returns XOS_OK on success, XOS_ERR_TIMEOUT on timeout, else error code.
-///
-///  NOTE: If XOS_OPT_WAIT_TIMEOUT is not enabled, then the timeout value is
-///  ignored, and no timeout will occur.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_sem_get_timeout(XosSem * sem, uint64_t to_cycles);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Increment the semaphore count. The semaphore must have been initialized.
-///  Remember that this action may wake up a waiting thread, and if that thread
-///  is higher priority then there will be an immediate context switch.
-///
-///  \param     sem             Pointer to semaphore object.
-///
-///  \return    Returns XOS_OK on success, else error code.   
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_sem_put(XosSem * sem);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Try to decrement the semaphore, but do not block if the semaphore count is
-///  zero. Return immediately. The semaphore must have been initialized.
-///
-///  \param     sem             Pointer to semaphore object.
-///
-///  \return    Returns XOS_OK on success (semaphore decremented), else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_sem_tryget(XosSem * sem);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Return the count of the semaphore but do not attempt to decrement it.
-///  The semaphore must have been initialized.
-///
-///  \param     sem             Pointer to semaphore object.
-///
-///  \return    Returns semaphore count, -1 on error.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-xos_sem_test(XosSem * sem)
-{
-    XOS_ASSERT(sem);
-
-    return sem ? sem->count : -1;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  //      __XOS_SEMAPHORE_H__
-
diff --git a/components/esp32/include/xtensa/xos_stopwatch.h b/components/esp32/include/xtensa/xos_stopwatch.h
deleted file mode 100644 (file)
index bf71cc3..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/** @file */
-
-// xos_stopwatch.h - XOS Stopwatch objects and related API.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-
-#ifndef __XOS_STOPWATCH_H__
-#define __XOS_STOPWATCH_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "xos_types.h"
-#include "xos_params.h"
-
-
-//-----------------------------------------------------------------------------
-//  A stopwatch object can be used to track elapsed time and accumulate total
-//  elapsed time over multiple execution periods. The stopwatch records the
-//  time whenever its start function is called, and stops recording the time
-//  when the stop function is called and updates its cumulative time counter.
-//  The stopwatch keeps time in cycles. This can be converted to seconds etc.
-//  by using the XOS conversion calls such as xos_cycles_to_secs().
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-///
-///  XosStopwatch object.
-///
-//-----------------------------------------------------------------------------
-typedef struct XosStopwatch {
-    uint64_t    total;          ///< Total accumulated cycle count
-    uint64_t    start;          ///< Starting system cycle count
-    uint16_t    active;         ///< Active flag (nonzero when active)
-} XosStopwatch;
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize a stopwatch object.
-///
-///  \param    sw        Pointer to a stopwatch object.
-///
-///  \return Returns nothing.
-///
-//-----------------------------------------------------------------------------
-static inline void
-xos_stopwatch_init(XosStopwatch * sw)
-{
-    sw->total  = 0;
-    sw->start  = 0;
-    sw->active = 0;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Start a stopwatch. Starts cycle counting.
-///  Note that this does not necessarily start counting from zero. The current
-///  run (start-to-stop interval) will just get added to the accumulated count
-///  in the stopwatch if any.
-///  To reset the accumulated count, use xos_stopwatch_clear().
-///
-///  \param    sw        Pointer to a stopwatch object.
-///
-///  \return Returns nothing.
-///
-//-----------------------------------------------------------------------------
-static inline void
-xos_stopwatch_start(XosStopwatch * sw)
-{
-    XOS_ASSERT(!sw->active);
-    sw->active = 1;
-    sw->start  = xos_get_system_cycles();
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Stop a stopwatch. Stops cycle counting and updates total.
-///
-///  \param    sw        Pointer to a stopwatch object.
-///
-///  \return Returns nothing.
-///
-//-----------------------------------------------------------------------------
-static inline void
-xos_stopwatch_stop(XosStopwatch * sw)
-{
-    XOS_ASSERT(sw->active);
-    sw->active = 0;
-    sw->total += xos_get_system_cycles() - sw->start;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get stopwatch accumulated count.
-///
-///  \param    sw        Pointer to a stopwatch object.
-///
-///  \return Returns the accumulated count.
-///
-//-----------------------------------------------------------------------------
-static inline uint64_t
-xos_stopwatch_count(XosStopwatch * sw)
-{
-    return sw->total;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get elapsed time since stopwatch was started. If not started, returns zero.
-///
-///  \param    sw        Pointer to a stopwatch object.
-///
-///  \return Returns elapsed time in cycles.
-///
-//-----------------------------------------------------------------------------
-static inline uint64_t
-xos_stopwatch_elapsed(XosStopwatch * sw)
-{
-    return sw->active ? xos_get_system_cycles() - sw->start : 0;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Clears a stopwatch. Resets the accumulated count to zero, and deactivates
-///  it if active.
-///
-///  \param    sw        Pointer to a stopwatch object.
-///
-///  \return Returns nothing.
-///
-//-----------------------------------------------------------------------------
-static inline void
-xos_stopwatch_clear(XosStopwatch * sw)
-{
-    xos_stopwatch_init(sw);
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // __XOS_STOPWATCH_H__
-
diff --git a/components/esp32/include/xtensa/xos_syslog.h b/components/esp32/include/xtensa/xos_syslog.h
deleted file mode 100644 (file)
index be56968..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-/** @file */
-
-// xos_syslog.h - XOS Event logging module.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-
-#ifndef __XOS_SYSLOG_H__
-#define __XOS_SYSLOG_H__
-
-#include "xos_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//-----------------------------------------------------------------------------
-//  The XOS system log is an array of fixed size entries. The size of the log
-//  is determined by the application, and memory for the log must be provided
-//  at init time. Every time the log function is called, an entry is made in
-//  the log and the next pointer advanced. When the log is full, it will wrap
-//  around and start overwriting the oldest entries.
-//  Logging can be done from C/C++ code as well as assembly code, and at any
-//  interrupt level, even from high level interrupt handlers.
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-//  Defines.
-//-----------------------------------------------------------------------------
-#define XOS_SYSLOG_ENABLED              0x0001
-
-
-///----------------------------------------------------------------------------
-///
-/// Use this macro to compute how much memory to allocate for the syslog.
-///
-///----------------------------------------------------------------------------
-#define XOS_SYSLOG_SIZE(num_entries) \
-    ( sizeof(XosSysLog) + ((num_entries - 1) * sizeof(XosSysLogEntry)) )
-
-
-///----------------------------------------------------------------------------
-///
-///  System log entry structure.
-///
-///----------------------------------------------------------------------------
-typedef struct XosSysLogEntry {
-    uint32_t                timestamp;  ///< Timestamp in clock cycles
-    uint32_t                param1;     ///< User defined value
-    uint32_t                param2;     ///< User defined value
-    struct XosSysLogEntry * next;       ///< Link to next entry
-} XosSysLogEntry;
-
-
-///----------------------------------------------------------------------------
-///
-///  System log structure.
-///
-///----------------------------------------------------------------------------
-typedef struct XosSysLog {
-    uint16_t         flags;             ///< Flags
-    uint16_t         size;              ///< Number of entries
-    XosSysLogEntry * next;              ///< Next write position
-    XosSysLogEntry   entries[1];        ///< First entry
-} XosSysLog;
-
-
-//-----------------------------------------------------------------------------
-//  Pointer to syslog area.
-//-----------------------------------------------------------------------------
-extern XosSysLog * xos_syslog;
-
-
-//----------------------------------------------------------------------------
-///
-///  Initialize the syslog. Initializing the log also enables it. The system
-///  log always wraps around when full and overwrites the oldest entries.
-///
-///  \param     log_mem         Pointer to allocated memory for the log.
-///
-///  \param     num_entries     The number of entries that the log can contain.
-///
-///  \return Returns nothing.
-///
-//----------------------------------------------------------------------------
-static inline void
-xos_syslog_init(void * log_mem, uint16_t num_entries)
-{
-    uint16_t i;
-
-    xos_syslog = (XosSysLog *) log_mem;
-    xos_syslog->size = num_entries;
-    xos_syslog->next = xos_syslog->entries;
-
-    for (i = 0; i < num_entries - 1; i++) {
-        xos_syslog->entries[i].next = &(xos_syslog->entries[i+1]);
-        xos_syslog->entries[i].timestamp = 0;
-    }
-    xos_syslog->entries[i].next = xos_syslog->entries;
-    xos_syslog->entries[i].timestamp = 0;
-
-    xos_syslog->flags = XOS_SYSLOG_ENABLED;
-}
-
-
-///----------------------------------------------------------------------------
-///
-///  Reset the syslog. All entries made up to now are abandoned and the write
-///  pointer is set to the first entry location.
-///
-///  No parameters.
-///
-///  \return Returns nothing.
-///
-///----------------------------------------------------------------------------
-static inline void
-xos_syslog_clear()
-{
-#if XCHAL_HAVE_INTERRUPTS
-    uint32_t ps = XT_RSIL(XCHAL_NUM_INTLEVELS);
-#endif
-
-    xos_syslog_init(xos_syslog, xos_syslog->size);
-#if XCHAL_HAVE_INTERRUPTS
-    xos_restore_int_pri_level(ps);
-#endif
-}
-
-
-///----------------------------------------------------------------------------
-///
-///  Enable logging to the syslog. This function needs to be called only if
-///  logging had been previously disabled via xos_syslog_disable(), since
-///  initializing the syslog automatically enables it.
-///
-///  No parameters.
-///
-///  \return Returns nothing.
-///
-///----------------------------------------------------------------------------
-static inline void
-xos_syslog_enable() 
-{
-#if XCHAL_HAVE_INTERRUPTS
-    uint32_t ps = XT_RSIL(XCHAL_NUM_INTLEVELS);
-#endif
-
-    xos_syslog->flags |= XOS_SYSLOG_ENABLED;
-#if XCHAL_HAVE_INTERRUPTS
-    xos_restore_int_pri_level(ps);
-#endif
-}
-
-
-///----------------------------------------------------------------------------
-///
-///  Disable logging to the syslog. It is sometimes useful to disable logging
-///  while the log is being examined or dumped.
-///
-///  No parameters.
-///
-///  \return Returns nothing.
-///
-///----------------------------------------------------------------------------
-static inline void
-xos_syslog_disable()
-{
-#if XCHAL_HAVE_INTERRUPTS
-    uint32_t ps = XT_RSIL(XCHAL_NUM_INTLEVELS);
-#endif
-    xos_syslog->flags &= ~XOS_SYSLOG_ENABLED;
-#if XCHAL_HAVE_INTERRUPTS
-    xos_restore_int_pri_level(ps);
-#endif
-}
-
-
-///----------------------------------------------------------------------------
-///
-///  Write an entry into the syslog. This function does disable all interrupts
-///  since logging can be done from interrupt handlers as well. It will write
-///  into the log only if the log exists and is enabled.
-///
-///  \param     param1              User defined value.
-///
-///  \param     param2              User defined value.
-///
-///  \return Returns nothing.
-///
-///----------------------------------------------------------------------------
-static inline void
-xos_syslog_write(uint32_t param1, uint32_t param2)
-{
-    if (xos_syslog != XOS_NULL) {
-#if XCHAL_HAVE_INTERRUPTS
-        uint32_t ps = XT_RSIL(XCHAL_NUM_INTLEVELS);
-#endif
-
-        if ((xos_syslog->flags & XOS_SYSLOG_ENABLED) != 0) {
-            XosSysLogEntry * next = xos_syslog->next;
-
-            next->timestamp = xos_get_ccount();
-            next->param1    = param1;
-            next->param2    = param2;
-
-            xos_syslog->next = next->next;
-        }
-
-#if XCHAL_HAVE_INTERRUPTS
-        xos_restore_int_pri_level(ps);
-#endif
-    }
-}
-
-
-///----------------------------------------------------------------------------
-///
-///  Read the first (oldest) entry in the syslog. Will return an error if the
-///  log has not been created or is empty. Storage to copy the entry must be
-///  provided by the caller.
-///
-///  \param     entry       Pointer to storage where the entry data will be
-///                         copied. This pointer must be passed to 
-///                         xos_syslog_get_next().
-///
-///  \return Returns XOS_OK on success, else error code.
-///
-///----------------------------------------------------------------------------
-static inline int32_t
-xos_syslog_get_first(XosSysLogEntry * entry)
-{
-    if (xos_syslog == XOS_NULL) {
-        return XOS_ERR_NOT_FOUND;
-    }
-
-    if (entry != XOS_NULL) {
-#if XCHAL_HAVE_INTERRUPTS
-        uint32_t         ps   = XT_RSIL(XCHAL_NUM_INTLEVELS);
-#endif
-        XosSysLogEntry * next = xos_syslog->next;
-
-        // 'next' should be pointing to the next entry to be overwritten, if we
-        // have wrapped. This means it is the oldest entry. However if this entry
-        // has a zero timestamp then we have not wrapped, in which case we must
-        // look at the first entry in the list.
-        if (next->timestamp == 0) {
-            next = xos_syslog->entries;
-        }
-
-        *entry = *next;
-#if XCHAL_HAVE_INTERRUPTS
-        xos_restore_int_pri_level(ps);
-#endif
-        return entry->timestamp ? XOS_OK : XOS_ERR_NOT_FOUND;
-    }
-
-    return XOS_ERR_INVALID_PARAMETER;
-}
-
-
-///----------------------------------------------------------------------------
-///
-///  Get the next sequential entry from the syslog. This function must be called
-///  only after xos_syslog_get_first() has been called.
-///
-///  \param     entry       Pointer to storage where entry data will be copied.
-///                         Must be the same pointer that was passed in the call
-///                         to xos_syslog_get_first(), as it is used to keep track
-///                         of the current position.
-///
-///  \return Returns XOS_OK on success, else error code.
-///
-///----------------------------------------------------------------------------
-static inline int32_t
-xos_syslog_get_next(XosSysLogEntry * entry)
-{
-    if (entry != XOS_NULL) {
-#if XCHAL_HAVE_INTERRUPTS
-        uint32_t         ps   = XT_RSIL(XCHAL_NUM_INTLEVELS);
-#endif
-        XosSysLogEntry * next = entry->next;
-        int32_t          ret  = XOS_OK;
-
-        // Make sure we're not pointing past the last entry.
-        if ((next != XOS_NULL) && (next != xos_syslog->next) && (next->timestamp != 0)) {
-            *entry = *next;
-        }
-        else {
-            ret = XOS_ERR_NOT_FOUND;
-        }
-#if XCHAL_HAVE_INTERRUPTS
-        xos_restore_int_pri_level(ps);
-#endif
-        return ret;
-    }
-
-    return XOS_ERR_INVALID_PARAMETER;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // __XOS_SYSLOG_H__
-
diff --git a/components/esp32/include/xtensa/xos_thread.h b/components/esp32/include/xtensa/xos_thread.h
deleted file mode 100644 (file)
index 8bc5077..0000000
+++ /dev/null
@@ -1,1086 +0,0 @@
-/** @file */
-
-// xos_thread.h - XOS Thread API interface and data structures.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-
-#ifndef __XOS_THREAD_H__
-#define __XOS_THREAD_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "xos_types.h"
-#include "xos_params.h"
-
-
-//-----------------------------------------------------------------------------
-//  Number of thread priority levels.
-//-----------------------------------------------------------------------------
-#ifndef XOS_NUM_PRIORITY
-#error "XOS_NUM_PRIORITY must be defined (in xos_params.h)."
-#endif
-#if XOS_NUM_PRIORITY > 32
-#error "The number of thread priority levels (XOS_NUM_PRIORITY) must be <= 32."
-#endif
-#define XOS_MAX_PRIORITY        (XOS_NUM_PRIORITY)
-
-
-//-----------------------------------------------------------------------------
-//  Macro for thread self pointer.
-//-----------------------------------------------------------------------------
-#define XOS_THREAD_SELF         (xos_thread_id())
-
-
-//-----------------------------------------------------------------------------
-///
-///  Thread entry function pointer type.
-///
-//-----------------------------------------------------------------------------
-typedef int32_t (XosThreadFunc)(void * arg, int32_t wake_value);
-
-
-//-----------------------------------------------------------------------------
-//  Thread switcher function signature.
-//-----------------------------------------------------------------------------
-typedef struct XosThread XosThread;
-typedef int32_t (XosSwitchFunc)(XosThread *);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Condition evaluation callback function pointer type.
-///
-//-----------------------------------------------------------------------------
-typedef int32_t (XosCondFunc)(void * arg, int32_t sig_value, XosThread * thread);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Thread exit handler function pointer type.
-///
-//-----------------------------------------------------------------------------
-typedef int32_t (XosThdExitFunc)(int32_t exitcode);
-
-
-//-----------------------------------------------------------------------------
-//  Thread queue structure. Used to implement the ready queues as well
-//  as the wait queues.
-//-----------------------------------------------------------------------------
-typedef struct XosThreadQueue {
-  XosThread *  head;    // Pointer to first thread in queue, or 0 if none.
-  XosThread ** tail;    // Pointer to last thread's r_next pointer, or
-                        // to "head" if none.
-} XosThreadQueue;
-
-
-//-----------------------------------------------------------------------------
-//  Stack frame for a thread that is not running. That is, it has either
-//  been preempted or has yielded.
-//-----------------------------------------------------------------------------
-typedef union XosFrame {
-  XosExcFrame   e;      // resume_fn == &xos_resume_preempted_thread
-  XosCoopFrame  c;      // resume_fn == &xos_resume_cooperative_thread
-  // nothing for resume_fn == &xos_resume_idle_thread
-  // nothing for resume_fn == &xos_resume_by_restart
-} XosFrame;
-
-
-//-----------------------------------------------------------------------------
-//  Thread Control Block. Tracks the state and control information associated
-//  with a thread.
-//
-//  IMPORTANT:  keep this in sync with TCB_*** offsets in xos_common.h .
-//-----------------------------------------------------------------------------
-struct XosThread {
-  XosThread *   r_next;         // 00 Next thread in queue (eg. ready queue of
-                                // its priority, or some queue of blocked threads)
-                                // Should be NULL if not in any queue.
-
-  XosThread **  r_pprev;        // 04 Points to previous queue entry's r_next
-                                // pointer (i.e. to itself), or to queue head
-                                // if first in queue. NULL if not in any queue.
-
-  XosThread *   all_next;       // 08 Next in list of all threads.
-  
-  void *        resume_fn;      // 12 Pointer to the routine to be called to
-                                // resume this thread. On entry to such code:
-                                //   a2 == xos_curr_threadptr (thread being resumed)
-                                //   a3 == &xos_globals
-
-  XosFrame *    esf;            // 16 Pointer to saved exception stack frame,
-                                // just below thread's current stack pointer.
-                                // For RTC threads, this is valid only while the
-                                // thread is preempted, not when it is blocked.
-
-  void *        tie_save;       // 20 TIE state save area. May be NULL if there
-                                // is not TIE state saved for this thread.
-  
-  int32_t       wake_value;     // 24 Value returned from block call (by wake call)
-                                // (for RTC: pass this to start function??)
-  
-  XosSwitchFunc * switch_fn;    // 28 Pointer to a function that
-                                // can be called from within this thread, to save
-                                // this thread's state and switch to a specified
-                                // other thread. Returns wake value.
-
-  void *        stack_base;     // 32 Base of stack as specified by thread creator.
-  
-  void *        stack_end;      // 36 End of stack (adjusted for TIE state save area
-                                // if any).
-
-  XosThreadFunc * entry;        // 40 Pointer to thread entry function. Used for
-                                // RTC thread restart.
-  
-  void *        arg;            // 44 Argument value passed to entry function.
-
-  bool          ready;          // 48 Set when thread is ready to run, and is in
-                                // its priority queue (i.e. r_pprev is set when
-                                // this flag is set).
-
-  bool          in_exit;        // Exit flag, nonzero when in exit processing.
-
-  int8_t        priority;       // Thread priority, 0 .. (XOS_MAX_PRI - 1). Higher
-                                // numbers have higher priority. This must only be
-                                // changed when thread is not ready, or by calling
-                                // xos_thread_set_priority().
-
-  int8_t        preempt_pri;    // This thread's preemption blocking priority.
-                                // (preempt_pri >= priority). A thread's priority
-                                // must be higher than another's preempt_pri to be
-                                // able to preempt it. Note that preempt_pri can
-                                // change during runtime e.g. due to priority
-                                // inheritance.
-
-  uint32_t      flags;          // 52 Thread creation flags.
-
-  const char *  name;           // 56 Thread name (mainly for debug).
-
-  const char *  block_cause;    // 60 Reason for blocking. Valid only when thread
-                                // not ready (r_pprev == 0).
-
-  XosThread *   container;      // 64 Thread whose stack will be used to run
-                                // this thread. Valid for RTC threads only, else NULL.
-
-  XosThdExitFunc * exit_func;   // 68 Thread exit handler function pointer.
-
-  XosThreadQueue  exit_waiters; // 72 Queue of threads waiting for this one to exit.
-
-  XosThreadQueue * wq_ptr;      // 80 If this thread is in a wait queue, this
-                                // points to the queue. Must be NULL when
-                                // thread not in a queue.
-
-  XosCondFunc * cond_fn;        // 84 Condition function. Valid only while thread
-                                // is blocked on condition.
-
-  void *        cond_arg;       // 88 Argument to be passed to condition function.
-
-  uint16_t      cp_mask;        // 92 Mask of coprocessors used.
-  uint16_t      cp_saved;       // 94 Mask of coprocessors saved.
-
-  uint32_t      event_bits;     // 96 event bits
-  uint32_t      event_mask;     // 100 event bit mask
-  uint32_t      event_flags;    // 104 event flags
-
-  void *        clib_ptr;       // 108 Pointer to C lib context struct.
-
-  uint32_t      sig;            // 112 Signature of valid TCB
-
-  uint32_t      resume_ccount;  // 116 cycle count at resume
-  uint64_t      cycle_count;    // 120 number of cycles consumed (approx).
-                                // NOTE: must be 8-byte aligned
-  uint32_t      normal_resumes; // 128 Number of non-preemptive resumptions.
-  uint32_t      preempt_resumes;// 132 Number of preemptive resumptions.
-
-#if XOS_OPT_THREAD_SAFE_CLIB
-  CLIB_THREAD_STRUCT;           // C library context area.
-#endif
-};
-
-
-//-----------------------------------------------------------------------------
-//  User-visible flags for xos_thread_create().
-//-----------------------------------------------------------------------------
-#define XOS_THREAD_SUSPEND      0x0001  ///< Create suspended instead of ready
-#define XOS_THREAD_RTC          0x0002  ///< Run-to-completion thread
-#define XOS_THREAD_NO_CP        0x0004  ///< Thread does not use coprocessors
-
-
-//-----------------------------------------------------------------------------
-//  Flags used by thread creation extra parameters.
-//-----------------------------------------------------------------------------
-#define XOS_TP_COPROC_MASK      0x0001
-#define XOS_TP_PREEMPT_PRI      0x0002
-#define XOS_TP_EXIT_HANDLER     0x0004
-
-
-//-----------------------------------------------------------------------------
-//  Thread creation extra parameters.
-//-----------------------------------------------------------------------------
-typedef struct XosThreadParm {
-  uint32_t      parms_mask;     // Combination of XOS_TP_xxx flags indicating
-                                // which parameters are valid.
-
-  uint16_t      cp_mask;        // Mask of coprocessors the thread can access.
-
-  uint32_t      preempt_pri;    // Initial preemption blocking priority. Can be
-                                // changed later via xos_thread_set_priority().
-
-  XosThdExitFunc * handler;     // Exit handler function.
-
-} XosThreadParm;
-
-
-//-----------------------------------------------------------------------------
-//  Wrapper struct for RTC (run to completion) thread.
-//-----------------------------------------------------------------------------
-typedef struct XosRtcThread {
-  struct XosThread thread;
-} XosRtcThread;
-
-
-//-----------------------------------------------------------------------------
-//  External variables.
-//-----------------------------------------------------------------------------
-extern XosThread *      xos_curr_threadptr;     // Current active thread
-extern XosThread *      xos_next_threadptr;     // Next ready thread
-extern XosThread *      xos_all_threads;        // List of all threads
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set thread creation parameter: the group of coprocessors that this thread
-///  will use. This must be set during thread creation, and cannot be changed
-///  after the thread has been created. Defining this allows reduction of
-///  memory usage (for CP state saving) in some circumstances, and can also
-///  speed up the context switch time.
-///
-///  NOTE: Support for this is not currently implemented. If a thread uses
-///  any coprocessor, space for all coprocessors must be reserved.
-///
-///  \param     parms           Thread creation parameter structure. Must be
-///                             allocated by the caller.
-///
-///  \param     cp_mask         Bitmask of coprocessors thread is allowed to
-///                             use. Bit 0 for coprocessor 0, etc.
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-static inline void
-xos_threadp_set_cp_mask(XosThreadParm * parms, uint16_t cp_mask)
-{   
-    if (parms != XOS_NULL) {
-        parms->parms_mask |= XOS_TP_COPROC_MASK;
-        parms->cp_mask = cp_mask;
-    }
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set thread creation parameter: thread pre-emption priority.
-///
-///  \param     parms           Thread creation parameter structure. Must be
-///                             allocated by caller.
-///
-///  \param     preempt_pri     Thread pre-emption blocking priority.
-///                             From 0 .. XOS_NUM_PRIORITY - 1.
-///                             Must be greater or equal to the thread priority
-///                             (if not, is automatically set to thread priority).
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-static inline void
-xos_threadp_set_preemption_priority(XosThreadParm * parms, int8_t preempt_pri)
-{
-    if (parms != XOS_NULL) {
-        parms->parms_mask |= XOS_TP_PREEMPT_PRI;
-        parms->preempt_pri = preempt_pri;
-    }
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set thread creation parameter: thread exit handler.
-///
-///  \param     parms           Thread creation parameter structure. Must be
-///                             allocated by caller.
-///
-///  \param     handler         Exit handler function.
-///
-///  \return    Returns nothing.
-//-----------------------------------------------------------------------------
-static inline void
-xos_threadp_set_exit_handler(XosThreadParm * parms, XosThdExitFunc * handler)
-{
-    if (parms != XOS_NULL) {
-        parms->parms_mask |= XOS_TP_EXIT_HANDLER;
-        parms->handler     = handler;
-    }
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Create a new thread. If the thread is not created suspended, then it will
-///  be made ready as soon as it is created, and will immediately run if it is
-///  the highest priority non-blocked thread in the system.
-///
-///  \param     thread          Pointer to the thread descriptor (an otherwise
-///                             unused XosThread structure, usually allocated
-///                             by the caller for the lifetime of the thread,
-///                             for example as a global variable).
-///
-///  \param     container       Pointer to separate thread acting as "container"
-///                             for this one. At the moment, this is only meaningful
-///                             for run-to-completion (RTC) threads (identified with
-///                             the XOS_THREAD_RTC flag), in which case the container
-///                             must have the same priority and also be an RTC thread.
-///                             (The priority restriction may be lifted in a future
-///                             implementation, with appropriate constraints on dynamic
-///                             reprioritization of the created thread).
-///
-///  \param     entry           Thread entry function, takes one argument.
-///
-///  \param     arg             Argument "void*" that is passed to the thread function.
-///
-///  \param     name            Unique name of the thread, for debug/display purposes.
-///                             This string must be valid for the lifetime of the thread
-///                             (only a pointer to it is stored in the thread control block).
-///                             Typically consists of identifier chars with no spaces.
-///
-///  \param     stack           Base of initial stack for the thread, allocated by the 
-///                             caller. Need not be aligned (initial stack pointer will be
-///                             computed and aligned from given stack base and size).
-///                             Required argument, except for run-to-completion threads 
-///                             when container is non-NULL, in which case the container's
-///                             stack is used and this argument must be NULL.
-///
-///  \param     stack_size      Size of the stack, in bytes.
-///                             NOTE: stack should be at least XOS_STACK_EXTRA bytes plus
-///                             whatever the thread actually needs if the thread will use
-///                             coprocessors/TIE state. If the thread will not touch the
-///                             coprocessors, then it should be XOS_STACK_EXTRA_NO_CP
-///                             plus whatever the thread actually needs.
-///                             Recommended minimum stack sizes are defined by the constants
-///                             XOS_STACK_MIN_SIZE and XOS_STACK_MIN_SIZE_NO_CP.
-///
-///                             For run-to-completion threads where container is non-NULL, 
-///                             stack_size specifies the minimum stack size required for
-///                             the thread; it should be smaller or equal to the container's
-///                             stack.
-///
-///  \param     priority        Initial thread priority. From 0 .. XOS_MAX_PRI - 1.
-///                             Higher numbers are higher priority.
-///
-///  \param     parms           Pointer to extra parameters structure, or 0 if none given.
-///                             Use xos_thread_p_***() functions to set parameters in the
-///                             structure.
-///
-///  \param     flags           Option flags:
-///                             - XOS_THREAD_SUSPEND -- Leave thread suspended instead of
-///                               making it ready. The thread can be made ready to run later
-///                               by calling xos_thread_resume().
-///                             - XOS_THREAD_RTC -- Run-to-completion thread.
-///                             - XOS_THREAD_NO_CP -- Thread does not use coprocessors.
-///                               No coprocessor state will be saved for this thread.
-///                               Threads that have this flag set will not allocate any
-///                               storage for saving coprocessor state and so can have
-///                               smaller stacks.
-/// 
-///  NOTE: xos_start_main() calls xos_thread_create() to convert main() into the 'main'
-///  thread.
-///
-///  \return    Returns XOS_OK if successful, error code otherwise.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_create(XosThread *     thread,
-                  XosThread *     container,
-                  XosThreadFunc * entry,
-                  void *          arg,
-                  const char *    name, 
-                  void *          stack,
-                  uint32_t        stack_size,
-                  int32_t         priority,
-                  XosThreadParm * parms,
-                  uint32_t        flags );
-
-
-//-----------------------------------------------------------------------------
-///
-///  Remove thread and free up all resources. Thread must have exited already.
-///  After this call returns, all resources allocated to the thread (e.g. TCB,
-///  stack space, etc.) can be reused.
-///
-///  \param     thread          Handle of thread to be deleted.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-///  NOTE: A thread cannot call this on itself.
-///
-//-----------------------------------------------------------------------------
-int32_t     
-xos_thread_delete(XosThread * thread);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Force the thread to terminate. The thread execution is aborted, but exit
-///  processing will still happen, i.e. the exit handler (if any) will be run.
-///  After termination, any other threads waiting on this thread are notified.
-///  This function cannot be called on the current thread.
-///
-///  \param     thread          Handle of thread to be aborted.
-///
-///  \param     exitcode        Exit code returned to any waiting threads.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-///  NOTE: If the thread is blocked waiting for something, the wait is aborted
-///  and the thread is made ready.
-///  NOTE: The thread is not guaranteed to have exited when this call returns.
-///  It will be made ready and set up for exit processing, but when the exit
-///  processing will actually happen depends on the state of the system and
-///  the priority of the thread being aborted.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_abort(XosThread * thread, int32_t exitcode);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Exit the current thread. The exit handler (if any) will be run before the
-///  thread terminates.
-///
-///  \param     exitcode                Exit code to be returned to any waiting threads.
-///
-///  \return    This function does not return.
-///
-///  NOTE: This is automatically called if the thread returns from its entry
-///  function. The entry function's return value will be passed as the exit
-///  code.
-///
-//-----------------------------------------------------------------------------
-void
-xos_thread_exit(int32_t exitcode);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Wait until the specified thread exits and get its exit code. If the thread
-///  has exited already, an error will be returned.
-///
-///  \param     thread          The thread to wait for. Cannot be "self", i.e.
-///                             one cannot wait on one's own exit.
-///
-///  \param     p_exitcode      If not null, the exit code will be returned here.
-///
-///  \return    Returns XOS_OK on sucess, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_join(XosThread * thread, int32_t * p_exitcode);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Yield the CPU to the next thread in line. The calling thread remains ready
-///  and is placed at the tail of the ready queue at its current priority level.
-///  If there are no threads at the same priority level that are ready to run,
-///  then this call will return immediately.
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-void
-xos_thread_yield();
-
-
-//-----------------------------------------------------------------------------
-///
-///  Suspend the specified thread. The thread will remain suspended until 
-///  xos_thread_resume() has been called on it. If the thread is already blocked
-///  on some other condition, then this function will return an error.
-///
-///  \param     thread          Handle of thread being suspended. A thread can
-///                             use the special handle XOS_THREAD_SELF to suspend
-///                             itself.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_suspend(XosThread * thread);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Resume a suspended thread. If the thread is not suspended or is blocked on
-///  some other condition then this function will do nothing. Otherwise, it will
-///  be made ready, and this can cause an immediate context switch if the thread
-///  is at a higher priority than the calling thread.
-///
-///  \param     thread          Handle of thread being resumed.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_resume(XosThread * thread);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get the priority of the specified thread. This returns the priority of the
-///  queried thread at this instant, however this can change at any time due to
-///  other activity in the system.
-///
-///  \param     thread          Handle of thread being queried. A thread can use
-///                             the special handle XOS_THREAD_SELF to query itself.
-///
-///  \return    Returns the thread's current priority, or -1 if the thread handle
-///             is not valid.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-xos_thread_get_priority(XosThread * thread)
-{
-    XOS_ASSERT(thread);
-    return thread ? thread->priority : -1;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set the priority of the specified thread. The thread must exist. 
-///
-///  \param     thread          Handle of thread being affected. A thread can
-///                             use the special handle XOS_THREAD_SELF to specify
-///                             itself.
-///
-///  \param     priority        The new priority level to be set.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-///  NOTE: Calling this function can result in a scheduler activation, and the
-///  caller may be suspended as a result.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_set_priority(XosThread * thread, int32_t priority);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Return the name of the specified thread.
-///
-///  \param     thread          Handle of thread being queried. A thread can use
-///                             the special handle XOS_THREAD_SELF to specify
-///                             itself.
-///
-///  \return    Returns a pointer to the name string if available, else NULL.
-///
-//-----------------------------------------------------------------------------
-static inline const char *
-xos_thread_get_name(XosThread * thread)
-{
-    XOS_ASSERT(thread);
-    return thread ? thread->name : 0;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set the name of the specified thread.
-///
-///  \param     thread          Handle of thread whose name is to be set. A thread
-///                             can use the special handle XOS_THREAD_SELF to specify
-///                             itself.
-///
-///  \param     name            Pointer to the new name string. The string is not
-///                             copied, only the pointer is saved. So the string
-///                             must be persistent for the life of the thread.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-xos_thread_set_name(XosThread * thread, const char * name)
-{
-    XOS_ASSERT(thread);
-    if (thread != XOS_NULL) {
-        thread->name = name;
-        return XOS_OK;
-    }
-
-    return XOS_ERR_INVALID_PARAMETER;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set an exit handler for the specified thread. The exit handler is run when
-///  the thread terminates, either by calling xos_thread_exit() or by returning
-///  from its entry function. It will also be called if the thread is being
-///  terminated due to e.g. an unhandled exception.
-///
-///  The handler must be a function defined as e.g.:
-///
-///      int32_t exit_handler(int32_t exitcode);
-///
-///  The exit handler runs in the context of the exiting thread, and can call
-///  system services. It is provided with a single parameter which is the
-///  thread's exit code (the exit code may be set to an error code if the
-///  thread is being terminated due to an error or exception). The handler
-///  must return a value which will be set as the thread's exit code.
-///
-///  \param     thread          Handle of the thread for which the handler is
-///                             to be installed. A thread can use the special
-///                             handle XOS_THREAD_SELF to specify itself.
-///
-///  \param     func            Pointer to exit handler function. To clear an
-///                             existing handler, pass NULL as the pointer.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_set_exit_handler(XosThread * thread, XosThdExitFunc * func);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Return the ID (handle) of the current thread.
-///
-///  \return    Returns the handle of the current thread. This handle can be
-///             used in all XOS system calls.
-///
-///  NOTE: If called from interrupt context, returns the handle of the thread
-///  that was preempted.
-///
-//-----------------------------------------------------------------------------
-static inline XosThread *
-xos_thread_id()
-{
-    return xos_curr_threadptr;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Return the coprocessor mask for the specified thread.
-///
-///  \param     thread          Handle of thread being queried.
-///
-///  \return    Returns the mask for the specified thread if available, else 0.
-///
-//-----------------------------------------------------------------------------
-static inline uint16_t
-xos_thread_cp_mask(XosThread * thread)
-{
-    XOS_ASSERT(thread);
-    return thread ? thread->cp_mask : 0;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Return the wake value for the specified thread.
-///
-///  \return    thread          Handle of thread being queried.
-///
-///  \return    Returns The last set wake value. There is no way to detect what
-///             action set the wake value and when.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-xos_thread_get_wake_value(XosThread * thread)
-{
-    XOS_ASSERT(thread);
-    return thread ? thread->wake_value : 0;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Return the current value of the event bits for the current thread.
-///  This function takes no parameters.
-///
-///  \return    Returns the current value of the event bits. The event bits
-///             are set when the thread is woken from an event wait. They will
-///             not change while the thread is running. There is no way to
-///             determine when the event bits were last updated.
-///
-//-----------------------------------------------------------------------------
-static inline uint32_t
-xos_thread_get_event_bits(void)
-{
-    XosThread * thread = xos_thread_id();
-    return thread ? thread->event_bits : 0;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Enum values for thread state.
-///
-//-----------------------------------------------------------------------------
-typedef enum xos_thread_state_t {
-    XOS_THREAD_STATE_INVALID = 0,       ///< Invalid thread
-    XOS_THREAD_STATE_BLOCKED,           ///< Thread is blocked
-    XOS_THREAD_STATE_READY,             ///< Thread is ready to run
-    XOS_THREAD_STATE_RUNNING,           ///< Thread is running
-    XOS_THREAD_STATE_EXITED,            ///< Thread has exited
-} xos_thread_state_t;
-
-
-//-----------------------------------------------------------------------------
-///
-///  Return the state of the specified thread.
-///
-///  \param     thread          Handle of thread being queried.
-///
-///  \return    Returns one of the following values:
-///             - XOS_THREAD_STATE_RUNNING -- The thread is currently running.
-///             - XOS_THREAD_STATE_READY   -- The thread is ready to run.
-///             - XOS_THREAD_STATE_BLOCKED -- The thread is blocked on something.
-///             - XOS_THREAD_STATE_INVALID -- The thread handle is invalid.
-///             - XOS_THREAD_STATE_EXITED  -- The thread has exited.
-///
-//-----------------------------------------------------------------------------
-xos_thread_state_t
-xos_thread_get_state(XosThread * thread);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Disable thread preemption. Prevents context switching to another thread.
-///  However, interrupt handlers will still continue to be run. Multiple calls
-///  will nest, and the same number of calls to xos_preemption_enable() will be
-///  required to re-enable preemption. If the calling thread yields the CPU or
-///  exits without enabling preemption, it will cause a system halt.
-///  If the calling thread encounters a fatal error, preemption will be enabled
-///  during fatal error handling.
-///
-///  \return    Returns the new value of preemption disable flag after this call.
-///
-///  NOTE: Cannot be called from interrupt context.
-///
-//-----------------------------------------------------------------------------
-uint32_t
-xos_preemption_disable(void);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Enable thread preemption. Has no effect if preemption was already enabled.
-///  Otherwise, it decrements the value of the preemption disable flag and if
-///  the value goes to zero, enables preemption.
-///
-///  \return    Returns the new value of preemption disable flag after this call.
-///
-///  NOTE: If scheduling gets enabled, it may cause an immediate context switch
-///  if higher priority threads are ready.
-///
-//-----------------------------------------------------------------------------
-uint32_t
-xos_preemption_enable(void);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize XOS thread support and start scheduler.
-///
-///  Must be called from main() before calling any other thread function.
-///  This function initializes thread support, creates the idle thread, and
-///  starts the scheduler. It does not return to its caller. This means that
-///  at least one user thread must be created before calling xos_start().
-///  Otherwise, the scheduler will run the idle thread since it will be the
-///  only thread in the system, and no other thread can be created.
-///
-///  NOTE: This function does not initialize timer/tick support. For timer
-///  services to be available xos_start_system_timer() must be called.
-///
-///  NOTE: xos_start() and xos_start_main() are exclusive, both cannot be
-///  called within the same application.
-///
-///  \param     flags           Currently unused (pass 0).
-///
-///  \return    Does not return.
-///
-//-----------------------------------------------------------------------------
-void
-xos_start(uint32_t flags);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize XOS thread support and create init (main) thread.
-///
-///  Must be called from main() before calling any other thread function.
-///  This function converts the caller into the 'main' or 'init' thread, and
-///  returns to the caller after completing initialization. 
-///
-///  NOTE: This function does not initialize timer/tick support. For timer
-///  services to be available xos_start_system_timer() must be called.
-///
-///  NOTE: xos_start_main() and xos_start() are exclusive, both cannot be
-///  called within the same application.
-///
-///  \param     name            Name of main thread (see xos_thread_create()).
-///
-///  \param     priority        Initial priority of main thread.
-///
-///  \param     flags           Currently unused (pass 0).
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-void
-xos_start_main(const char * name, int8_t priority, uint32_t flags);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Per-thread stats structure.
-///  Note that the CPU use % is approximate, both because of cycle counting
-///  and because of integer division. So all the threads' CPU % will not add
-///  up to exactly 100%.
-///
-//-----------------------------------------------------------------------------
-typedef struct XosThreadStats {
-  XosThread *   thread;            ///< Thread handle (or pseudo-handle)
-  uint32_t      cpu_pct;           ///< CPU use % for this thread
-  uint32_t      normal_switches;   ///< Number of non-preemptive switches.
-  uint32_t      preempt_switches;  ///< Number of preemptive switches.
-  uint64_t      cycle_count;       ///< Number of cycles consumed.
-} XosThreadStats;
-
-
-//-----------------------------------------------------------------------------
-//  Thread pseudo-handles.
-//-----------------------------------------------------------------------------
-#define XOS_THD_STATS_IDLE      ((XosThread *) 1)
-#define XOS_THD_STATS_INTR      ((XosThread *) 2)
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get the thread statistics for the specified thread. Statistics are only
-///  available if XOS_OPT_STATS has been enabled. Otherwise, the function
-///  will return XOS_OK, but the structure contents will be undefined.
-///
-///  \param     thread          Handle of thread being queried. The following
-///                             special pseudo-handles can be used:
-///                             - XOS_THD_STATS_IDLE -- stats for idle thread
-///                             - XOS_THD_STATS_INTR -- stats for interrupt processing
-///
-///  \param     stats           Pointer to XosThreadStats struct to be filled in.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-///  NOTE: Can be called from interrupt context.
-///  NOTE: This call will not fill in the "thread" and "cpu_pct" fields in the
-///  "stats" structure. The thread handle is already known, and calculating the
-///  CPU loading can take quite a bit of time so is not done here.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_get_stats(XosThread * thread, XosThreadStats * stats);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get CPU loading statistics for the system. This function computes the CPU
-///  percentage use for all threads in the system (including the idle thread and
-///  the 'interrupt thread' (interrupt context). It also returns the cycle count
-///  and number of context switches for each thread.
-///  Statistics are only available if XOS_OPT_STATS has been enabled.
-///  Otherwise, the function will return XOS_OK, but the structure contents will
-///  be undefined.
-///
-///  IMPORTANT: The entry for interrupt context does not contain a real thread
-///  handle. It uses the pseudo-handle XOS_THD_STATS_INTR to indicate that this
-///  entry reports interrupt statistics. This pseudo-handle cannot be used for
-///  any other thread operations or queries.
-///
-///  NOTE: This function disables interrupts while traversing the thread list.
-///  It does not leave interrupts disabled during the computations, as that can
-///  take a fair amount of time.
-///
-///  \param     stats           Pointer to an array of XosThreadStats structures.
-///                             The array must be large enough to accommodate all
-///                             threads in the system.
-///
-///  \param     size            The number of elements available in the array. If
-///                             this is smaller than the number of threads plus one
-///                             (for the interrupt context) then XOS_ERR_INVALID_PARAMETER
-///                             will be returned and '*size' will be set to the
-///                             minimum number of elements required. On a successful
-///                             return, '*size' is set to the number of elements
-///                             actually filled in.
-///
-///  \param     reset           If nonzero, then thread stats counters are reset
-///                             after reading. This is useful if you want to track
-///                             the stats so as to get a better idea of current
-///                             system loading. E.g. calling this function once a
-///                             second with 'reset' nonzero will provide CPU load
-///                             information for the last second on each call.
-///
-///  \return    Returns XOS_OK on success, else error code. In particular,
-///             XOS_ERR_INVALID_PARAMETER will be returned if the output buffer
-///             is too small.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_get_cpu_load(XosThreadStats * stats, int32_t * size, int32_t reset);
-
-
-#ifdef _XOS_INCLUDE_INTERNAL_
-
-// Signature of valid thread object
-#define XOS_THREAD_SIG  0x54485244
-
-
-// Extern functions
-void
-xos_init(void);
-
-bool
-xos_init_done(void);
-
-bool
-xos_started(void);
-
-int32_t
-xos_schedule(XosThread * curr_thread);
-
-void
-xos_q_remove(XosThreadQueue * queue, XosThread * thread);
-
-XosThread *
-xos_q_pop(XosThreadQueue * queue);
-
-int32_t
-xos_wake_queue(XosThreadQueue * queue, const char * expected_cause, int32_t wake_value);
-
-// Well known block causes
-extern const char * const xos_blkon_idle;       // (for idle thread only)
-extern const char * const xos_blkon_suspend;
-extern const char * const xos_blkon_delay;
-extern const char * const xos_blkon_exited;
-extern const char * const xos_blkon_join;
-extern const char * const xos_blkon_event;
-extern const char * const xos_blkon_condition;
-extern const char * const xos_blkon_mutex;
-extern const char * const xos_blkon_sem;
-extern const char * const xos_blkon_msgq;
-
-
-//-----------------------------------------------------------------------------
-//  Blocks the current active thread.
-//
-//  Currently, this can be called from an interrupt handler to block the thread
-//  that was interrupted. Note that in interrupt context the current thread can
-//  already be in the blocked state, due to a previous call to this function.
-//  Can be called with interrupts enabled.
-//
-//  block_cause         Reason for blocking.
-//
-//  block_queue         Queue on to which this thread should be pushed once it
-//                      is blocked. Can be NULL.
-//
-//  must_schedule       If nonzero, then forces a scheduling operation to pick
-//                      the next thread to run, even if there are ready threads
-//                      at the same priority level as the blocked thread.
-//
-//  use_priority        If nonzero, then the blocked thread will be queued in
-//                      priority order in the specified block queue. If zero,
-//                      the thread is queued in FIFO order. If no queue has
-//                      been specified, this parameter is ignored.
-//
-//  Returns: The value passed by xos_thread_wake().
-//-----------------------------------------------------------------------------
-int32_t
-xos_block(const char *     block_cause,
-          XosThreadQueue * block_queue,
-          int32_t          must_schedule,
-          int32_t          use_priority);
-
-
-//-----------------------------------------------------------------------------
-//  Unblocks the specified blocked thread and puts it at the tail end of its
-//  ready queue. Schedules it if it is higher priority than the current thread.
-//  No effect if the thread is not blocked with the specified cause.
-//
-//  thread              The thread to wake up (make ready).
-//
-//  expected_cause      The expected block cause of the thread. Thread will be
-//                      woken only if its block cause matches this cause, or if
-//                      expected_cause is zero.
-//  
-//  wake_value          The value to be passed to the woken thread as a return
-//                      value from xos_thread_block().
-//
-//  Returns: nothing.
-//
-//  The target thread can be woken at a different priority by changing its
-//  priority while the thread is blocked.
-//  Can be called with interrupts enabled. Can be called in interrupt context.
-//-----------------------------------------------------------------------------
-void
-xos_thread_wake(XosThread * thread, const char * expected_cause, int32_t wakevalue);
-
-
-//-----------------------------------------------------------------------------
-//  Function to init C library per-thread and reentrancy support.
-//-----------------------------------------------------------------------------
-#if XOS_OPT_THREAD_SAFE_CLIB
-void
-xos_clib_init(void);
-
-void
-xos_clib_thread_init(XosThread * thread);
-
-void
-xos_clib_thread_cleanup(XosThread * thread);
-#endif
-
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  // __XOS_THREAD_H__
-
diff --git a/components/esp32/include/xtensa/xos_timer.h b/components/esp32/include/xtensa/xos_timer.h
deleted file mode 100644 (file)
index 0d89a21..0000000
+++ /dev/null
@@ -1,592 +0,0 @@
-/** @file */
-
-// xos_timer.h - XOS Timer API interface and data structures.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-
-#ifndef __XOS_TIMER_H__
-#define __XOS_TIMER_H__
-
-#include "xos_types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-//-----------------------------------------------------------------------------
-///
-/// Function pointer type for timer callbacks.
-///
-//-----------------------------------------------------------------------------
-typedef void (XosTimerFunc)(void * arg);
-
-
-//-----------------------------------------------------------------------------
-///
-/// Timer event structure. Used to track pending timer events.
-///
-//-----------------------------------------------------------------------------
-typedef struct XosTimer {
-    struct XosTimer *   next;   ///< Pointer to next event in list.
-    uint64_t            when;   ///< Time (clock cycles) at which to trigger.
-    uint64_t            delta;  ///< Delta for next re-trigger, 0 if none.
-    XosTimerFunc *      fn;     ///< Function to call when timer expires.
-    void *              arg;    ///< Argument to pass to called function.
-    bool                active; ///< Set if active (in some list of events).
-#if XOS_OPT_TIMER_WAIT
-    XosThreadQueue      waitq;  ///< Queue of threads waiting on this timer.
-#endif
-#if XOS_TIMER_DEBUG
-    uint32_t            signature;
-#endif
-} XosTimer;
-
-
-//-----------------------------------------------------------------------------
-// Extern declarations.
-//-----------------------------------------------------------------------------
-
-// System clock frequency in cycles per second.
-extern uint32_t xos_clock_freq;
-
-
-///@{
-//-----------------------------------------------------------------------------
-// Functions to convert from clock cycles to time units and vice versa.
-//
-// Note that these are integer conversions so for example a cycle count of less
-// than one second will convert to zero seconds.
-//-----------------------------------------------------------------------------
-
-///  Converts CPU cycles to time in seconds.
-///
-///  \param     cycles          Number of CPU cycles.
-///
-///  \return    Equivalent number of seconds (truncated to integer).
-static inline uint64_t
-xos_cycles_to_secs(uint64_t cycles)
-{
-    return cycles / xos_clock_freq;
-}
-
-/// Converts CPU cycles to time in milliseconds.
-///
-///  \param     cycles          Number of CPU cycles.
-///
-///  \return    Equivalent number of milliseconds (truncated to integer).
-static inline uint64_t
-xos_cycles_to_msecs(uint64_t cycles)
-{
-    return (cycles * 1000) / xos_clock_freq;
-}
-
-/// Converts CPU cycles to time in microseconds.
-///
-///  \param     cycles          Number of CPU cycles.
-///
-///  \return    Equivalent number of microseconds (truncated to integer).
-static inline uint64_t
-xos_cycles_to_usecs(uint64_t cycles)
-{
-    return (cycles * 1000000) / xos_clock_freq;
-}
-
-/// Converts time in seconds to CPU cycle count.
-///
-///  \param     secs            Number of seconds.
-///
-///  \return    Equivalent number of CPU cycles.
-static inline uint64_t
-xos_secs_to_cycles(uint64_t secs)
-{
-    return secs * xos_clock_freq;
-}
-
-/// Converts time in milliseconds to CPU cycle count.
-///
-///  \param     msecs           Number of milliseconds.
-///
-///  \return    Equivalent number of CPU cycles.
-static inline uint64_t
-xos_msecs_to_cycles(uint64_t msecs)
-{
-    return (msecs * xos_clock_freq) / 1000;
-}
-
-/// Converts time in microseconds to CPU cycle count.
-///
-///  \param     usecs           Number of microseconds.
-///
-///  \return    Equivalent number of CPU cycles.
-static inline uint64_t
-xos_usecs_to_cycles(uint64_t usecs)
-{
-    return (usecs * xos_clock_freq) / 1000000;
-}
-///@}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set system clock frequency. This is expected to be set only once, and only
-///  if the clock frequency is not known at compile time.
-///
-///  \param     freq            Frequency in cycles per second.
-///
-///  \return    Returns nothing.
-///
-//-----------------------------------------------------------------------------
-static inline void
-xos_set_clock_freq(uint32_t freq)
-{
-    xos_clock_freq = freq;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get current system clock frequency.
-///
-///  \return    Returns current system clock frequency in cycles per second.
-///
-//-----------------------------------------------------------------------------
-static inline uint32_t
-xos_get_clock_freq()
-{
-    return xos_clock_freq;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize timer support and start the system timer.
-///  This function must be called before calling any other timer function.
-///
-///  NOTE: The smaller the tick period, the more precisely delays can be
-///  specified using timers.  However, we also need to make the tick period
-///  large enough to allow time both to execute the tick timer interrupt handler
-///  and for the application to make reasonable forward progress.  If tick_period
-///  is too small, the timer interrupt may re-trigger before the timer interrupt
-///  handler has returned to the application, thus keeping the processor busy in
-///  constantly executing the timer interrupt handler without leaving any cycles
-///  for the application. Or, the application might get some cycles but only a 
-///  fraction of what is spent in the timer interrupt handler, thus severely
-///  impacting application performance.
-///
-///  The exact number of cycles needed to execute the timer interrupt handler
-///  is not specified here.  It depends on many factors (e.g. use of caches, 
-///  various processor configuration options, etc) and can vary by orders of
-///  magnitude.  Also note that the time to execute this handler is variable:
-///  when timers expire upon a given tick timer interrupt, their respective
-///  timer handler functions are called from within the interrupt handler.
-///
-///  \param     timer_num       Which Xtensa timer to use (0..2). This timer
-///                             must exist and be configured at level 1 or at a
-///                             medium-priority interrupt level (<=EXCM_LEVEL).
-///                             If 'timer_num' is -1, then this function will
-///                             automatically choose the highest priority timer
-///                             that is suitable for use. This value will be
-///                             passed to xos_system_timer_select().
-///
-///  \param     tick_period     Number of clock (CCOUNT) cycles between ticks.
-///                             Must range between 0 and UINT32_MAX.
-///                             Zero is used to specify dynamic tick (tickless)
-///                             mode.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_start_system_timer(int32_t timer_num, uint32_t tick_period);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get the timer number of the system timer. Useful mainly when XOS has been
-///  allowed to choose its own timer via xos_start_system_timer(). Not valid if
-///  called before the system timer has been started.
-///
-///  \return    Returns one of XOS_SYS_TIMER_0, XOS_SYS_TIMER_1, XOS_SYS_TIMER_2
-///             or XOS_SYS_TIMER_EXTERNAL, or XOS_SYS_TIMER_NONE.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_get_system_timer_num(void);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Initialize timer object.
-///
-///  \param     timer           Pointer to timer event structure.
-///
-///  \return    Returns nothing.
-///
-///  NOTE: This function should not be called on a timer object once it has 
-///  been activated.
-///
-//-----------------------------------------------------------------------------
-void xos_timer_init(XosTimer * timer);
-
-
-//-----------------------------------------------------------------------------
-//  Flags for xos_timer_start().
-//-----------------------------------------------------------------------------
-#define XOS_TIMER_DELTA         0x0000
-#define XOS_TIMER_PERIODIC      0x0001
-#define XOS_TIMER_ABSOLUTE      0x0002
-#define XOS_TIMER_FROM_NOW      0x0000
-#define XOS_TIMER_FROM_LAST     0x0010
-
-
-//-----------------------------------------------------------------------------
-///
-///  Start the timer, and when the timer expires, call the specified function
-///  (invoke (*fn)(arg)). If the timer is periodic, it will be automatically
-///  restarted when it expires.
-///
-///  The specified timer event structure must have been initialized before
-///  first use by calling xos_timer_init().
-///
-///  The callback function will be called in an interrupt context. Hence it is
-///  NOT safe to use any coprocessors in the function, including the FPU. If a
-///  coprocessor must be used, then its state must be saved and restored across
-///  its use.
-///
-///  NOTE: If you are using the timer only to wait on (via xos_timer_wait())
-///  then it is not necessary to specify a callback function. You should pass
-///  NULL for the callback function and zero for the callback argument.
-///
-///  \param     timer           Pointer to timer event structure. Must have been
-///                             initialized. May be active or not.
-///
-///  \param     when            When to call the function (see flags).
-///
-///  \param     flags           Set of option flags XOS_TIMER_* \n
-///                             The following flags are mutually exclusive:
-///                             - XOS_TIMER_DELTA -- when is number of cycles from
-///                               [see below] (default)
-///                             - XOS_TIMER_PERIODIC -- when is number of cycles
-///                               from [see below], and timer continually
-///                               re-triggers at that interval
-///                             - XOS_TIMER_ABSOLUTE -- when is absolute value of
-///                               cycle count \n
-///  \n
-///                             The following flags are mutually exclusive:
-///                             - XOS_TIMER_FROM_NOW -- *DELTA and *PERIODIC are
-///                               relative to now (default)
-///                             - XOS_TIMER_FROM_LAST -- *DELTA and *PERIODIC are
-///                               relative to the timer event's last specified expiry
-///                               time (usually in the future if active, in the past
-///                               if not, absolute 0 if was never activated).
-///
-///  \param     func            Function to call (called in timer interrupt context).
-///                             This argument is optional. Specify NULL if no function
-///                             is to be called.
-///
-///  \param     arg             Argument passed to callback function. Only relevant if
-///                             'func' is not NULL.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_timer_start(XosTimer *     timer,
-                uint64_t       when,
-                uint32_t       flags,
-                XosTimerFunc * func,
-                void *         arg);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Stop the timer and remove it from the list of active timers. Has no effect
-///  if the timer is not active. Any waiting threads are woken up.
-/// 
-///  The timer structure must have been initialized at least once, else its
-///  contents are undefined and can lead to unpredictable results.
-///
-///  \param     timer           Pointer to timer object.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_timer_stop(XosTimer * timer);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Reset and restart the timer.
-///
-///  The timer is reset to go off at time "when" from now. If the timer was not
-///  active, it will be activated. If the timer was active, it will be restarted.
-///  If the timer is periodic, the period will be set to "when".
-///  The timer object must have been initialized at some point before this call.
-///
-///  \param     timer           Pointer to timer object.
-///
-///  \param     when            Number of cycles from now that the timer will expire.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_timer_restart(XosTimer * timer, uint64_t when);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Check if the timer is active. The timer is active if it has been started
-///  and not yet expired or canceled.
-///
-///  \param     timer           Pointer to timer object.
-///
-///  \return    Returns non-zero if the timer is active, else zero.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-xos_timer_is_active(XosTimer * timer)
-{
-    return timer ? timer->active : 0;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get the repeat period for a periodic timer. For a one-shot timer this will
-///  return zero. The period is reported in system clock cycles.
-///
-///  \param     timer           Pointer to timer object.
-///
-///  \return    Returns period in cycles, or zero for non-periodic timers.
-///
-//-----------------------------------------------------------------------------
-static inline uint64_t
-xos_timer_get_period(XosTimer * timer)
-{
-    return timer ? timer->delta : 0;
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Set the repeat period for a periodic timer. The period must be specified
-///  in system clock cycles.
-///
-///  If the timer is active, the change in period does not take effect until 
-///  the timer expires at least once after this call.
-///  Note that setting a period of zero will effectively turn a periodic timer
-///  into a one-shot timer. Similarly, a one-shot timer can be turned into a
-///  periodic timer.
-///
-///  \param     timer           Pointer to timer object.
-///
-///  \param     period          Repeat period in system clock cycles.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_timer_set_period(XosTimer * timer, uint64_t period);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Get the current system cycle count. This accounts for the periodic rollover
-///  of the 32-bit CCOUNT cycle counter and returns a 64-bit value.
-///
-///  \return    Returns the current system cycle count.
-///
-//-----------------------------------------------------------------------------
-static inline uint64_t
-xos_get_system_cycles(void)
-{
-    extern uint64_t xos_system_cycles;
-    extern uint32_t xos_last_ccount;
-
-    // xos_last_ccount was updated when xos_system_cycles was last updated.
-    // We need to add in the number of cycles elapsed since then.
-    return xos_system_cycles + (xos_get_ccount() - xos_last_ccount);
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Put calling thread to sleep for at least the specified number of cycles.
-///  The actual number of cycles spent sleeping may be larger depending upon
-///  the granularity of the system timer. Once the specified time has elapsed
-///  the thread will be woken and made ready.
-///
-///  \param     cycles          Number of system clock cycles to sleep.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_thread_sleep(uint64_t cycles);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Put calling thread to sleep for at least the specified number of msec.
-///  The actual amount of time spent sleeping may be larger depending upon
-///  the granularity of the system timer. Once the specified time has elapsed
-///  the thread will be woken and made ready.
-///
-///  \return    msecs           The number of milliseconds to sleep.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-xos_thread_sleep_msec(uint64_t msecs)
-{
-    return xos_thread_sleep(xos_msecs_to_cycles(msecs));
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Put calling thread to sleep for at least the specified number of usec.
-///  The actual amount of time spent sleeping may be larger depending upon
-///  the granularity of the system timer. Once the specified time has elapsed
-///  the thread will be woken and made ready.
-///
-///  \return    usecs           The number of microseconds to sleep.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-static inline int32_t
-xos_thread_sleep_usec(uint64_t usecs)
-{
-    return xos_thread_sleep(xos_usecs_to_cycles(usecs));
-}
-
-
-//-----------------------------------------------------------------------------
-///
-///  Wait on a timer until it expires or is cancelled. The calling thread will
-///  be blocked. The timer must be active.
-///  NOTE: This operation is only available if XOS_OPT_TIMER_WAIT is set
-///  to 1 in the configuration options.
-///
-///  \param     timer           Pointer to timer object.
-///
-///  \return    Returns XOS_OK on normal timeout, else an error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_timer_wait(XosTimer * timer);
-
-
-//-----------------------------------------------------------------------------
-// System timer control interface.
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-// Defines for system timer ID.
-//-----------------------------------------------------------------------------
-#define XOS_SYS_TIMER_0             0    ///< Internal timer 0
-#define XOS_SYS_TIMER_1             1    ///< Internal timer 1
-#define XOS_SYS_TIMER_2             2    ///< Internal timer 2
-#define XOS_SYS_TIMER_EXTERNAL      -2   ///< External timer
-#define XOS_SYS_TIMER_NONE          -1   ///< No system timer selected
-
-
-//-----------------------------------------------------------------------------
-///
-///  This function handles XOS timer tick processing. It must be called by the
-///  timer interrupt handler on every timer interrupt. This function computes
-///  the time to the next tick and sets it up by calling xos_system_timer_set().
-///
-//-----------------------------------------------------------------------------
-void
-xos_tick_handler(void);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Selects the timer to use. The selection may be one of the internal timers
-///  or an external timer. The default implementation selects an internal timer.
-///  This function can be overridden to provide custom timer processing or to
-///  support an external timer.
-///
-///  \param     timer_num       The internal timer number to select (0-2) or
-///                             -1 to auto-select a timer. This parameter can
-///                             be ignored by custom implementations that use
-///                             an external timer.
-///
-///  \param     psel            Pointer to a location where the selected timer
-///                             ID must be returned. The timer ID must be one
-///                             of XOS_SYS_TIMER_0, XOS_SYS_TIMER_1, XOS_SYS_TIMER_2
-///                             or XOS_SYS_TIMER_EXTERNAL.
-///
-///  \return    Returns XOS_OK on success, else error code.
-///
-//-----------------------------------------------------------------------------
-int32_t
-xos_system_timer_select(int32_t timer_num, int32_t *psel);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Starts the system timer and sets up the first interrupt. This function can
-///  be overridden to provide custom timer processing or to support an external
-///  timer.
-///
-///  \param     cycles          The number of CPU cycles from now when the
-///                             first interrupt must occur.
-///
-//-----------------------------------------------------------------------------
-void
-xos_system_timer_init(uint32_t cycles);
-
-
-//-----------------------------------------------------------------------------
-///
-///  Sets the next trigger value of the system timer. The parameter 'cycles' is
-///  the number of CPU cycles from now when the interrupt must occur.
-///  This function can be overridden to provide custom timer processing or to
-///  support an external timer.
-///
-///  \param     cycles          The number of CPU cycles from now when the
-///                             next interrupt must occur.
-///
-//-----------------------------------------------------------------------------
-void
-xos_system_timer_set(uint32_t cycles);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif  // __XOS_TIMER_H__
-
diff --git a/components/esp32/include/xtensa/xos_types.h b/components/esp32/include/xtensa/xos_types.h
deleted file mode 100644 (file)
index a913b94..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/** @file */
-// xos_types.h - XOS type definitions.
-
-// Copyright (c) 2003-2015 Cadence Design Systems, Inc.
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be included
-// in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-// NOTE: Do not include this file directly in your application. Including
-// xos.h will automatically include this file.
-
-
-#ifndef __XOS_TYPES_H__
-#define __XOS_TYPES_H__
-
-#if !defined(_ASMLANGUAGE) && !defined(__ASSEMBLER__)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdint.h>
-
-//-----------------------------------------------------------------------------
-// The following are defined here because of the variations in the C libraries
-// that we need to work with.
-//    - Not all of them have stdbool.h
-//    - Not all of them define NULL as (void *)0
-//-----------------------------------------------------------------------------
-
-
-//-----------------------------------------------------------------------------
-///
-/// XOS define for NULL value. This makes the NULL value independent of the
-/// C library (not all of them define NULL the same way).
-///
-//-----------------------------------------------------------------------------
-#define XOS_NULL    ((void *)0)
-
-
-//-----------------------------------------------------------------------------
-///
-/// XOS definition of 'bool' type. Some C libraries do not support stdbool.h.
-///
-//-----------------------------------------------------------------------------
-#ifndef bool
-#define bool        int8_t
-#define false       0        ///< XOS definition of 'false'
-#define true        1        ///< XOS definition of 'true'
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // !defined(_ASMLANGUAGE) && !defined(__ASSEMBLER__)
-
-#endif // __XOS_TYPES_H__
-
diff --git a/components/esp32/include/xtensa/xt_perfmon.h b/components/esp32/include/xtensa/xt_perfmon.h
deleted file mode 100644 (file)
index 959052b..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Customer ID=11656; Build=0x5f626; Copyright (c) 2012 by Tensilica Inc. ALL RIGHTS RESERVED.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#ifndef __XT_PERFMON_H__
-#define __XT_PERFMON_H__
-
-#include <xtensa/config/core.h>
-#include <xtensa/xt_perf_consts.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef int counter_id_t;
-
-/* xt_perf_init
-
-   Initialize the performance monitor library.  Ordinarily, this
-   function is called automatically via the .init section. If your
-   environment does not support the .init section, you will need to
-   call this function from your code.
-*/
-
-extern void xt_perf_init(void);
-
-/* xt_perf_enable
-
-   Turn on the performance monitor. Ordinarily, counting is off by 
-   default. If you turn off performance monitor using xt_perf_disable or
-   by call to a function that disables performance monitor, you can turn
-   it on again via this function.
-*/
-
-extern void xt_perf_enable(void);
-
-/* xt_perf_disable
-
-   Turn off the performance monitor. If you want to suspend counting 
-   events for a portion of your code, use this function and then call
-   xt_perf_enable when you want to start again.
-*/
-
-extern void xt_perf_disable(void);
-
-/* xt_perf_clear
-   
-   Disable performance monitor and clear all initialized hardware counters.
-   All counter ids are invalid after call to this function and all hardware
-   counters available for initialization.
-*/
-
-extern void xt_perf_clear (void);
-
-/* xt_perf_counters_num
-
-   Returns number of free hardware performance counters. After call to xt_perf_clear
-   all counters are free and available for initialization. With each successful
-   xt_perf_init_counter/xt_perf_init_event call this number is decreasing until
-   no free counters available.
-*/
-
-extern int xt_perf_counters_num (void);
-
-/* xt_perf_init_counter32
-   
-   Setup 32 bit performance counter. This function disables performance monitor
-   if it was enabled.
-
-   Returns zero based counter id on success or negative value if failed.
-   This function may fail if there is insufficient number of free hardware
-   counters or function arguments are invalid.
-
-   The counter id returned on success can be used with xt_perf_reset_counter
-   and xt_perf_counter32 functions.
-
-   <selector> - events group, one of XTPERF_CNT constants defined in
-                xt_perf_consts.h;
-   <mask> - events mask for selected group. Mask bit fields for each 
-            selector defined with XTPERF_MASK prefix in xt_perf_consts.h;
-   <trace_level> - specifies interrupt levels at which to count events;
-                   if trace_level is greater or equal to zero events are
-                  counted only at interrupt levels below or equal to
-                  trace_level; if trace_level is negative events are 
-                  counted only at (-trace_level) interrupt level or higher.
-*/
-    
-
-extern counter_id_t xt_perf_init_counter32 ( unsigned int  selector,
-                                            unsigned int  mask,
-                                                     int  trace_level);
-
-/* xt_perf_init_counter64
-   
-   Setup 64 bit performance counter. Library emulates 64 bit counters by handling
-   profiling interrupt and recording overflows of 32 bit hardware counters.
-   This function disables performance monitor if it was enabled.
-
-   Returns zero based counter id on success or negative value if failed.
-   This function may fail if there is insufficient number of free hardware
-   counters or function arguments are invalid.
-
-   The counter id returned on success can be used with xt_perf_reset_counter
-   and xt_perf_counter64 functions.
-
-   <selector> - events group, one of XTPERF_CNT constants defined in
-                xt_perf_consts.h;
-   <mask> - events mask for selected group. Mask bit fields for each 
-            selector defined with XTPERF_MASK prefix in xt_perf_consts.h;
-   <trace_level> - specifies interrupt levels at which to count events;
-                   if trace_level is greater or equal to zero events are
-                  counted only at interrupt levels below or equal to
-                  trace_level; if trace_level is negative events are 
-                  counted only at (-trace_level) interrupt level or higher.
-*/
-
-extern counter_id_t xt_perf_init_counter64 ( unsigned int  selector,
-                                            unsigned int  mask,
-                                                     int  trace_level);
-
-/* xt_perf_reset_counter
-
-   Reset counter value to 0.
-   Returns zero on success or non zero if failed.
-*/
-
-extern int xt_perf_reset_counter (counter_id_t counter_id);
-
-/* xt_perf_counter32
-
-   Read 32 bit counter value.
-
-   Returns zero if counter id is not valid.
-*/
-
-extern unsigned int xt_perf_counter32 (counter_id_t counter_id);
-
-/* xt_perf_counter64
-
-   Read 64 bit counter value.
-
-   Counter must be initialized using xt_perf_init_counter64 function.
-
-   Returns zero if counter id is not valid.
-*/
-
-extern unsigned long long xt_perf_counter64 (counter_id_t counter_id);
-
-  /* xt_perf_overflow32
-
-     Read overflow flag of 32 bit counter. This flag is dropped when
-     counter initialized or reset. Once counter overflows and wraps
-     around the flag is set and stays set until counter reset.
-
-     Returns negative value if counter id is invalid, zero if counter
-     not overflowed, positive if in overflowed state.
-  */
-
-extern int xt_perf_overflow32 (counter_id_t counter_id);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XT_PERFMON_H__ */
diff --git a/components/esp32/include/xtensa/xt_profiling.h b/components/esp32/include/xtensa/xt_profiling.h
deleted file mode 100644 (file)
index 650713a..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Customer ID=11656; Build=0x5f626; Copyright (c) 2005-2012 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#ifndef __XT_PROFILER_H__
-#define __XT_PROFILER_H__
-
-#include <xtensa/config/core.h>
-
-#if XCHAL_NUM_PERF_COUNTERS
-/* Performance monitor counters constants */
-#include <xtensa/xt_perf_consts.h>
-
-#endif /* XCHAL_NUM_PERF_COUNTERS */
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* This file defines an interface that allows a program being profiled
-   to control when and how it is profiled, whether it is running under
-   the instruction set simulator or under the hardware profiler.
-
-   Both ISS and HWP implement this interface, although in different
-   ways. Both also do the right thing if you don't call any of these
-   functions.
-*/
-
-
-/* 
-xt_profile_init
-
-   ISS: a no op.
-
-   HWP: Initialize the profiler.  Ordinarily, this function is called 
-   automatically via the .init section. If your environment does not 
-   support the .init section, you will need to call this function 
-   by hand.
-*/
-extern void xt_profile_init(void);
-
-/* 
-xt_profile_add_memory
-
-   ISS: a no op.
-
-   HWP:
-   Makes "buf_size" bytes at "buf" available to the hardware profiler.
-   This buffer should be initialized to zeros prior to this call.
-
-   The hardware profiler has already estimated the amount of memory it needs,
-   but under certain circumstances may still run out of memory.  If so, you can
-   provide more memory with this routine.
-
-*/
-extern void xt_profile_add_memory(void * buf, unsigned int buf_size);
-
-
-/* xt_profile_enable
-
-   Turn on the profiler. Ordinarily, profiling is on by default. 
-   If you turn off profiling using xt_profile_disable, You can turn 
-   it on again via this function.
-*/
-extern void xt_profile_enable(void);
-
-/* xt_profile_disable
-
-   Turn off the profiler. If you don't want to profile a portion of your code,
-   use this function and then xt_profile_enable when you want to start again.
-*/
-extern void xt_profile_disable(void);
-
-/* xt_profile_save_and_reset
-
-   Save and reset the profiler's data.
-   If there were errors, either during profiling or while attempting to
-   write the data, no data will be written and this function will
-   return non-zero.
-   
-*/
-extern int xt_profile_save_and_reset(void);
-
-/* xt_profile_get_frequency
-
-   ISS: always returns 1.
-
-   HWP:
-   Returns the number of cycles between samples for timer based profiler.
-   In performance counters based profiler always returns 1.
-*/
-extern unsigned int xt_profile_get_frequency(void);
-
-/* xt_profile_set_frequency
-
-   ISS: a no op.
-
-   HWP:
-   Set the number of cycles between samples for timer based profiler.
-   Ignored in performance counters based profiler.
-
-   sample frequency is the number of cycles to wait between samples.  It should
-   be a multiple of 1024.
-   
-   If you set the sample frequency to a different value than was passed in xt_profile_init,
-   then the labels in the output will reflect the later frequency, even though some samples may
-   have been taken at the earlier frequency.  Typically this does not make a significant difference
-   in the results if this function is called early enough.
-*/
-extern void xt_profile_set_frequency(unsigned int sample_frequency);
-
-/* xt_profile_num_errors
-
-   ISS: always returns 0
-
-   HWP:
-   Returns the number of errors that occured while taking samples.  Typically these
-   are out of memory errors and you need to pass a bigger buffer to 
-   xt_profile_add_memory
-*/
-extern int xt_profile_num_errors(void);
-
-
-#if XCHAL_NUM_PERF_COUNTERS
-
-
-/* xt_profile_randomize
-
-   ISS: not available
-
-   HWP: Available in performance monitor based profiler.
-
-   Turns on or off sampling period randomization mode. Period randomization
-   helps to avoid aliasing problems when code being profiled is highly periodic.
-   Profiler maintains same average sampling period but individual sampling
-   steps may vary.
-   Period randomization is turned off by default.
-
-   <value> - non zero turns randomization on,
-             zero turns randomization off.
-*/
-
-extern void xt_profile_randomization(int value);
-
-/* xt_profile_config_clear
-
-   ISS: not available
-
-   HWP: Available in performance monitor based profiler.
-
-   Stops profiling if it was enabled and clears performance counters
-   parameters. Accumulated profile data stays in memory and will be
-   saved when xt_profile_save_and_reset is called or at program exit.
-   Number of configured performance counters is zero after this 
-   function call.
-*/
-
-extern void xt_profile_config_clear(void);
-
-
-/* xt_profile_config_num
-
-   ISS: not available
-
-   HWP: Available in performance monitor based profiler.
-
-   Returns number of free performance counters.
-*/
-
-extern int xt_profile_config_num(void);
-
-
-/* xt_profile_config_counter error codes
-*/
-
-#define XTPROF_ERR_OUT_OF_MEM            -1
-#define XTPROF_ERR_INVALID_ARGS          -2
-#define XTPROF_ERR_NOT_ENOUGH_COUNTERS   -3
-#define XTPROF_ERR_DEFUNCT               -4
-
-/* xt_profile_config_counter
-
-   ISS: not available
-
-   HWP: Available in performance monitor based profiler.
-
-   Allocating and initializing one or more performance counter for sampling.
-   Even though event may require multiple performance counters allocated the
-   profile data for event is merged and dumped into single gmon file.
-   This function disables profiling if it was enabled.
-
-   Returns 0 on success, non zero if failed:
-   XTPROF_ERR_OUT_OF_MEM - memory allocation failed;
-   XTPROF_ERR_INVALID_ARGS - invalid function parameters;
-   XTPROF_ERR_NOT_ENOUGH_COUNTERS - not enough free performance counters available;
-   XTPROF_ERR_DEFUNCT - profiling is disabled because of previous errors
-                        (xt_profile_num_errors() is non zero)
-
-   <selector> - events group, one of XTPERF_CNT constants defined in xt_perf_consts.h
-   <mask> - events mask for selected group. Mask bit fields for each 
-            selector defined with XTPERF_MASK prefix in xt_perf_consts.h
-   <trace_level> - specifies interrupt levels at which to take samples;
-                   if trace_level is greater or equal to zero samples are
-                  taken only at interrupt levels below or equal to
-                  trace_level; if trace_level is negative samples are taken
-                  only at (-trace_level) interrupt level or higher.
-   <period> - sampling period; 1 - record every event, 2 - record every 
-              other event and so on;
-              Please note - there is overhead associated with events recording,
-             high frequency events may produce incorrect profile when period
-             is too small.
-*/
-   
-extern int xt_profile_config_counter ( unsigned int  selector,
-                                      unsigned int  mask,
-                                               int  trace_level,
-                                      unsigned int  period);
-
-
-
-#endif /* XCHAL_NUM_PERF_COUNTERS */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __XT_PROFILER_H__ */
diff --git a/components/esp32/include/xtensa/xt_reftb.h b/components/esp32/include/xtensa/xt_reftb.h
deleted file mode 100644 (file)
index 358c39f..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/* 
- * Customer ID=11656; Build=0x5f626; Copyright (c) 2009-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of
- * Tensilica Inc.  They may be adapted and modified by bona fide
- * purchasers for internal use, but neither the original nor any
- * adapted or modified version may be disclosed or distributed to
- * third parties in any manner, medium, or form, in whole or in part,
- * without the prior written consent of Tensilica Inc.
- *
- * This software and its derivatives are to be executed solely on
- * products incorporating a Tensilica processor.
- */
-
-// Utility routines for returning pass/fail status in HW simulations
-
-#ifndef XT_REF_TESTBENCH_H
-#define XT_REF_TESTBENCH_H 1
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-// Exit routines for HW simulation
-extern int diag_pass();
-extern int diag_fail();
-
-// Set exit status for HW simulation
-int set_diag_status(int stat);
-
-// Setup for user power toggling
-extern int setup_power_toggle();
-
-// Return exit status location
-extern unsigned int* testbench_exit_location();
-// Return power toggle location
-extern unsigned int* testbench_power_toggle_location();
-
-
-// Change exit status location
-// You must also change the plusarg "+DVMagicExit" sent to the HW simulator
-// or change the argument "--exit_location" sent to the ISS
-extern unsigned int* set_testbench_exit_location(unsigned int*);
-// Change power toggle location
-// You must also change the plusarg "+DVPowerLoc" sent to the HW simulator
-extern unsigned int* set_testbench_power_toggle_location(unsigned int*);
-
-// Exit routines with status message
-//
-static inline
-int pass(const char *msg) 
-{
-  return diag_pass();
-}
-
-static inline
-int fail(const char *msg) 
-{
-  return diag_fail();
-}
-
-#define POWER_TOGGLE_ON 1
-#define POWER_TOGGLE_OFF 0
-
-// Routine to turn on and off power toggle
-//   Does a magic write that Monitors.v intercepts and appropriately turns 
-//   SAIF dumping on and offf
-//   
-extern volatile unsigned int *_reftb_power_toggle;
-
-__attribute__ ((always_inline))
-static inline
-int set_power_toggle(int val) 
-{
-#ifdef __XTENSA__
-  *_reftb_power_toggle = val;
-#endif
-  return val;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // XT_REF_TESTBENCH_H
-
diff --git a/components/esp32/include/xtensa/xtav110.h b/components/esp32/include/xtensa/xtav110.h
deleted file mode 100644 (file)
index 23421f0..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-/* Copyright (c) 2007-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
-/  These coded instructions, statements, and computer programs are the
-/  copyrighted works and confidential proprietary information of Tensilica Inc.
-/  They may not be modified, copied, reproduced, distributed, or disclosed to
-/  third parties in any manner, medium, or form, in whole or in part, without
-/  the prior written consent of Tensilica Inc.
-*/
-
-/*  xtav110.h   -  Xtensa Avnet LX110 (XT-AV110) board specific definitions  */
-
-#ifndef _INC_XTAV110_H_
-#define _INC_XTAV110_H_
-
-#include <xtensa/config/core.h>
-#include <xtensa/config/system.h>
-
-#define XTBOARD_NAME           "XT-AV110"
-
-
-/*
- *  Default assignment of XTAV110 devices to external interrupts.
- */
-
-/*  Ethernet interrupt:  */
-#ifdef XCHAL_EXTINT1_NUM
-#define ETHERNET_INTNUM         XCHAL_EXTINT1_NUM
-#define ETHERNET_INTLEVEL       XCHAL_EXTINT1_LEVEL
-#define ETHERNET_INTMASK        XCHAL_EXTINT1_MASK
-#else
-#define ETHERNET_INTMASK        0
-#endif
-
-/*  UART interrupt: */
-#ifdef XCHAL_EXTINT0_NUM
-#define UART16550_INTNUM        XCHAL_EXTINT0_NUM
-#define UART16550_INTLEVEL      XCHAL_EXTINT0_LEVEL
-#define UART16550_INTMASK       XCHAL_EXTINT0_MASK
-#else
-#define UART16550_INTMASK       0
-#endif
-
-/* Audio output interrupt (I2S transmitter FIFO): */
-#ifdef XCHAL_EXTINT2_NUM
-#define AUDIO_I2S_OUT_INTNUM    XCHAL_EXTINT2_NUM
-#define AUDIO_I2S_OUT_INTLEVEL  XCHAL_EXTINT2_LEVEL
-#define AUDIO_I2S_OUT_INTMASK   XCHAL_EXTINT2_MASK
-#else
-#define AUDIO_I2S_OUT_INTMASK   0
-#endif
-
-/* Audio input interrupt (I2S receiver FIFO): */
-#ifdef XCHAL_EXTINT3_NUM
-#define AUDIO_I2S_IN_INTNUM     XCHAL_EXTINT3_NUM
-#define AUDIO_I2S_IN_INTLEVEL   XCHAL_EXTINT3_LEVEL
-#define AUDIO_I2S_IN_INTMASK    XCHAL_EXTINT3_MASK
-#else
-#define AUDIO_I2S_IN_INTMASK    0
-#endif
-
-/* I2C interrupt */
-#ifdef XCHAL_EXTINT4_NUM
-#define I2C_INTNUM              XCHAL_EXTINT4_NUM
-#define I2C_INTLEVEL            XCHAL_EXTINT4_LEVEL
-#define I2C_INTMASK             XCHAL_EXTINT4_MASK
-#else
-#define I2C_INTMASK             0
-#endif
-
-/* USB interrupt */
-#ifdef XCHAL_EXTINT5_NUM
-#define USB_INTNUM              XCHAL_EXTINT5_NUM
-#define USB_INTLEVEL            XCHAL_EXTINT5_LEVEL
-#define USB_INTMASK             XCHAL_EXTINT5_MASK
-#else
-#define USB_INTMASK             0
-#endif
-
-/*
- *  Device addresses.
- *
- *  Note:  for endianness-independence, use 32-bit loads and stores for all
- *  register accesses to Ethernet, UART and LED devices.  Undefined bits
- *  may need to be masked out if needed when reading if the actual register
- *  size is smaller than 32 bits.
- *
- *  Note:  XTAV110 bus byte lanes are defined in terms of msbyte and lsbyte
- *  relative to the processor.  So 32-bit registers are accessed consistently
- *  from both big and little endian processors.  However, this means byte
- *  sequences are not consistent between big and little endian processors.
- *  This is fine for RAM, and for ROM if ROM is created for a specific
- *  processor (and thus has correct byte sequences).  However this may be
- *  unexpected for Flash, which might contain a file-system that one wants
- *  to use for multiple processor configurations (eg. the Flash might contain
- *  the Ethernet card's address, endianness-independent application data, etc).
- *  That is, byte sequences written in Flash by a core of a given endianness
- *  will be byte-swapped when seen by a core of the other endianness.
- *  Someone implementing an endianness-independent Flash file system will
- *  likely handle this byte-swapping issue in the Flash driver software.
- */
-
-#define XTBOARD_FLASH_MAXSIZE   0x1000000       /* 16 MB */
-
-#ifdef XSHAL_IOBLOCK_BYPASS_PADDR
-
-/*  Flash Memory: */
-# define XTBOARD_FLASH_PADDR        (XSHAL_IOBLOCK_BYPASS_PADDR+0x08000000)
-
-/*  FPGA registers:  */
-# define XTBOARD_FPGAREGS_PADDR     (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D020000)
-
-/*  Ethernet controller/transceiver SONIC SN83934:  */
-# define ETHERNET_PADDR             (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D030000)
-
-
-/*  UART National-Semi PC16550D:  */
-# define UART16550_PADDR            (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D050000)
-
-/*  I2S transmitter */
-# define AUDIO_I2S_OUT_PADDR        (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D080000)
-
-/*  I2S receiver */
-# define AUDIO_I2S_IN_PADDR         (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D088000)
-
-/*  I2C master */
-# define I2C_PADDR                  (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D090000)
-
-/*  SPI controller */
-# define SPI_PADDR                  (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D0A0000)
-
-/*  Display controller Sunplus SPLC780D, 4bit mode, 
- *  LCD Display MYTech MOC-16216B-B: */
-# define SPLC780D_4BIT_PADDR       (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D0C0000)
-
-/*  USB Controller */
-# define USB_PADDR                  (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D0D0000)
-
-/*  Ethernet buffer:  */
-# define ETHERNET_BUFFER_PADDR      (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D800000)
-
-#endif /* XSHAL_IOBLOCK_BYPASS_PADDR  */
-
-/*  These devices might be accessed cached:  */
-#ifdef XSHAL_IOBLOCK_CACHED_PADDR
-# define XTBOARD_FLASH_CACHED_PADDR   (XSHAL_IOBLOCK_CACHED_PADDR+0x08000000)
-# define ETHERNET_BUFFER_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0x0D800000)
-#endif /* XSHAL_IOBLOCK_CACHED_PADDR */
-
-
-/***  Same thing over again, this time with virtual addresses:  ***/
-
-#ifdef XSHAL_IOBLOCK_BYPASS_VADDR
-
-/*  Flash Memory: */
-# define XTBOARD_FLASH_VADDR        (XSHAL_IOBLOCK_BYPASS_VADDR+0x08000000)
-
-/*  FPGA registers:  */
-# define XTBOARD_FPGAREGS_VADDR     (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D020000)
-
-/*  Ethernet controller/transceiver SONIC SN83934:  */
-# define ETHERNET_VADDR             (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D030000)
-
-
-/*  UART National-Semi PC16550D:  */
-# define UART16550_VADDR            (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D050000)
-
-/*  I2S transmitter */
-# define AUDIO_I2S_OUT_VADDR        (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D080000)
-
-/*  I2S receiver */
-# define AUDIO_I2S_IN_VADDR         (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D088000)
-
-/*  I2C master */
-# define I2C_VADDR                  (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D090000)
-
-/*  SPI controller */
-# define SPI_VADDR                  (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D0A0000)
-
-/*  Display controller Sunplus SPLC780D, 4bit mode, 
- *  LCD Display MYTech MOC-16216B-B: */
-# define SPLC780D_4BIT_VADDR       (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D0C0000)
-
-/*  USB Controller */
-# define USB_VADDR                  (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D0D0000)
-
-/*  Ethernet buffer:  */
-# define ETHERNET_BUFFER_VADDR      (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D800000)
-
-#endif /* XSHAL_IOBLOCK_BYPASS_VADDR */
-
-/*  These devices might be accessed cached:  */
-#ifdef XSHAL_IOBLOCK_CACHED_VADDR
-# define XTBOARD_FLASH_CACHED_VADDR   (XSHAL_IOBLOCK_CACHED_VADDR+0x08000000)
-# define ETHERNET_BUFFER_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0x0D800000)
-#endif /* XSHAL_IOBLOCK_CACHED_VADDR */
-
-
-/*  System ROM:  */
-#define XTBOARD_ROM_SIZE        XSHAL_ROM_SIZE
-#ifdef XSHAL_ROM_VADDR
-#define XTBOARD_ROM_VADDR       XSHAL_ROM_VADDR
-#endif
-#ifdef XSHAL_ROM_PADDR
-#define XTBOARD_ROM_PADDR       XSHAL_ROM_PADDR
-#endif
-
-/*  System RAM:  */
-#define XTBOARD_RAM_SIZE        XSHAL_RAM_SIZE
-#ifdef XSHAL_RAM_VADDR
-#define XTBOARD_RAM_VADDR       XSHAL_RAM_VADDR
-#endif
-#ifdef XSHAL_RAM_PADDR
-#define XTBOARD_RAM_PADDR       XSHAL_RAM_PADDR
-#endif
-#define XTBOARD_RAM_BYPASS_VADDR    XSHAL_RAM_BYPASS_VADDR
-#define XTBOARD_RAM_BYPASS_PADDR    XSHAL_RAM_BYPASS_PADDR
-
-
-
-/*
- *  Things that depend on device addresses.
- */
-
-
-#define XTBOARD_CACHEATTR_WRITEBACK XSHAL_XT2000_CACHEATTR_WRITEBACK
-#define XTBOARD_CACHEATTR_WRITEALLOC    XSHAL_XT2000_CACHEATTR_WRITEALLOC
-#define XTBOARD_CACHEATTR_WRITETHRU XSHAL_XT2000_CACHEATTR_WRITETHRU
-#define XTBOARD_CACHEATTR_BYPASS    XSHAL_XT2000_CACHEATTR_BYPASS
-#define XTBOARD_CACHEATTR_DEFAULT   XSHAL_XT2000_CACHEATTR_DEFAULT
-
-#define XTBOARD_BUSINT_PIPE_REGIONS XSHAL_XT2000_PIPE_REGIONS
-#define XTBOARD_BUSINT_SDRAM_REGIONS    XSHAL_XT2000_SDRAM_REGIONS
-
-
-/*
- *  FPGA registers.
- *  All these registers are normally accessed using 32-bit loads/stores.
- */
-
-/*  Register offsets:  */
-#define XTBOARD_DATECD_OFS  0x00    /* date code (read-only) */
-#define XTBOARD_CLKFRQ_OFS  0x04    /* clock frequency Hz (read-only) */
-#define XTBOARD_SYSLED_OFS  0x08    /* LEDs */
-#define XTBOARD_DIPSW_OFS   0x0C    /* DIP switch bits (read-only) */
-#define XTBOARD_SWRST_OFS   0x10    /* software reset */
-
-/*  Physical register addresses:  */
-#ifdef XTBOARD_FPGAREGS_PADDR
-#define XTBOARD_DATECD_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_DATECD_OFS)
-#define XTBOARD_CLKFRQ_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_CLKFRQ_OFS)
-#define XTBOARD_SYSLED_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_SYSLED_OFS)
-#define XTBOARD_DIPSW_PADDR (XTBOARD_FPGAREGS_PADDR+XTBOARD_DIPSW_OFS)
-#define XTBOARD_SWRST_PADDR (XTBOARD_FPGAREGS_PADDR+XTBOARD_SWRST_OFS)
-#endif
-
-/*  Virtual register addresses:  */
-#ifdef XTBOARD_FPGAREGS_VADDR
-#define XTBOARD_DATECD_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_DATECD_OFS)
-#define XTBOARD_CLKFRQ_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_CLKFRQ_OFS)
-#define XTBOARD_SYSLED_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_SYSLED_OFS)
-#define XTBOARD_DIPSW_VADDR (XTBOARD_FPGAREGS_VADDR+XTBOARD_DIPSW_OFS)
-#define XTBOARD_SWRST_VADDR (XTBOARD_FPGAREGS_VADDR+XTBOARD_SWRST_OFS)
-/*  Register access (for C code):  */
-#define XTBOARD_DATECD_REG  (*(volatile unsigned*) XTBOARD_DATECD_VADDR)
-#define XTBOARD_CLKFRQ_REG  (*(volatile unsigned*) XTBOARD_CLKFRQ_VADDR)
-#define XTBOARD_SYSLED_REG  (*(volatile unsigned*) XTBOARD_SYSLED_VADDR)
-#define XTBOARD_DIPSW_REG   (*(volatile unsigned*) XTBOARD_DIPSW_VADDR)
-#define XTBOARD_SWRST_REG   (*(volatile unsigned*) XTBOARD_SWRST_VADDR)
-#endif
-
-/*  DATECD (date code; when core was built) bit fields:  */
-/*  BCD-coded month (01..12):  */
-#define XTBOARD_DATECD_MONTH_SHIFT  24
-#define XTBOARD_DATECD_MONTH_BITS   8
-#define XTBOARD_DATECD_MONTH_MASK   0xFF000000
-/*  BCD-coded day (01..31):  */
-#define XTBOARD_DATECD_DAY_SHIFT    16
-#define XTBOARD_DATECD_DAY_BITS     8
-#define XTBOARD_DATECD_DAY_MASK     0x00FF0000
-/*  BCD-coded year (2001..9999):  */
-#define XTBOARD_DATECD_YEAR_SHIFT   0
-#define XTBOARD_DATECD_YEAR_BITS    16
-#define XTBOARD_DATECD_YEAR_MASK    0x0000FFFF
-
-/*  SYSLED (system LED) bit fields:  */
-
-/*  LED control bits (off=0, on=1):  */
-#define XTBOARD_SYSLED_USER_SHIFT   0
-#define XTBOARD_SYSLED_USER_BITS    2
-#define XTBOARD_SYSLED_USER_MASK    0x00000003
-
-/*  DIP Switch SW5 (left=sw1=lsb=bit0, right=sw4=msb=bit3; off=0, on=1): */
-/*  DIP switch bit fields (bit2/sw3 is reserved and presently unused):  */
-#define XTBOARD_DIPSW_USER_SHIFT    0       /* labeled 1-2 (1=lsb) */
-#define XTBOARD_DIPSW_USER_BITS     2
-#define XTBOARD_DIPSW_USER_MASK     0x00000003
-#define XTBOARD_DIPSW_BOOT_SHIFT    3       /* labeled 8 (msb) */
-#define XTBOARD_DIPSW_BOOT_BITS     1
-#define XTBOARD_DIPSW_BOOT_MASK     0x00000008
-/*  Boot settings: bit3/sw4, off=0, on=1 (this switch controls hardware): */
-#define XTBOARD_DIPSW_BOOT_RAM      (0<<XTBOARD_DIPSW_BOOT_SHIFT) /* off */
-#define XTBOARD_DIPSW_BOOT_FLASH    (1<<XTBOARD_DIPSW_BOOT_SHIFT) /* on */
-
-/*  SWRST (software reset; allows s/w to generate power-on equivalent reset): */
-/*  Software reset bits:  */
-#define XTBOARD_SWRST_SWR_SHIFT     0
-#define XTBOARD_SWRST_SWR_BITS      16
-#define XTBOARD_SWRST_SWR_MASK      0x0000FFFF
-/*  Software reset value -- writing this value resets the board:  */
-#define XTBOARD_SWRST_RESETVALUE    0x0000DEAD
-
-
-#endif /*_INC_XTAV110_H_*/
-
diff --git a/components/esp32/include/xtensa/xtav110/xtensa/board.h b/components/esp32/include/xtensa/xtav110/xtensa/board.h
deleted file mode 100644 (file)
index d0c9979..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * board.h  -  Include board-specific definitions
- *
- * Copyright (c) 2010 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#include <xtensa/xtav110.h>
-
diff --git a/components/esp32/include/xtensa/xtav200.h b/components/esp32/include/xtensa/xtav200.h
deleted file mode 100644 (file)
index f3d837e..0000000
+++ /dev/null
@@ -1,280 +0,0 @@
-/* Copyright (c) 2007-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
-/  These coded instructions, statements, and computer programs are the
-/  copyrighted works and confidential proprietary information of Tensilica Inc.
-/  They may not be modified, copied, reproduced, distributed, or disclosed to
-/  third parties in any manner, medium, or form, in whole or in part, without
-/  the prior written consent of Tensilica Inc.
-*/
-
-/*  xtav200.h  -  Xtensa Avnet LX200 (XT-AV200) board specific definitions  */
-
-#ifndef _INC_XTAV200_H_
-#define _INC_XTAV200_H_
-
-#include <xtensa/config/core.h>
-#include <xtensa/config/system.h>
-
-#define XTBOARD_NAME           "XT-AV200"
-
-
-/*
- *  Default assignment of XTAV200 devices to external interrupts.
- */
-
-/*  Ethernet interrupt:         */
-#ifdef XCHAL_EXTINT1_NUM
-#define ETHERNET_INTNUM                XCHAL_EXTINT1_NUM
-#define ETHERNET_INTLEVEL      XCHAL_EXTINT1_LEVEL
-#define ETHERNET_INTMASK       XCHAL_EXTINT1_MASK
-#else
-#define ETHERNET_INTMASK       0
-#endif
-
-/*  UART interrupt: */
-#ifdef XCHAL_EXTINT0_NUM
-#define UART16550_INTNUM       XCHAL_EXTINT0_NUM
-#define UART16550_INTLEVEL     XCHAL_EXTINT0_LEVEL
-#define UART16550_INTMASK      XCHAL_EXTINT0_MASK
-#else
-#define UART16550_INTMASK      0
-#endif
-
-/* Audio output interrupt (I2S FIFO underrun): */
-#ifdef XCHAL_EXTINT2_NUM
-#define AUDIO_INTNUM           XCHAL_EXTINT2_NUM
-#define AUDIO_INTLEVEL         XCHAL_EXTINT2_LEVEL
-#define AUDIO_INTMASK          XCHAL_EXTINT2_MASK
-#else
-#define AUDIO_INTMASK          0
-#endif
-
-/* Audio output (I2S FIFO level) interrupt: */
-#ifdef XCHAL_EXTINT3_NUM
-#define AUDIO_I2SLVL_INTNUM    XCHAL_EXTINT3_NUM
-#define AUDIO_I2SLVL_INTLEVEL  XCHAL_EXTINT3_LEVEL
-#define AUDIO_I2SLVL_INTMASK   XCHAL_EXTINT3_MASK
-#else
-#define AUDIO_I2SLVL_INTMASK           0
-#endif
-
-/* Audio input (ADC FIFO level) interrupt: */
-#ifdef XCHAL_EXTINT4_NUM
-#define AUDIO_ADCLVL_INTNUM    XCHAL_EXTINT4_NUM
-#define AUDIO_ADCLVL_INTLEVEL  XCHAL_EXTINT4_LEVEL
-#define AUDIO_ADCLVL_INTMASK   XCHAL_EXTINT4_MASK
-#else
-#define AUDIO_ADCLVL_INTMASK   0
-#endif
-
-
-/*
- *  Device addresses.
- *
- *  Note:  for endianness-independence, use 32-bit loads and stores for all
- *  register accesses to Ethernet, UART and LED devices.  Undefined bits
- *  may need to be masked out if needed when reading if the actual register
- *  size is smaller than 32 bits.
- *
- *  Note:  XTAV200 bus byte lanes are defined in terms of msbyte and lsbyte
- *  relative to the processor. So 32-bit registers are accessed consistently
- *  from both big and little endian processors.         However, this means byte
- *  sequences are not consistent between big and little endian processors.
- *  This is fine for RAM, and for ROM if ROM is created for a specific
- *  processor (and thus has correct byte sequences).  However this may be
- *  unexpected for Flash, which might contain a file-system that one wants
- *  to use for multiple processor configurations (eg. the Flash might contain
- *  the Ethernet card's address, endianness-independent application data, etc).
- *  That is, byte sequences written in Flash by a core of a given endianness
- *  will be byte-swapped when seen by a core of the other endianness.
- *  Someone implementing an endianness-independent Flash file system will
- *  likely handle this byte-swapping issue in the Flash driver software.
- */
-
-#define XTBOARD_FLASH_MAXSIZE  0x1000000       /* 16 MB */
-
-#ifdef XSHAL_IOBLOCK_BYPASS_PADDR
-
-/*  Flash Memory: */
-# define XTBOARD_FLASH_PADDR       (XSHAL_IOBLOCK_BYPASS_PADDR+0x08000000)
-
-/*  FPGA registers:  */
-# define XTBOARD_FPGAREGS_PADDR            (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D020000)
-
-/*  Ethernet controller/transceiver SONIC SN83934:  */
-# define ETHERNET_PADDR             (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D030000)
-
-/*  UART National-Semi PC16550D:  */
-# define UART16550_PADDR           (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D050000)
-
-/*  TI 320AIC23/28-TSSOP Stereo Audio Codec: */
-# define AUDIO_PADDR               (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D070000)
-
-/*  Boot 128K Sram address:  */
-# define BOOT_SRAM_PADDR           (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D400000)
-
-/*  Ethernet buffer:  */
-# define ETHERNET_BUFFER_PADDR     (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D800000)
-
-#endif /* XSHAL_IOBLOCK_BYPASS_PADDR  */
-
-/*  These devices might be accessed cached:  */
-#ifdef XSHAL_IOBLOCK_CACHED_PADDR
-# define XTBOARD_FLASH_CACHED_PADDR   (XSHAL_IOBLOCK_CACHED_PADDR+0x08000000)
-# define ETHERNET_BUFFER_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0x0D800000)
-# define BOOT_SRAM_CACHED_PADDR              (XSHAL_IOBLOCK_CACHED_PADDR+0x0D400000)
-#endif /* XSHAL_IOBLOCK_CACHED_PADDR */
-
-
-/***  Same thing over again, this time with virtual addresses: ***/
-
-#ifdef XSHAL_IOBLOCK_BYPASS_VADDR
-
-/*  Flash Memory: */
-# define XTBOARD_FLASH_VADDR       (XSHAL_IOBLOCK_BYPASS_VADDR+0x08000000)
-
-/*  FPGA registers:  */
-# define XTBOARD_FPGAREGS_VADDR            (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D020000)
-
-/*  Ethernet controller/transceiver SONIC SN83934:  */
-# define ETHERNET_VADDR                    (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D030000)
-
-/*  UART National-Semi PC16550D:  */
-# define UART16550_VADDR           (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D050000)
-
-/*  TI 320AIC23/28-TSSOP Stereo Audio Codec: */
-# define AUDIO_VADDR               (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D070000)
-
-/*  128K Sram address: */
-# define BOOT_SRAM_VADDR           (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D400000)
-
-/*  Ethernet buffer:  */
-# define ETHERNET_BUFFER_VADDR     (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D800000)
-
-#endif /* XSHAL_IOBLOCK_BYPASS_VADDR */
-
-/*  These devices might be accessed cached:  */
-#ifdef XSHAL_IOBLOCK_CACHED_VADDR
-# define XTBOARD_FLASH_CACHED_VADDR   (XSHAL_IOBLOCK_CACHED_VADDR+0x08000000)
-# define AUDIO_CACHED_VADDR          (XSHAL_IOBLOCK_CACHED_VADDR+0x0D070000)
-# define ETHERNET_BUFFER_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0x0D800000)
-# define BOOT_SRAM_CACHED_VADDR              (XSHAL_IOBLOCK_CACHED_VADDR+0x0D400000)
-#endif /* XSHAL_IOBLOCK_CACHED_VADDR */
-
-
-/*  System ROM:         */
-#define XTBOARD_ROM_SIZE               XSHAL_ROM_SIZE
-#ifdef XSHAL_ROM_VADDR
-#define XTBOARD_ROM_VADDR              XSHAL_ROM_VADDR
-#endif
-#ifdef XSHAL_ROM_PADDR
-#define XTBOARD_ROM_PADDR              XSHAL_ROM_PADDR
-#endif
-
-/*  System RAM:         */
-#define XTBOARD_RAM_SIZE               XSHAL_RAM_SIZE
-#ifdef XSHAL_RAM_VADDR
-#define XTBOARD_RAM_VADDR              XSHAL_RAM_VADDR
-#endif
-#ifdef XSHAL_RAM_PADDR
-#define XTBOARD_RAM_PADDR              XSHAL_RAM_PADDR
-#endif
-#define XTBOARD_RAM_BYPASS_VADDR       XSHAL_RAM_BYPASS_VADDR
-#define XTBOARD_RAM_BYPASS_PADDR       XSHAL_RAM_BYPASS_PADDR
-
-
-
-/*
- *  Things that depend on device addresses.
- */
-
-
-#define XTBOARD_CACHEATTR_WRITEBACK    XSHAL_XT2000_CACHEATTR_WRITEBACK
-#define XTBOARD_CACHEATTR_WRITEALLOC   XSHAL_XT2000_CACHEATTR_WRITEALLOC
-#define XTBOARD_CACHEATTR_WRITETHRU    XSHAL_XT2000_CACHEATTR_WRITETHRU
-#define XTBOARD_CACHEATTR_BYPASS       XSHAL_XT2000_CACHEATTR_BYPASS
-#define XTBOARD_CACHEATTR_DEFAULT      XSHAL_XT2000_CACHEATTR_DEFAULT
-
-#define XTBOARD_BUSINT_PIPE_REGIONS    XSHAL_XT2000_PIPE_REGIONS
-#define XTBOARD_BUSINT_SDRAM_REGIONS   XSHAL_XT2000_SDRAM_REGIONS
-
-
-/*
- *  FPGA registers.
- *  All these registers are normally accessed using 32-bit loads/stores.
- */
-
-/*  Register offsets:  */
-#define XTBOARD_DATECD_OFS     0x00    /* date code (read-only) */
-#define XTBOARD_CLKFRQ_OFS     0x04    /* clock frequency Hz (read-only) */
-#define XTBOARD_SYSLED_OFS      0x08    /* LEDs */
-#define XTBOARD_DIPSW_OFS      0x0C    /* DIP switch bits (read-only) */
-#define XTBOARD_SWRST_OFS      0x10    /* software reset */
-
-/*  Physical register addresses:  */
-#ifdef XTBOARD_FPGAREGS_PADDR
-#define XTBOARD_DATECD_PADDR   (XTBOARD_FPGAREGS_PADDR+XTBOARD_DATECD_OFS)
-#define XTBOARD_CLKFRQ_PADDR   (XTBOARD_FPGAREGS_PADDR+XTBOARD_CLKFRQ_OFS)
-#define XTBOARD_SYSLED_PADDR   (XTBOARD_FPGAREGS_PADDR+XTBOARD_SYSLED_OFS)
-#define XTBOARD_DIPSW_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_DIPSW_OFS)
-#define XTBOARD_SWRST_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_SWRST_OFS)
-#endif
-
-/*  Virtual register addresses:         */
-#ifdef XTBOARD_FPGAREGS_VADDR
-#define XTBOARD_DATECD_VADDR   (XTBOARD_FPGAREGS_VADDR+XTBOARD_DATECD_OFS)
-#define XTBOARD_CLKFRQ_VADDR   (XTBOARD_FPGAREGS_VADDR+XTBOARD_CLKFRQ_OFS)
-#define XTBOARD_SYSLED_VADDR   (XTBOARD_FPGAREGS_VADDR+XTBOARD_SYSLED_OFS)
-#define XTBOARD_DIPSW_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_DIPSW_OFS)
-#define XTBOARD_SWRST_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_SWRST_OFS)
-/*  Register access (for C code):  */
-#define XTBOARD_DATECD_REG     (*(volatile unsigned*) XTBOARD_DATECD_VADDR)
-#define XTBOARD_CLKFRQ_REG     (*(volatile unsigned*) XTBOARD_CLKFRQ_VADDR)
-#define XTBOARD_SYSLED_REG     (*(volatile unsigned*) XTBOARD_SYSLED_VADDR)
-#define XTBOARD_DIPSW_REG      (*(volatile unsigned*) XTBOARD_DIPSW_VADDR)
-#define XTBOARD_SWRST_REG      (*(volatile unsigned*) XTBOARD_SWRST_VADDR)
-#endif
-
-/*  DATECD (date code; when core was built) bit fields:  */
-/*  BCD-coded month (01..12):  */
-#define XTBOARD_DATECD_MONTH_SHIFT     24
-#define XTBOARD_DATECD_MONTH_BITS      8
-#define XTBOARD_DATECD_MONTH_MASK      0xFF000000
-/*  BCD-coded day (01..31):  */
-#define XTBOARD_DATECD_DAY_SHIFT       16
-#define XTBOARD_DATECD_DAY_BITS                8
-#define XTBOARD_DATECD_DAY_MASK                0x00FF0000
-/*  BCD-coded year (2001..9999):  */
-#define XTBOARD_DATECD_YEAR_SHIFT      0
-#define XTBOARD_DATECD_YEAR_BITS       16
-#define XTBOARD_DATECD_YEAR_MASK       0x0000FFFF
-
-/*  SYSLED (system LED) bit fields:  */
-
-/*  LED control bits (off=0, on=1):  */
-#define XTBOARD_SYSLED_USER_SHIFT      0
-#define XTBOARD_SYSLED_USER_BITS       4
-#define XTBOARD_SYSLED_USER_MASK       0x0000000F
-
-/*  DIP Switch (left=sw1=lsb=bit0, right=sw8=msb=bit7; off=0, on=1): */
-/*  DIP switch bit fields (bit6/sw7 is reserved and presently unused):  */
-#define XTBOARD_DIPSW_USER_SHIFT       0           /* labeled 1-6 (1=lsb) */
-#define XTBOARD_DIPSW_USER_BITS                6
-#define XTBOARD_DIPSW_USER_MASK                0x0000003F
-#define XTBOARD_DIPSW_BOOT_SHIFT       7           /* labeled 8 (msb) */
-#define XTBOARD_DIPSW_BOOT_BITS                1
-#define XTBOARD_DIPSW_BOOT_MASK                0x00000080
-/*  Boot settings: bit7/sw8, off=0, on=1 (this switch controls hardware): */
-#define XTBOARD_DIPSW_BOOT_RAM         (0<<XTBOARD_DIPSW_BOOT_SHIFT) /* off */
-#define XTBOARD_DIPSW_BOOT_FLASH       (1<<XTBOARD_DIPSW_BOOT_SHIFT) /* on */
-
-/*  SWRST (software reset; allows s/w to generate power-on equivalent reset): */
-/*  Software reset bits:  */
-#define XTBOARD_SWRST_SWR_SHIFT                0
-#define XTBOARD_SWRST_SWR_BITS         16
-#define XTBOARD_SWRST_SWR_MASK         0x0000FFFF
-/*  Software reset value -- writing this value resets the board:  */
-#define XTBOARD_SWRST_RESETVALUE       0x0000DEAD
-
-
-#endif /*_INC_XTAV200_H_*/
-
diff --git a/components/esp32/include/xtensa/xtav200/xtensa/board.h b/components/esp32/include/xtensa/xtav200/xtensa/board.h
deleted file mode 100644 (file)
index 8dbd8b6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * board.h  -  Include board-specific definitions
- *
- * Copyright (c) 2008 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#include <xtensa/xtav200.h>
-
diff --git a/components/esp32/include/xtensa/xtav60.h b/components/esp32/include/xtensa/xtav60.h
deleted file mode 100644 (file)
index d7c8e3a..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-/* Copyright (c) 2002-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
-/  These coded instructions, statements, and computer programs are the
-/  copyrighted works and confidential proprietary information of Tensilica Inc.
-/  They may not be modified, copied, reproduced, distributed, or disclosed to
-/  third parties in any manner, medium, or form, in whole or in part, without
-/  the prior written consent of Tensilica Inc.
-*/
-
-/*  xtav60.h   -  Xtensa Avnet LX60 (XT-AV60) board specific definitions  */
-
-#ifndef _INC_XTAV60_H_
-#define _INC_XTAV60_H_
-
-#include <xtensa/config/core.h>
-#include <xtensa/config/system.h>
-
-#define XTBOARD_NAME           "XT-AV60"
-
-
-/*
- *  Default assignment of XTAV60 devices to external interrupts.
- */
-
-/*  Ethernet interrupt:         */
-#ifdef XCHAL_EXTINT1_NUM
-#define ETHERNET_INTNUM                XCHAL_EXTINT1_NUM
-#define ETHERNET_INTLEVEL      XCHAL_EXTINT1_LEVEL
-#define ETHERNET_INTMASK       XCHAL_EXTINT1_MASK
-#else
-#define ETHERNET_INTMASK       0
-#endif
-
-/*  UART interrupt: */
-#ifdef XCHAL_EXTINT0_NUM
-#define UART16550_INTNUM       XCHAL_EXTINT0_NUM
-#define UART16550_INTLEVEL     XCHAL_EXTINT0_LEVEL
-#define UART16550_INTMASK      XCHAL_EXTINT0_MASK
-#else
-#define UART16550_INTMASK      0
-#endif
-
-/*
- *  Device addresses.
- *
- *  Note:  for endianness-independence, use 32-bit loads and stores for all
- *  register accesses to Ethernet, UART and LED devices.  Undefined bits
- *  may need to be masked out if needed when reading if the actual register
- *  size is smaller than 32 bits.
- *
- *  Note:  XTAV60 bus byte lanes are defined in terms of msbyte and lsbyte
- *  relative to the processor. So 32-bit registers are accessed consistently
- *  from both big and little endian processors.         However, this means byte
- *  sequences are not consistent between big and little endian processors.
- *  This is fine for RAM, and for ROM if ROM is created for a specific
- *  processor (and thus has correct byte sequences).  However this may be
- *  unexpected for Flash, which might contain a file-system that one wants
- *  to use for multiple processor configurations (eg. the Flash might contain
- *  the Ethernet card's address, endianness-independent application data, etc).
- *  That is, byte sequences written in Flash by a core of a given endianness
- *  will be byte-swapped when seen by a core of the other endianness.
- *  Someone implementing an endianness-independent Flash file system will
- *  likely handle this byte-swapping issue in the Flash driver software.
- */
-
-#define XTBOARD_FLASH_MAXSIZE  0x400000        /* 4 MB */
-
-#ifdef XSHAL_IOBLOCK_BYPASS_PADDR
-
-/*  Flash Memory: */
-# define XTBOARD_FLASH_PADDR       (XSHAL_IOBLOCK_BYPASS_PADDR+0x08000000)
-
-/*  FPGA registers:  */
-# define XTBOARD_FPGAREGS_PADDR            (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D020000)
-
-/*  Ethernet controller/transceiver SONIC SN83934:  */
-# define ETHERNET_PADDR             (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D030000)
-# define ETHERNET_CONTROLLER_PADDR  ETHERNET_PADDR  /* legacy macro */
-
-/*  Display controller Sunplus SPLC780D, LCD Display MYTech MOC-16216B-B: */
-# define SPLC780D_PADDR                    (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D040000)
-
-/*  UART National-Semi PC16550D:  */
-# define UART16550_PADDR           (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D050000)
-
-/*  Boot 128K Sram address:  */
-# define BOOT_SRAM_PADDR           (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D400000)
-
-/*  Ethernet buffer:  */
-# define ETHERNET_BUFFER_PADDR     (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D800000)
-
-#endif /* XSHAL_IOBLOCK_BYPASS_PADDR  */
-
-/*  These devices might be accessed cached:  */
-#ifdef XSHAL_IOBLOCK_CACHED_PADDR
-# define XTBOARD_FLASH_CACHED_PADDR   (XSHAL_IOBLOCK_CACHED_PADDR+0x08000000)
-# define ETHERNET_BUFFER_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0x0D800000)
-# define BOOT_SRAM_CACHED_PADDR              (XSHAL_IOBLOCK_CACHED_PADDR+0x0D400000)
-#endif /* XSHAL_IOBLOCK_CACHED_PADDR */
-
-
-/***  Same thing over again, this time with virtual addresses: ***/
-
-#ifdef XSHAL_IOBLOCK_BYPASS_VADDR
-
-/*  Flash Memory: */
-# define XTBOARD_FLASH_VADDR       (XSHAL_IOBLOCK_BYPASS_VADDR+0x08000000)
-
-/*  FPGA registers:  */
-# define XTBOARD_FPGAREGS_VADDR            (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D020000)
-
-/*  Ethernet controller/transceiver SONIC SN83934:  */
-# define ETHERNET_VADDR                    (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D030000)
-
-/*  Display controller Sunplus SPLC780D, LCD Display MYTech MOC-16216B-B: */
-# define SPLC780D_VADDR                    (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D040000)
-
-/*  UART National-Semi PC16550D:  */
-# define UART16550_VADDR           (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D050000)
-
-/*  128K Sram address: */
-# define BOOT_SRAM_VADDR           (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D400000)
-
-/*  Ethernet buffer:  */
-# define ETHERNET_BUFFER_VADDR     (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D800000)
-
-#endif /* XSHAL_IOBLOCK_BYPASS_VADDR */
-
-/*  These devices might be accessed cached:  */
-#ifdef XSHAL_IOBLOCK_CACHED_VADDR
-# define XTBOARD_FLASH_CACHED_VADDR   (XSHAL_IOBLOCK_CACHED_VADDR+0x08000000)
-# define ETHERNET_BUFFER_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0x0D800000)
-# define BOOT_SRAM_CACHED_VADDR              (XSHAL_IOBLOCK_CACHED_VADDR+0x0D400000)
-#endif /* XSHAL_IOBLOCK_CACHED_VADDR */
-
-
-/*  System ROM:         */
-#define XTBOARD_ROM_SIZE               XSHAL_ROM_SIZE
-#ifdef XSHAL_ROM_VADDR
-#define XTBOARD_ROM_VADDR              XSHAL_ROM_VADDR
-#endif
-#ifdef XSHAL_ROM_PADDR
-#define XTBOARD_ROM_PADDR              XSHAL_ROM_PADDR
-#endif
-
-/*  System RAM:         */
-#define XTBOARD_RAM_SIZE               XSHAL_RAM_SIZE
-#ifdef XSHAL_RAM_VADDR
-#define XTBOARD_RAM_VADDR              XSHAL_RAM_VADDR
-#endif
-#ifdef XSHAL_RAM_PADDR
-#define XTBOARD_RAM_PADDR              XSHAL_RAM_PADDR
-#endif
-#define XTBOARD_RAM_BYPASS_VADDR       XSHAL_RAM_BYPASS_VADDR
-#define XTBOARD_RAM_BYPASS_PADDR       XSHAL_RAM_BYPASS_PADDR
-
-
-
-/*
- *  Things that depend on device addresses.
- */
-
-
-#define XTBOARD_CACHEATTR_WRITEBACK    XSHAL_XT2000_CACHEATTR_WRITEBACK
-#define XTBOARD_CACHEATTR_WRITEALLOC   XSHAL_XT2000_CACHEATTR_WRITEALLOC
-#define XTBOARD_CACHEATTR_WRITETHRU    XSHAL_XT2000_CACHEATTR_WRITETHRU
-#define XTBOARD_CACHEATTR_BYPASS       XSHAL_XT2000_CACHEATTR_BYPASS
-#define XTBOARD_CACHEATTR_DEFAULT      XSHAL_XT2000_CACHEATTR_DEFAULT
-
-#define XTBOARD_BUSINT_PIPE_REGIONS    XSHAL_XT2000_PIPE_REGIONS
-#define XTBOARD_BUSINT_SDRAM_REGIONS   XSHAL_XT2000_SDRAM_REGIONS
-
-
-/*
- *  FPGA registers.
- *  All these registers are normally accessed using 32-bit loads/stores.
- */
-
-/*  Register offsets:  */
-#define XTBOARD_DATECD_OFS     0x00    /* date code (read-only) */
-#define XTBOARD_CLKFRQ_OFS     0x04    /* clock frequency Hz (read-only) */
-#define XTBOARD_DIPSW_OFS      0x0C    /* DIP switch bits (read-only) */
-#define XTBOARD_SWRST_OFS      0x10    /* software reset */
-
-/*  Physical register addresses:  */
-#ifdef XTBOARD_FPGAREGS_PADDR
-#define XTBOARD_DATECD_PADDR   (XTBOARD_FPGAREGS_PADDR+XTBOARD_DATECD_OFS)
-#define XTBOARD_CLKFRQ_PADDR   (XTBOARD_FPGAREGS_PADDR+XTBOARD_CLKFRQ_OFS)
-#define XTBOARD_DIPSW_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_DIPSW_OFS)
-#define XTBOARD_SWRST_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_SWRST_OFS)
-#endif
-
-/*  Virtual register addresses:         */
-#ifdef XTBOARD_FPGAREGS_VADDR
-#define XTBOARD_DATECD_VADDR   (XTBOARD_FPGAREGS_VADDR+XTBOARD_DATECD_OFS)
-#define XTBOARD_CLKFRQ_VADDR   (XTBOARD_FPGAREGS_VADDR+XTBOARD_CLKFRQ_OFS)
-#define XTBOARD_DIPSW_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_DIPSW_OFS)
-#define XTBOARD_SWRST_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_SWRST_OFS)
-/*  Register access (for C code):  */
-#define XTBOARD_DATECD_REG     (*(volatile unsigned*) XTBOARD_DATECD_VADDR)
-#define XTBOARD_CLKFRQ_REG     (*(volatile unsigned*) XTBOARD_CLKFRQ_VADDR)
-#define XTBOARD_DIPSW_REG      (*(volatile unsigned*) XTBOARD_DIPSW_VADDR)
-#define XTBOARD_SWRST_REG      (*(volatile unsigned*) XTBOARD_SWRST_VADDR)
-#endif
-
-/*  DATECD (date code; when core was built) bit fields:  */
-/*  BCD-coded month (01..12):  */
-#define XTBOARD_DATECD_MONTH_SHIFT     24
-#define XTBOARD_DATECD_MONTH_BITS      8
-#define XTBOARD_DATECD_MONTH_MASK      0xFF000000
-/*  BCD-coded day (01..31):  */
-#define XTBOARD_DATECD_DAY_SHIFT       16
-#define XTBOARD_DATECD_DAY_BITS                8
-#define XTBOARD_DATECD_DAY_MASK                0x00FF0000
-/*  BCD-coded year (2001..9999):  */
-#define XTBOARD_DATECD_YEAR_SHIFT      0
-#define XTBOARD_DATECD_YEAR_BITS       16
-#define XTBOARD_DATECD_YEAR_MASK       0x0000FFFF
-
-/*  DIP Switch (left=sw1=lsb=bit0, right=sw8=msb=bit7; off=0, on=1): */
-/*  DIP switch bit fields (bit6/sw7 is reserved and presently unused):  */
-#define XTBOARD_DIPSW_USER_SHIFT       0           /* labeled 1-6 (1=lsb) */
-#define XTBOARD_DIPSW_USER_BITS                6
-#define XTBOARD_DIPSW_USER_MASK                0x0000003F
-#define XTBOARD_DIPSW_BOOT_SHIFT       7           /* labeled 8 (msb) */
-#define XTBOARD_DIPSW_BOOT_BITS                1
-#define XTBOARD_DIPSW_BOOT_MASK                0x00000080
-/*  Boot settings: bit7/sw8, off=0, on=1 (this switch controls hardware): */
-#define XTBOARD_DIPSW_BOOT_RAM         (0<<XTBOARD_DIPSW_BOOT_SHIFT) /* off */
-#define XTBOARD_DIPSW_BOOT_FLASH       (1<<XTBOARD_DIPSW_BOOT_SHIFT) /* on */
-
-/*  SWRST (software reset; allows s/w to generate power-on equivalent reset):  */
-/*  Software reset bits:  */
-#define XTBOARD_SWRST_SWR_SHIFT                0
-#define XTBOARD_SWRST_SWR_BITS         16
-#define XTBOARD_SWRST_SWR_MASK         0x0000FFFF
-/*  Software reset value -- writing this value resets the board:  */
-#define XTBOARD_SWRST_RESETVALUE       0x0000DEAD
-
-
-#endif /*_INC_XTAV60_H_*/
-
diff --git a/components/esp32/include/xtensa/xtav60/xtensa/board.h b/components/esp32/include/xtensa/xtav60/xtensa/board.h
deleted file mode 100644 (file)
index 7263fd7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * board.h  -  Include board-specific definitions
- *
- * Copyright (c) 2008 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#include <xtensa/xtav60.h>
-
diff --git a/components/esp32/include/xtensa/xtav60/xtensa/lcd-splc780d-board.h b/components/esp32/include/xtensa/xtav60/xtensa/lcd-splc780d-board.h
deleted file mode 100644 (file)
index 629a325..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2006-2007 by Tensilica Inc.  ALL RIGHTS RESERVED.
-These coded instructions, statements, and computer programs are the
-copyrighted works and confidential proprietary information of Tensilica Inc.
-They may not be modified, copied, reproduced, distributed, or disclosed to
-third parties in any manner, medium, or form, in whole or in part, without
-the prior written consent of Tensilica Inc.
---------------------------------------------------------------------------------
-
-lcd-splc780d-board.h    Board-specific LCD info on Avnet AV60 (XT-AV60) board.
-
-Interface between board-independent driver and board-specific header.
-
-This is used by a board-independent SPLC780D LCD controller driver to obtain 
-board-specific information about LCD displays on the board, such as the 
-controller register base address and spacing (a function of how the address 
-lines are connected on the board) and length of the visible window of the 
-display (a function of the LCD panel the controller drives). The driver does
-not refer directly to the board-specific header, which therefore is not 
-constrained to use macro names consistent with other boards.
-
-!! Must not contain any board-specific macro names (only controller specific) !!
-
-Included at compile-time via an include path specific to the board.
-
-The XT-AV60 board contains a single MYTech MOC-16216B-B display driven by 
-a Sunplus SPLC870D controller.
-
-*******************************************************************************/
-
-#ifndef _LCD_SPLC780D_BOARD_H
-#define _LCD_SPLC780D_BOARD_H
-
-#include <xtensa/xtav60.h>              /* Board info */
-
-
-/* Base address of the controller's registers. */
-#ifdef SPLC780D_VADDR
-#define SPLC780D_REGBASE SPLC780D_VADDR
-#endif
-
-/* 
-The controller's registers are connected at word addresses on the XT-AV60.
-Each byte-wide register appears as the least-significant-byte (LSB) of the 
-word regardless of the endianness of the processor (so if using word accesses 
-then endianness doesn't matter).
-*/
-#define SPLC780D_REGSPACING 4
-typedef unsigned splc780d_reg_t;
-
-/* Include generic information shared by all boards that use this device. */
-#include    <xtensa/lcd-splc780d.h>
-
-
-/* Display limits of the LCD panel. */
-#define DISPLAY_VISIBLE_LEN 16  /* length (chars) of visible window */
-
-#endif /* _LCD_SPLC780D_BOARD_H */
-
diff --git a/components/esp32/include/xtensa/xtbsp.h b/components/esp32/include/xtensa/xtbsp.h
deleted file mode 100644 (file)
index 62356dd..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
-
-  Copyright (c) 2006-2009 Tensilica Inc.
-
-  Permission is hereby granted, free of charge, to any person obtaining
-  a copy of this software and associated documentation files (the
-  "Software"), to deal in the Software without restriction, including
-  without limitation the rights to use, copy, modify, merge, publish,
-  distribute, sublicense, and/or sell copies of the Software, and to
-  permit persons to whom the Software is furnished to do so, subject to
-  the following conditions:
-
-  The above copyright notice and this permission notice shall be included
-  in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-  TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-  SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
---------------------------------------------------------------------------------
-
-xtbsp.h     Xtensa Board Support Package API
-
-This API defines a minimal set of board-support functions that every supported
-Xtensa board is expected to provide in the board-support-package (BSP) library
-associated with the board-specific LSP. Only basic board functions are provided
-in this board-independent API. API functions not applicable to a board must be
-stubbed in its BSP library. More complex operations must use a board-specific
-interface. Functions are grouped by type of peripheral device.
-
-*******************************************************************************/
-
-#ifndef _XTBSP_H_
-#define _XTBSP_H_
-
-
-#ifdef __cplusplus
-extern  "C" {
-#endif
-
-  
-/*******************************************************************************
-BOARD INITIALIZATION.
-The board with all its devices is initialized by xtbsp_board_init().
-Individual devices represented by this API can be reinitialized at any 
-time by calling their inidividual device init functions (grouped with 
-other device functions). This might be useful to (say) change the baud 
-rate of the UART.
-*/
-
-
-/*
-Initialize the board. Must call before any other API function.
-Iniitializes BSP, board in general, and all devices on the board.
-*/
-extern void xtbsp_board_init(void);
-
-
-/*******************************************************************************
-BOARD CHARACTERISTICS and CONVENIENCE FUNCTIONS.
-Board support functions not associated with a particular peripheral device.
-*/
-
-/*
-Return a short string representing the type of board.
-If the board has a display, the string must fit on a single line.
-*/
-extern const char * xtbsp_board_name(void);
-
-/*
-Hardware reset the entire board (if possible). Does not return if successful.
-If this function returns, it is stubbed out or not possible with this board.
-*/
-extern void xtbsp_board_reset(void);
-
-/*
-Return the clock frequency in Hertz. May be constant or computed.
-*/
-extern unsigned xtbsp_clock_freq_hz(void);
-
-/*
-Return the clock period in picoseconds. May be constant or computed.
-*/
-extern unsigned xtbsp_clock_period_ps(void);
-
-/*
-Spin (at least) a number of cycles per the processor's CCOUNT register.
-Unlike a s/w delay loop, the duration is not affected by compiler
-optimization or interrupts completed within the delay period.
-If the processor doesn't have CCOUNT, a s/w delay loop is used to obtain 
-a rough approximation of the cycle count.
-*/
-extern void xtbsp_delay_cycles(unsigned cycles);
-
-/*
-Spin at least a number of nanoseconds (approximate and err in the high side).
-BSP implementation should do this efficiently, avoiding integer overflow or 
-excessive loss of precision, run-time division or floating point. 
-Function implementation (vs. macro) allows BSP to optimize for the clock 
-frequency by pre-computing (or using constant) scale factors.
-*/
-extern void xtbsp_delay_ns(unsigned ns);
-
-
-/*******************************************************************************
-C LIBRARY SUPPORT.
-These functions are called by the C library libgloss interface.
-Their names are predetermined apart from this BSP API.
-*/
-
-/*
-Initialize the board. Called by C library initialization code.
-Usually simply calls xtbsp_board_init().
-*/
-extern void board_init(void);
-
-/*
-(Wait for and) Input a single byte from the default character I/O 
-device. Return -1 if there is no input device. 
-This device is usually a UART and this function calls xtbsp_uart_getchar().
-On some boards (eg.) it might be a directly connected keyboard.
-*/
-extern int inbyte(void);
-
-/*
-Output a single char to the default character I/O device (and wait 
-until it's been taken). 
-This device is usually a UART and this function calls xtbsp_uart_putchar().
-On some boards (eg.) it might be a directly connected bit-mapped screen.
-*/
-extern void outbyte(int c);
-
-
-/*******************************************************************************
-UART (SERIAL I/O).
-Supports a single UART in a simple polling mode and provides control of
-receiver and transmitter data interrupts (client must provide handler).
-Provides a mapping to processor interrupt number which can be used with
-the HAL to control processor interrupt enable (INTENABLE) etc.
-*/
-
-/* Bitmasks to identify UART interrupts. */
-typedef enum xtbsp_uart_int {
-    xtbsp_uart_int_rx = 1<<0,
-    xtbsp_uart_int_tx = 1<<1,
-    /* mask of all valid interrupt bits */
-    xtbsp_uart_int_all = (1<<2)-1
-} xtbsp_uart_int;
-
-/*
-Return non-zero if the board has a UART.
-*/
-extern int xtbsp_uart_exists(void);
-
-/*
-Initialize the UART:
-  parity = 0 (none), 1 (odd), or 2 (even).
-  nstop  = 1 or 2 (stop bits).
-  ndata  = 7 or 8 (data bits).
-Disables all UART interrupts.
-Returns non-zero if failed (perhaps due to unsupported parameter values).
-Must call before any of the following functions.
-*/
-extern int xtbsp_uart_init(unsigned baud, unsigned ndata, 
-                           unsigned parity, unsigned nstop);
-#define xtbsp_uart_init_default() xtbsp_uart_init(38400, 8, 0, 1)
-
-/*
-(Wait for and) Input a single char from the UART.
-Any pending xtbsp_uart_int_rx interrupt is cleared.
-*/
-extern char xtbsp_uart_getchar(void);
-
-/*
-(Wait for transmitter ready and) Output a single char to the UART.
-Any pending xtbsp_uart_int_tx interrupt is cleared.
-*/
-extern void xtbsp_uart_putchar(const char c);
-
-/*
-Return true (non-zero) if a character has been received and is ready
-to be input by xtbsp_uart_getchar() without waiting, else return 0.
-*/
-extern int xtbsp_uart_get_isready(void);
-
-/*
-Return non-zero if a character may be output by xtbsp_uart_putchar() 
-without waiting, else return 0.
-Any pending xtbsp_uart_int_tx interrupt is cleared.
-*/
-extern int xtbsp_uart_put_isready(void);
-
-/*
-Return the enable status of all UART interrupts represented by this API,
-that is those with bits defined in type xtbsp_uart_int (1 bit = enabled).
-This is the enable status at the device, not the processor's INTENABLE.
-*/
-extern xtbsp_uart_int xtbsp_uart_int_enable_status(void);
-
-/*
-Enable selected UART interrupts at the device.
-*/
-extern void xtbsp_uart_int_enable(const xtbsp_uart_int mask);
-
-/*
-Disable selected UART interrupts at the device.
-*/
-extern void xtbsp_uart_int_disable(const xtbsp_uart_int mask);
-
-/*
-Return the interrupt number (0..31) to which the selected UART interrupt
-is connected. May be used with the link-time HAL to obtain more information,
-eg. Xthal_intlevel_mask[xtbsp_uart_int_number(xtbsp_uart_int_rx)]
-This information can be used to control the processor's INTENABLE, etc.
-Result is -1 if not connected, undefined if mask has more than 1 bit set.
-*/
-extern int xtbsp_uart_int_number(const xtbsp_uart_int mask);
-
-
-/*******************************************************************************
-DISPLAY.
-Supports a single display that can render a series of ASCII characters.
-Functions are provided to perform generic display tasks such as display
-a string, display character by character, or blank the display.
-Chars are 7-bit printable ASCII. Strings are C style NUL \0 terminated.
-These functions busy-wait for any required timing delays so the caller does
-not have to deal with timing. Some displays require long delays which in 
-some client applications warrant a board and RTOS specific approach to 
-driving the display, however that is beyond the scope of this API.
-*/
-
-/*
-Return non-zero if board has a display.
-*/
-extern int xtbsp_display_exists(void);
-
-/*
-Initialize the display. Must call before any of the following functions.
-*/
-extern void xtbsp_display_init(void);
-
-/*
-Display a single char at position pos (0 is leftmost). Other positions are
-left untouched. Positions beyond the width of the display are ignored.
-*/
-extern void xtbsp_display_char(unsigned pos, const char c);
-
-/*
-Display a string. Blank-pad to or truncate at the end of the display
-(overwrites any previous string so don't need to blank display first).
-*/
-extern void xtbsp_display_string(const char *s);
-
-/*
-Blank (clear) the entire display.
-*/
-extern void xtbsp_display_blank(void);
-
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _XTBSP_H_ */
diff --git a/components/esp32/include/xtensa/xtkc705.h b/components/esp32/include/xtensa/xtkc705.h
deleted file mode 100644 (file)
index 831c15d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-/* Copyright (c) 2006-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
-/  These coded instructions, statements, and computer programs are the
-/  copyrighted works and confidential proprietary information of Tensilica Inc.
-/  They may not be modified, copied, reproduced, distributed, or disclosed to
-/  third parties in any manner, medium, or form, in whole or in part, without
-/  the prior written consent of Tensilica Inc.
-*/
-
-/*  xtkc705.h   -  Xtensa Xilinx KC705 (XT-KC705) board specific definitions  */
-
-/*  99.9% same as ML605, just indicate we're KC705 and include ML605 header:  */
-#define XTBOARD_IS_KC705       1
-#include <xtensa/xtml605.h>
-
diff --git a/components/esp32/include/xtensa/xtkc705/xtensa/board.h b/components/esp32/include/xtensa/xtkc705/xtensa/board.h
deleted file mode 100644 (file)
index 5d2d834..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * board.h  -  Include board-specific definitions
- *
- * Copyright (c) 2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#include <xtensa/xtkc705.h>
-
diff --git a/components/esp32/include/xtensa/xtload-api.h b/components/esp32/include/xtensa/xtload-api.h
deleted file mode 100644 (file)
index 4e2297f..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Customer ID=11656; Build=0x5f626; Copyright (c) 2003-2012 Tensilica Inc.  ALL RIGHTS RESERVED.
-   These coded instructions, statements, and computer programs are the
-   copyrighted works and confidential proprietary information of Tensilica Inc.
-   They may not be modified, copied, reproduced, distributed, or disclosed to
-   third parties in any manner, medium, or form, in whole or in part, without
-   the prior written consent of Tensilica Inc.  */
-
-#ifndef _XTLOAD_API_H
-#define _XTLOAD_API_H
-
-#include <stdint.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define XTENSA_BYTES_PER_WORD 4
-#define XLOAD_ALL_CORES -1
-
-typedef int core_number_t;
-typedef uint32_t xtload_address_t;
-typedef uint32_t xtload_word_count_t;
-typedef uint32_t * xtload_word_ptr_t;
-
-/* These functions correspond one-to-one with xt-load script
-   commands. See the documentation for xt-load for their usage.
-
-   There are however, several higher-level script commands--such as
-   load-elf-file--which don't have direct analogues here.  These
-   "missing" commands are essentially just macros that result in
-   several of these commands below.  Note that you can execute several
-   of these commands, then the results of a script, or vice-versa.
- */
-
-void xtload_bootloader_wake (void);
-void xtload_bootloader_sleep (void);
-void xtload_bootloader_done (void);
-void xtload_bootloader_not_done (void);
-void xtload_reset_and_cont (core_number_t core);
-void xtload_stall_and_reset (core_number_t core);
-#define xtload_reset_and_stall xtload_stall_and_reset
-void xtload_stall_and_target (core_number_t core);
-void xtload_ignore_and_stall (core_number_t core);
-void xtload_ignore_and_cont (core_number_t core);
-#define xtload_ignore_and_continue xtload_ignore_and_cont
-void xtload_read_words (xtload_address_t addr, xtload_word_count_t count);
-void xtload_zero_words (xtload_address_t addr, xtload_word_count_t count);
-void xtload_write_words (int swap, xtload_address_t addr,
-                        xtload_word_ptr_t ptr, xtload_word_count_t count);
-void xtload_setup_write_words (xtload_address_t addr, xtload_word_count_t count);
-void xtload_read_register (core_number_t core);
-
-/* *I M P O R T A N T*
-   
-   The bootloader API calls this function whenever it outputs a word
-   to the bootloader hardware chain. 
-
-   Because the API has no information about how the bootloader
-   hardware is connected to the host hardware, the user must
-   implement this function to write a word to the bootloader's register.
-
-   A user's implementation might write the bytes to an Xtensa queue or
-   to a memory-mapped register.
-
-   For example, xt-load uses this API just like any other client. Its
-   implementation of this function simply writes this word to an
-   output file.
-*/
-
-void xtload_user_output_word (uint32_t word);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _XTLOAD_API_H */
-
diff --git a/components/esp32/include/xtensa/xtml605.h b/components/esp32/include/xtensa/xtml605.h
deleted file mode 100644 (file)
index 5f54d70..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-/* Copyright (c) 2007-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.
-/  These coded instructions, statements, and computer programs are the
-/  copyrighted works and confidential proprietary information of Tensilica Inc.
-/  They may not be modified, copied, reproduced, distributed, or disclosed to
-/  third parties in any manner, medium, or form, in whole or in part, without
-/  the prior written consent of Tensilica Inc.
-*/
-
-/*  xtml605.h   -  Xtensa Xilinx ML605 (XT-ML605) board specific definitions  */
-/*  xtkc705.h   -  Also includes this, for the Xilinx KC705 (XT-KC705).  */
-
-#ifndef _INC_ML605_H_
-#define _INC_ML605_H_
-
-#include <xtensa/config/core.h>
-#include <xtensa/config/system.h>
-
-#if XTBOARD_IS_KC705
-#define XTBOARD_NAME           "XT-KC705"
-#else
-#define XTBOARD_NAME           "XT-ML605"
-#endif
-
-
-/*
- *  Default assignment of ML605 devices to external interrupts.
- */
-
-/*  Ethernet interrupt:  */
-#ifdef XCHAL_EXTINT1_NUM
-#define ETHERNET_INTNUM         XCHAL_EXTINT1_NUM
-#define ETHERNET_INTLEVEL       XCHAL_EXTINT1_LEVEL
-#define ETHERNET_INTMASK        XCHAL_EXTINT1_MASK
-#else
-#define ETHERNET_INTMASK        0
-#endif
-
-/*  UART interrupt: */
-#ifdef XCHAL_EXTINT0_NUM
-#define UART16550_INTNUM        XCHAL_EXTINT0_NUM
-#define UART16550_INTLEVEL      XCHAL_EXTINT0_LEVEL
-#define UART16550_INTMASK       XCHAL_EXTINT0_MASK
-#else
-#define UART16550_INTMASK       0
-#endif
-
-/* Audio output interrupt (I2S transmitter FIFO): */
-#ifdef XCHAL_EXTINT2_NUM
-#define AUDIO_I2S_OUT_INTNUM    XCHAL_EXTINT2_NUM
-#define AUDIO_I2S_OUT_INTLEVEL  XCHAL_EXTINT2_LEVEL
-#define AUDIO_I2S_OUT_INTMASK   XCHAL_EXTINT2_MASK
-#else
-#define AUDIO_I2S_OUT_INTMASK   0
-#endif
-
-/* Audio input interrupt (I2S receiver FIFO): */
-#ifdef XCHAL_EXTINT3_NUM
-#define AUDIO_I2S_IN_INTNUM     XCHAL_EXTINT3_NUM
-#define AUDIO_I2S_IN_INTLEVEL   XCHAL_EXTINT3_LEVEL
-#define AUDIO_I2S_IN_INTMASK    XCHAL_EXTINT3_MASK
-#else
-#define AUDIO_I2S_IN_INTMASK    0
-#endif
-
-/* I2C interrupt */
-#ifdef XCHAL_EXTINT4_NUM
-#define I2C_INTNUM              XCHAL_EXTINT4_NUM
-#define I2C_INTLEVEL            XCHAL_EXTINT4_LEVEL
-#define I2C_INTMASK             XCHAL_EXTINT4_MASK
-#else
-#define I2C_INTMASK             0
-#endif
-
-/* USB interrupt */
-#ifdef XCHAL_EXTINT5_NUM
-#define USB_INTNUM              XCHAL_EXTINT5_NUM
-#define USB_INTLEVEL            XCHAL_EXTINT5_LEVEL
-#define USB_INTMASK             XCHAL_EXTINT5_MASK
-#else
-#define USB_INTMASK             0
-#endif
-
-/*
- *  Device addresses.
- *
- *  Note:  for endianness-independence, use 32-bit loads and stores for all
- *  register accesses to Ethernet, UART and LED devices.  Undefined bits
- *  may need to be masked out if needed when reading if the actual register
- *  size is smaller than 32 bits.
- *
- *  Note:  ML605 bus byte lanes are defined in terms of msbyte and lsbyte
- *  relative to the processor.  So 32-bit registers are accessed consistently
- *  from both big and little endian processors.  However, this means byte
- *  sequences are not consistent between big and little endian processors.
- *  This is fine for RAM, and for ROM if ROM is created for a specific
- *  processor (and thus has correct byte sequences).  However this may be
- *  unexpected for Flash, which might contain a file-system that one wants
- *  to use for multiple processor configurations (eg. the Flash might contain
- *  the Ethernet card's address, endianness-independent application data, etc).
- *  That is, byte sequences written in Flash by a core of a given endianness
- *  will be byte-swapped when seen by a core of the other endianness.
- *  Someone implementing an endianness-independent Flash file system will
- *  likely handle this byte-swapping issue in the Flash driver software.
- */
-
-#define ML605_FLASH_MAXSIZE     0x01000000       /* 16 MB */
-#define ML605_FLASH_IOBLOCK_OFS 0x08000000
-
-#define KC705_FLASH_MAXSIZE     0x08000000       /* 128 MB */
-#define KC705_FLASH_IOBLOCK_OFS 0x00000000
-
-#if XTBOARD_IS_KC705
-#define XTBOARD_FLASH_MAXSIZE   KC705_FLASH_MAXSIZE
-#define XTBOARD_FLASH_IO_OFS    KC705_FLASH_IOBLOCK_OFS
-#else
-#define XTBOARD_FLASH_MAXSIZE   ML605_FLASH_MAXSIZE
-#define XTBOARD_FLASH_IO_OFS    ML605_FLASH_IOBLOCK_OFS
-#endif
-
-#ifdef XSHAL_IOBLOCK_BYPASS_PADDR
-
-/*  Flash Memory: */
-# define XTBOARD_FLASH_PADDR        (XSHAL_IOBLOCK_BYPASS_PADDR+XTBOARD_FLASH_IO_OFS)
-
-/*  FPGA registers:  */
-# define XTBOARD_FPGAREGS_PADDR     (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D020000)
-
-/*  Ethernet controller/transceiver SONIC SN83934:  */
-# define ETHERNET_PADDR             (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D030000)
-
-
-/*  UART National-Semi PC16550D:  */
-# define UART16550_PADDR            (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D050000)
-
-/*  I2S transmitter */
-# define AUDIO_I2S_OUT_PADDR        (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D080000)
-
-/*  I2S receiver */
-# define AUDIO_I2S_IN_PADDR         (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D088000)
-
-/*  I2C master */
-# define I2C_PADDR                  (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D090000)
-
-/*  SPI controller */
-# define SPI_PADDR                  (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D0A0000)
-
-/*  Display controller Sunplus SPLC780D, 4bit mode, 
- *  LCD Display MYTech MOC-16216B-B: */
-# define SPLC780D_4BIT_PADDR       (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D0C0000)
-
-/*  USB Controller */
-# define USB_PADDR                  (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D0D0000)
-
-/*  Ethernet buffer:  */
-# define ETHERNET_BUFFER_PADDR      (XSHAL_IOBLOCK_BYPASS_PADDR+0x0D800000)
-
-#endif /* XSHAL_IOBLOCK_BYPASS_PADDR  */
-
-/*  These devices might be accessed cached:  */
-#ifdef XSHAL_IOBLOCK_CACHED_PADDR
-# define XTBOARD_FLASH_CACHED_PADDR   (XSHAL_IOBLOCK_CACHED_PADDR+XTBOARD_FLASH_IO_OFS)
-# define ETHERNET_BUFFER_CACHED_PADDR (XSHAL_IOBLOCK_CACHED_PADDR+0x0D800000)
-#endif /* XSHAL_IOBLOCK_CACHED_PADDR */
-
-
-/***  Same thing over again, this time with virtual addresses:  ***/
-
-#ifdef XSHAL_IOBLOCK_BYPASS_VADDR
-
-/*  Flash Memory: */
-# define XTBOARD_FLASH_VADDR        (XSHAL_IOBLOCK_BYPASS_VADDR+XTBOARD_FLASH_IO_OFS)
-
-/*  FPGA registers:  */
-# define XTBOARD_FPGAREGS_VADDR     (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D020000)
-
-/*  Ethernet controller/transceiver SONIC SN83934:  */
-# define ETHERNET_VADDR             (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D030000)
-
-
-/*  UART National-Semi PC16550D:  */
-# define UART16550_VADDR            (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D050000)
-
-/*  I2S transmitter */
-# define AUDIO_I2S_OUT_VADDR        (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D080000)
-
-/*  I2S receiver */
-# define AUDIO_I2S_IN_VADDR         (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D088000)
-
-/*  I2C master */
-# define I2C_VADDR                  (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D090000)
-
-/*  SPI controller */
-# define SPI_VADDR                  (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D0A0000)
-
-/*  Display controller Sunplus SPLC780D, 4bit mode, 
- *  LCD Display MYTech MOC-16216B-B: */
-# define SPLC780D_4BIT_VADDR       (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D0C0000)
-
-/*  USB Controller */
-# define USB_VADDR                  (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D0D0000)
-
-/*  Ethernet buffer:  */
-# define ETHERNET_BUFFER_VADDR      (XSHAL_IOBLOCK_BYPASS_VADDR+0x0D800000)
-
-#endif /* XSHAL_IOBLOCK_BYPASS_VADDR */
-
-/*  These devices might be accessed cached:  */
-#ifdef XSHAL_IOBLOCK_CACHED_VADDR
-# define XTBOARD_FLASH_CACHED_VADDR   (XSHAL_IOBLOCK_CACHED_VADDR+XTBOARD_FLASH_IO_OFS)
-# define ETHERNET_BUFFER_CACHED_VADDR (XSHAL_IOBLOCK_CACHED_VADDR+0x0D800000)
-#endif /* XSHAL_IOBLOCK_CACHED_VADDR */
-
-
-/*  System ROM:  */
-#define XTBOARD_ROM_SIZE        XSHAL_ROM_SIZE
-#ifdef XSHAL_ROM_VADDR
-#define XTBOARD_ROM_VADDR       XSHAL_ROM_VADDR
-#endif
-#ifdef XSHAL_ROM_PADDR
-#define XTBOARD_ROM_PADDR       XSHAL_ROM_PADDR
-#endif
-
-/*  System RAM:  */
-#define XTBOARD_RAM_SIZE        XSHAL_RAM_SIZE
-#ifdef XSHAL_RAM_VADDR
-#define XTBOARD_RAM_VADDR       XSHAL_RAM_VADDR
-#endif
-#ifdef XSHAL_RAM_PADDR
-#define XTBOARD_RAM_PADDR       XSHAL_RAM_PADDR
-#endif
-#define XTBOARD_RAM_BYPASS_VADDR    XSHAL_RAM_BYPASS_VADDR
-#define XTBOARD_RAM_BYPASS_PADDR    XSHAL_RAM_BYPASS_PADDR
-
-
-
-/*
- *  Things that depend on device addresses.
- */
-
-
-#define XTBOARD_CACHEATTR_WRITEBACK XSHAL_XT2000_CACHEATTR_WRITEBACK
-#define XTBOARD_CACHEATTR_WRITEALLOC    XSHAL_XT2000_CACHEATTR_WRITEALLOC
-#define XTBOARD_CACHEATTR_WRITETHRU XSHAL_XT2000_CACHEATTR_WRITETHRU
-#define XTBOARD_CACHEATTR_BYPASS    XSHAL_XT2000_CACHEATTR_BYPASS
-#define XTBOARD_CACHEATTR_DEFAULT   XSHAL_XT2000_CACHEATTR_DEFAULT
-
-#define XTBOARD_BUSINT_PIPE_REGIONS XSHAL_XT2000_PIPE_REGIONS
-#define XTBOARD_BUSINT_SDRAM_REGIONS    XSHAL_XT2000_SDRAM_REGIONS
-
-
-/*
- *  FPGA registers.
- *  All these registers are normally accessed using 32-bit loads/stores.
- */
-
-/*  Register offsets:  */
-#define XTBOARD_DATECD_OFS  0x00    /* date code (read-only) */
-#define XTBOARD_CLKFRQ_OFS  0x04    /* clock frequency Hz (read-only) */
-#define XTBOARD_SYSLED_OFS  0x08    /* LEDs */
-#define XTBOARD_DIPSW_OFS   0x0C    /* DIP switch bits (read-only) */
-#define XTBOARD_SWRST_OFS   0x10    /* software reset */
-
-/*  Physical register addresses:  */
-#ifdef XTBOARD_FPGAREGS_PADDR
-#define XTBOARD_DATECD_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_DATECD_OFS)
-#define XTBOARD_CLKFRQ_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_CLKFRQ_OFS)
-#define XTBOARD_SYSLED_PADDR    (XTBOARD_FPGAREGS_PADDR+XTBOARD_SYSLED_OFS)
-#define XTBOARD_DIPSW_PADDR (XTBOARD_FPGAREGS_PADDR+XTBOARD_DIPSW_OFS)
-#define XTBOARD_SWRST_PADDR (XTBOARD_FPGAREGS_PADDR+XTBOARD_SWRST_OFS)
-#endif
-
-/*  Virtual register addresses:  */
-#ifdef XTBOARD_FPGAREGS_VADDR
-#define XTBOARD_DATECD_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_DATECD_OFS)
-#define XTBOARD_CLKFRQ_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_CLKFRQ_OFS)
-#define XTBOARD_SYSLED_VADDR    (XTBOARD_FPGAREGS_VADDR+XTBOARD_SYSLED_OFS)
-#define XTBOARD_DIPSW_VADDR (XTBOARD_FPGAREGS_VADDR+XTBOARD_DIPSW_OFS)
-#define XTBOARD_SWRST_VADDR (XTBOARD_FPGAREGS_VADDR+XTBOARD_SWRST_OFS)
-/*  Register access (for C code):  */
-#define XTBOARD_DATECD_REG  (*(volatile unsigned*) XTBOARD_DATECD_VADDR)
-#define XTBOARD_CLKFRQ_REG  (*(volatile unsigned*) XTBOARD_CLKFRQ_VADDR)
-#define XTBOARD_SYSLED_REG  (*(volatile unsigned*) XTBOARD_SYSLED_VADDR)
-#define XTBOARD_DIPSW_REG   (*(volatile unsigned*) XTBOARD_DIPSW_VADDR)
-#define XTBOARD_SWRST_REG   (*(volatile unsigned*) XTBOARD_SWRST_VADDR)
-#endif
-
-/*  DATECD (date code; when core was built) bit fields:  */
-/*  BCD-coded month (01..12):  */
-#define XTBOARD_DATECD_MONTH_SHIFT  24
-#define XTBOARD_DATECD_MONTH_BITS   8
-#define XTBOARD_DATECD_MONTH_MASK   0xFF000000
-/*  BCD-coded day (01..31):  */
-#define XTBOARD_DATECD_DAY_SHIFT    16
-#define XTBOARD_DATECD_DAY_BITS     8
-#define XTBOARD_DATECD_DAY_MASK     0x00FF0000
-/*  BCD-coded year (2001..9999):  */
-#define XTBOARD_DATECD_YEAR_SHIFT   0
-#define XTBOARD_DATECD_YEAR_BITS    16
-#define XTBOARD_DATECD_YEAR_MASK    0x0000FFFF
-
-/*  SYSLED (system LED) bit fields:  */
-
-/*  LED control bits (off=0, on=1):  */
-#define XTBOARD_SYSLED_USER_SHIFT   0
-#define XTBOARD_SYSLED_USER_BITS    2
-#define XTBOARD_SYSLED_USER_MASK    0x00000003
-
-/*  DIP Switch SW? (left=sw1=lsb=bit0, right=sw4=msb=bit3; off=0, on=1): */
-/*  DIP switch bit fields (bit2/sw3 is reserved and presently unused):  */
-#if XTBOARD_IS_KC705
-#define XTBOARD_DIPSW_USER_SHIFT    0
-#define XTBOARD_DIPSW_USER_BITS     2
-#define XTBOARD_DIPSW_USER_MASK     0x00000003
-#define XTBOARD_DIPSW_BOOT_SHIFT    3
-#define XTBOARD_DIPSW_BOOT_BITS     1
-#define XTBOARD_DIPSW_BOOT_MASK     0x00000008
-#else /* ML605: */
-#define XTBOARD_DIPSW_USER_SHIFT    0
-#define XTBOARD_DIPSW_USER_BITS     6
-#define XTBOARD_DIPSW_USER_MASK     0x0000003F
-#define XTBOARD_DIPSW_BOOT_SHIFT    7
-#define XTBOARD_DIPSW_BOOT_BITS     1
-#define XTBOARD_DIPSW_BOOT_MASK     0x00000080
-#endif /*ML605*/
-#define XTBOARD_DIPSW_BOOT_RAM      (0<<XTBOARD_DIPSW_BOOT_SHIFT) /* off */
-#define XTBOARD_DIPSW_BOOT_FLASH    (1<<XTBOARD_DIPSW_BOOT_SHIFT) /* on */
-
-/*  SWRST (software reset; allows s/w to generate power-on equivalent reset): */
-/*  Software reset bits:  */
-#define XTBOARD_SWRST_SWR_SHIFT     0
-#define XTBOARD_SWRST_SWR_BITS      16
-#define XTBOARD_SWRST_SWR_MASK      0x0000FFFF
-/*  Software reset value -- writing this value resets the board:  */
-#define XTBOARD_SWRST_RESETVALUE    0x0000DEAD
-
-
-#endif /*_INC_ML605_H_*/
-
diff --git a/components/esp32/include/xtensa/xtml605/xtensa/board.h b/components/esp32/include/xtensa/xtml605/xtensa/board.h
deleted file mode 100644 (file)
index 5ec5da6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * board.h  -  Include board-specific definitions
- *
- * Copyright (c) 2011 by Tensilica Inc.  ALL RIGHTS RESERVED.
- * These coded instructions, statements, and computer programs are the
- * copyrighted works and confidential proprietary information of Tensilica Inc.
- * They may not be modified, copied, reproduced, distributed, or disclosed to
- * third parties in any manner, medium, or form, in whole or in part, without
- * the prior written consent of Tensilica Inc.
- */
-
-#include <xtensa/xtml605.h>
-
diff --git a/components/esp32/include/xtensa/xtutil.h b/components/esp32/include/xtensa/xtutil.h
deleted file mode 100644 (file)
index fb05c37..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-
-/* $Id$ */
-/*******************************************************************************/
-/* Copyright (c) 2001-2013 by Tensilica Inc.  ALL RIGHTS RESERVED.             */
-/* These coded instructions, statements, and computer programs are the         */
-/* copyrighted works and confidential proprietary information of Tensilica Inc.*/
-/* They may not be modified, copied, reproduced, distributed, or disclosed to  */
-/* third parties in any manner, medium, or form, in whole or in part, without  */
-/* the prior written consent of Tensilica Inc.                                 */
-/*******************************************************************************/
-
-#ifndef XTUTIL_H
-#define XTUTIL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stdarg.h>
-
-extern int  xt_putchar(int c);
-extern int  xt_puts(const char * s);
-extern void xt_putn(unsigned n);
-extern int  xt_atoi(const char * s);
-extern int  xt_printf(const char *fmt, ...);
-extern int  xt_sprintf(char * buf, const char * fmt, ...);
-
-typedef int xt_output_fn(int *, int, const void *, int);
-extern xt_output_fn * xt_set_output_fn(xt_output_fn * fn);
-
-#ifdef XTUTIL_LIB
-
-// Only defined if building library
-
-typedef void (xt_outbuf_fn)(void *, char *, int);
-
-extern int  xt_vprintf(xt_outbuf_fn * out, void * outarg, const char * fmt, va_list ap);
-
-#else
-
-// Only defined if building application and overriding
-
-#ifndef XTUTIL_NO_OVERRIDE
-
-#define putchar     xt_putchar
-#define puts        xt_puts
-#define putn        xt_putn
-#define atoi        xt_atoi
-#define printf      xt_printf
-#define sprintf     xt_sprintf
-
-#endif // XTUTIL_NO_OVERRIDE
-
-#endif // XTUTIL_LIB
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // XTUTIL_H
-
index df5c071d17f1d998e87f4fcb981ab85a07e3fbe3..6b98b826906dfef392639c2e640a5cd6ea322687 100644 (file)
@@ -74,7 +74,6 @@ extern "C" {
 
 #include <stdint.h>
 
-#include <xtensa/tie/xt_core.h>
 #include <xtensa/hal.h>
 #include <xtensa/config/core.h>
 #include <xtensa/config/system.h>      /* required for XSHAL_CLIB */
index e5982b83a5402814551936fd8371d8180e454d6e..25d42da59bc69b287a235e17b7b8bcf5efd17dbb 100644 (file)
@@ -50,7 +50,6 @@ Should be included by all Xtensa generic and RTOS port-specific sources.
 
 #include    <xtensa/corebits.h>
 #include    <xtensa/config/system.h>
-#include    <xtensa/simcall.h>
 
 /*
 Include any RTOS specific definitions that are needed by this header.