+2021-06-19 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac: Replace ALL_INLINE with ALL_C_INLINE and
+ PSIM_INLINE_LOCALS with INLINE_LOCALS.
+ * inline.h: Likewise.
+ * options.c: Likewise.
+ * std-config.h: Likewise. Include sim-inline.h explicitly.
+ (REVEAL_MODULE): Define to H_REVEALS_MODULE.
+ (INLINE_MODULE): Define to C_REVEALS_MODULE.
+ (PSIM_INLINE_LOCALS): Delete.
+ (ALL_INLINE): Delete.
+ * configure: Regenerate.
+
2021-06-19 Mike Frysinger <vapier@gentoo.org>
* Makefile.in: Move intl vars to ../arch-subdir.mk.in.
case "$enableval" in
no) sim_inline="-DDEFAULT_INLINE=0";;
0) sim_inline="-DDEFAULT_INLINE=0";;
- yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_INLINE";;
- 1) sim_inline="-DDEFAULT_INLINE=PSIM_INLINE_LOCALS";;
+ yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
+ 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
*) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
new_flag=""
case "$x" in
*_INLINE=*) new_flag="-D$x";;
*=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
- *_INLINE) new_flag="-D$x=ALL_INLINE";;
- *) new_flag="-D$x""_INLINE=ALL_INLINE";;
+ *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
+ *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
esac
if test x"$sim_inline" = x""; then
sim_inline="$new_flag"
fi
else
if test x"$GCC" != ""; then
- sim_inline="-DDEFAULT_INLINE=PSIM_INLINE_LOCALS"
+ sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS"
if test x"$silent" != x"yes"; then
echo "Setting inline flags = $sim_inline" 6>&1
fi
case "$enableval" in
no) sim_inline="-DDEFAULT_INLINE=0";;
0) sim_inline="-DDEFAULT_INLINE=0";;
- yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_INLINE";;
- 1) sim_inline="-DDEFAULT_INLINE=PSIM_INLINE_LOCALS";;
+ yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
+ 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
*) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
new_flag=""
case "$x" in
*_INLINE=*) new_flag="-D$x";;
*=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
- *_INLINE) new_flag="-D$x=ALL_INLINE";;
- *) new_flag="-D$x""_INLINE=ALL_INLINE";;
+ *_INLINE) new_flag="-D$x=ALL_C_INLINE";;
+ *) new_flag="-D$x""_INLINE=ALL_C_INLINE";;
esac
if test x"$sim_inline" = x""; then
sim_inline="$new_flag"
if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
echo "Setting inline flags = $sim_inline" 6>&1
fi],[if test x"$GCC" != ""; then
- sim_inline="-DDEFAULT_INLINE=PSIM_INLINE_LOCALS"
+ sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS"
if test x"$silent" != x"yes"; then
echo "Setting inline flags = $sim_inline" 6>&1
fi
# define EXTERN_PSIM_ENDIAN(TYPE) TYPE
#endif
-#if (SIM_ENDIAN_INLINE & PSIM_INLINE_LOCALS)
+#if (SIM_ENDIAN_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_PSIM_ENDIAN(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_PSIM_ENDIAN(TYPE) static TYPE
# define EXTERN_BITS(TYPE) TYPE
#endif
-#if (BITS_INLINE & PSIM_INLINE_LOCALS)
+#if (BITS_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_BITS(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_BITS(TYPE) static TYPE
# define EXTERN_CORE(TYPE) TYPE
#endif
-#if (CORE_INLINE & PSIM_INLINE_LOCALS)
+#if (CORE_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_CORE(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_CORE(TYPE) static TYPE
# define EXTERN_VM(TYPE) TYPE
#endif
-#if (VM_INLINE & PSIM_INLINE_LOCALS)
+#if (VM_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_VM(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_VM(TYPE) static TYPE
# define EXTERN_CPU(TYPE) TYPE
#endif
-#if (CPU_INLINE & PSIM_INLINE_LOCALS)
+#if (CPU_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_CPU(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_CPU(TYPE) static TYPE
# define EXTERN_MODEL(TYPE) TYPE
#endif
-#if (MODEL_INLINE & PSIM_INLINE_LOCALS)
+#if (MODEL_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_MODEL(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_MODEL(TYPE) static TYPE
# define EXTERN_EVENTS(TYPE) TYPE
#endif
-#if (EVENTS_INLINE & PSIM_INLINE_LOCALS)
+#if (EVENTS_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_EVENTS(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_EVENTS(TYPE) static TYPE
# define EXTERN_MON(TYPE) TYPE
#endif
-#if (MON_INLINE & PSIM_INLINE_LOCALS)
+#if (MON_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_MON(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_MON(TYPE) static TYPE
# define EXTERN_REGISTERS(TYPE) TYPE
#endif
-#if (REGISTERS_INLINE & PSIM_INLINE_LOCALS)
+#if (REGISTERS_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_REGISTERS(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_REGISTERS(TYPE) static TYPE
# define EXTERN_INTERRUPTS(TYPE) TYPE
#endif
-#if (INTERRUPTS_INLINE & PSIM_INLINE_LOCALS)
+#if (INTERRUPTS_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_INTERRUPTS(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_INTERRUPTS(TYPE) static TYPE
# define EXTERN_DEVICE(TYPE) TYPE
#endif
-#if (DEVICE_INLINE & PSIM_INLINE_LOCALS)
+#if (DEVICE_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_DEVICE(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_DEVICE(TYPE) static TYPE
# define EXTERN_TREE(TYPE) TYPE
#endif
-#if (TREE_INLINE & PSIM_INLINE_LOCALS)
+#if (TREE_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_TREE(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_TREE(TYPE) static TYPE
# define EXTERN_SPREG(TYPE) TYPE
#endif
-#if (SPREG_INLINE & PSIM_INLINE_LOCALS)
+#if (SPREG_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_SPREG(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_SPREG(TYPE) static TYPE
#endif
#if 0 /* this isn't used */
-#if (SEMANTICS_INLINE & PSIM_INLINE_LOCALS)
+#if (SEMANTICS_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_SEMANTICS(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_SEMANTICS(TYPE) static TYPE
#endif
#if 0 /* this isn't used */
-#if (IDECODE_INLINE & PSIM_INLINE_LOCALS)
+#if (IDECODE_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_IDECODE(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_IDECODE(TYPE) static TYPE
#endif
#if 0 /* this isn't used */
-#if (ICACHE_INLINE & PSIM_INLINE_LOCALS)
+#if (ICACHE_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_ICACHE(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_ICACHE(TYPE) static TYPE
#endif
#if 0 /* this isn't used */
-#if (SUPPORT_INLINE & PSIM_INLINE_LOCALS)
+#if (SUPPORT_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_SUPPORT(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_SUPPORT(TYPE) static TYPE
# define EXTERN_OPTIONS(TYPE) TYPE
#endif
-#if (OPTIONS_INLINE & PSIM_INLINE_LOCALS)
+#if (OPTIONS_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_OPTIONS(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_OPTIONS(TYPE) static TYPE
# define EXTERN_OS_EMUL(TYPE) TYPE
#endif
-#if (OS_EMUL_INLINE & PSIM_INLINE_LOCALS)
+#if (OS_EMUL_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_OS_EMUL(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_OS_EMUL(TYPE) static TYPE
# define EXTERN_PSIM(TYPE) TYPE
#endif
-#if (PSIM_INLINE & PSIM_INLINE_LOCALS)
+#if (PSIM_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_PSIM(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_PSIM(TYPE) static TYPE
# define EXTERN_CAP(TYPE) TYPE
#endif
-#if (CAP_INLINE & PSIM_INLINE_LOCALS)
+#if (CAP_INLINE & INLINE_LOCALS)
# define STATIC_INLINE_CAP(TYPE) static INLINE TYPE
#else
# define STATIC_INLINE_CAP(TYPE) static TYPE
case /*1*/ REVEAL_MODULE: return "REVEAL_MODULE";
case /*2*/ INLINE_MODULE: return "INLINE_MODULE";
case /*3*/ REVEAL_MODULE|INLINE_MODULE: return "REVEAL_MODULE|INLINE_MODULE";
- case /*4*/ PSIM_INLINE_LOCALS: return "PSIM_LOCALS_INLINE";
- case /*5*/ PSIM_INLINE_LOCALS|REVEAL_MODULE: return "PSIM_INLINE_LOCALS|REVEAL_MODULE";
- case /*6*/ PSIM_INLINE_LOCALS|INLINE_MODULE: return "PSIM_INLINE_LOCALS|INLINE_MODULE";
- case /*7*/ ALL_INLINE: return "ALL_INLINE";
+ case /*4*/ INLINE_LOCALS: return "INLINE_LOCALS";
+ case /*5*/ INLINE_LOCALS|REVEAL_MODULE: return "INLINE_LOCALS|REVEAL_MODULE";
+ case /*6*/ INLINE_LOCALS|INLINE_MODULE: return "INLINE_LOCALS|INLINE_MODULE";
+ case /*7*/ ALL_C_INLINE: return "ALL_C_INLINE";
}
return "0";
}
the module is included into a file being compiled, calls to
its funtions can be eliminated. 2 implies 1.
- PSIM_INLINE_LOCALS:
+ INLINE_LOCALS:
Make internal (static) functions within the module `inline'.
INCLUDE_MODULE == (REVEAL_MODULE | INLINE_MODULE)
- ALL_INLINE == (REVEAL_MODULE | INLINE_MODULE | PSIM_INLINE_LOCALS)
+ ALL_C_INLINE == (REVEAL_MODULE | INLINE_MODULE | INLINE_LOCALS)
In addition to this, modules have been put into two categories.
*/
-#define REVEAL_MODULE 1
-#define INLINE_MODULE 2
+#include "../common/sim-inline.h"
+#define REVEAL_MODULE H_REVEALS_MODULE
+#define INLINE_MODULE C_REVEALS_MODULE
#define INCLUDE_MODULE (INLINE_MODULE | REVEAL_MODULE)
-#define PSIM_INLINE_LOCALS 4
-#define ALL_INLINE 7
/* Your compilers inline reserved word */
/* Default macro to simplify control several of key the inlines */
#ifndef DEFAULT_INLINE
-#define DEFAULT_INLINE PSIM_INLINE_LOCALS
+#define DEFAULT_INLINE INLINE_LOCALS
#endif
/* Code that converts between hosts and target byte order. Used on
can inline for all callers */
#ifndef SIM_ENDIAN_INLINE
-#define SIM_ENDIAN_INLINE (DEFAULT_INLINE ? ALL_INLINE : 0)
+#define SIM_ENDIAN_INLINE (DEFAULT_INLINE ? ALL_C_INLINE : 0)
#endif
/* Low level bit manipulation routines. This module can inline for all
callers */
#ifndef BITS_INLINE
-#define BITS_INLINE (DEFAULT_INLINE ? ALL_INLINE : 0)
+#define BITS_INLINE (DEFAULT_INLINE ? ALL_C_INLINE : 0)
#endif
/* Code that gives access to various CPU internals such as registers.
Used every time an instruction is executed */
#ifndef CPU_INLINE
-#define CPU_INLINE (DEFAULT_INLINE ? ALL_INLINE : 0)
+#define CPU_INLINE (DEFAULT_INLINE ? ALL_C_INLINE : 0)
#endif
/* Code that translates between an effective and real address. Used
Called once per instruction cycle */
#ifndef EVENTS_INLINE
-#define EVENTS_INLINE (DEFAULT_INLINE ? ALL_INLINE : 0)
+#define EVENTS_INLINE (DEFAULT_INLINE ? ALL_C_INLINE : 0)
#endif
/* Code monotoring the processors performance. It counts events on
every instruction cycle */
#ifndef MON_INLINE
-#define MON_INLINE (DEFAULT_INLINE ? ALL_INLINE : 0)
+#define MON_INLINE (DEFAULT_INLINE ? ALL_C_INLINE : 0)
#endif
/* Code called on the rare occasions that an interrupt occures. */
a jump table. */
#ifndef DEVICE_INLINE
-#define DEVICE_INLINE (DEFAULT_INLINE ? PSIM_INLINE_LOCALS : 0)
+#define DEVICE_INLINE (DEFAULT_INLINE ? INLINE_LOCALS : 0)
#endif
/* Code called used while the device tree is being built.
Inlining this is of no benefit */
#ifndef TREE_INLINE
-#define TREE_INLINE (DEFAULT_INLINE ? PSIM_INLINE_LOCALS : 0)
+#define TREE_INLINE (DEFAULT_INLINE ? INLINE_LOCALS : 0)
#endif
/* Code called whenever information on a Special Purpose Register is
code is reduced. */
#ifndef SUPPORT_INLINE
-#define SUPPORT_INLINE PSIM_INLINE_LOCALS
+#define SUPPORT_INLINE INLINE_LOCALS
#endif
/* Model specific code used in simulating functional units. Note, it actaully
into this file */
#ifndef IDECOCE_INLINE
-#define IDECODE_INLINE PSIM_INLINE_LOCALS
+#define IDECODE_INLINE INLINE_LOCALS
#endif
/* psim, isn't actually inlined */
#ifndef PSIM_INLINE
-#define PSIM_INLINE PSIM_INLINE_LOCALS
+#define PSIM_INLINE INLINE_LOCALS
#endif
/* Code to emulate os or rom compatibility. This code is called via a