summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tcg/arm/tcg-target.h')
-rw-r--r--tcg/arm/tcg-target.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h
index 8f5016fc4..7ff29281b 100644
--- a/tcg/arm/tcg-target.h
+++ b/tcg/arm/tcg-target.h
@@ -51,14 +51,19 @@ enum {
TCG_REG_R12,
TCG_REG_R13,
TCG_REG_R14,
- TCG_TARGET_NB_REGS
};
+#define TCG_TARGET_NB_REGS 15
+
+#define TCG_CT_CONST_ARM 0x100
+
/* used for function call generation */
#define TCG_REG_CALL_STACK TCG_REG_R13
#define TCG_TARGET_STACK_ALIGN 8
#define TCG_TARGET_CALL_STACK_OFFSET 0
+#define TCG_TARGET_HAS_GUEST_BASE
+
enum {
/* Note: must be synced with dyngen-exec.h */
TCG_AREG0 = TCG_REG_R7,
@@ -69,8 +74,7 @@ enum {
static inline void flush_icache_range(unsigned long start, unsigned long stop)
{
#if QEMU_GNUC_PREREQ(4, 1)
- void __clear_cache(char *beg, char *end);
- __clear_cache((char *) start, (char *) stop);
+ __builtin___clear_cache((char *) start, (char *) stop);
#else
register unsigned long _beg __asm ("a1") = start;
register unsigned long _end __asm ("a2") = stop;