aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/cpu-all.h
diff options
context:
space:
mode:
authorChristian Limpach <Christian.Limpach@xensource.com>2007-05-09 14:17:15 +0100
committerChristian Limpach <Christian.Limpach@xensource.com>2007-05-09 14:17:15 +0100
commitc74a52ad23410989950f58f905f0c9f392cb2acf (patch)
tree449594c4dfc73573587fcb60606fd2e06ad395a1 /tools/ioemu/cpu-all.h
parent15f6eaada976ef05ea329db34f599619907ecedc (diff)
downloadxen-c74a52ad23410989950f58f905f0c9f392cb2acf.tar.gz
xen-c74a52ad23410989950f58f905f0c9f392cb2acf.tar.bz2
xen-c74a52ad23410989950f58f905f0c9f392cb2acf.zip
[ioemu] Update to qemu 0.90.
Signed-off-by: Christian Limpach <Christian.Limpach@xensource.com>
Diffstat (limited to 'tools/ioemu/cpu-all.h')
-rw-r--r--tools/ioemu/cpu-all.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/ioemu/cpu-all.h b/tools/ioemu/cpu-all.h
index a3c04f7083..1c4d4406a0 100644
--- a/tools/ioemu/cpu-all.h
+++ b/tools/ioemu/cpu-all.h
@@ -727,6 +727,13 @@ void page_unprotect_range(target_ulong data, target_ulong data_size);
#define cpu_gen_code cpu_ppc_gen_code
#define cpu_signal_handler cpu_ppc_signal_handler
+#elif defined(TARGET_M68K)
+#define CPUState CPUM68KState
+#define cpu_init cpu_m68k_init
+#define cpu_exec cpu_m68k_exec
+#define cpu_gen_code cpu_m68k_gen_code
+#define cpu_signal_handler cpu_m68k_signal_handler
+
#elif defined(TARGET_MIPS)
#define CPUState CPUMIPSState
#define cpu_init cpu_mips_init
@@ -770,6 +777,7 @@ extern int code_copy_enabled;
#define CPU_INTERRUPT_TIMER 0x08 /* internal timer exception pending */
#define CPU_INTERRUPT_FIQ 0x10 /* Fast interrupt pending. */
#define CPU_INTERRUPT_HALT 0x20 /* CPU halt wanted */
+#define CPU_INTERRUPT_SMI 0x40 /* (x86 only) SMI interrupt pending */
void cpu_interrupt(CPUState *s, int mask);
void cpu_reset_interrupt(CPUState *env, int mask);
@@ -889,6 +897,7 @@ typedef uint32_t CPUReadMemoryFunc(void *opaque, target_phys_addr_t addr);
void cpu_register_physical_memory(target_phys_addr_t start_addr,
unsigned long size,
unsigned long phys_offset);
+uint32_t cpu_get_physical_page_desc(target_phys_addr_t addr);
int cpu_register_io_memory(int io_index,
CPUReadMemoryFunc **mem_read,
CPUWriteMemoryFunc **mem_write,
@@ -1042,6 +1051,15 @@ static inline int64_t cpu_get_real_ticks (void)
return rval.i64;
#endif
}
+#else
+/* The host CPU doesn't have an easily accessible cycle counter.
+ Just return a monotonically increasing vlue. This will be totally wrong,
+ but hopefully better than nothing. */
+static inline int64_t cpu_get_real_ticks (void)
+{
+ static int64_t ticks = 0;
+ return ticks++;
+}
#endif
/* profiling */