X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=cpu-defs.h;h=5e0f04674e6c01c0a2b1e7fad6e7da9d07825fe9;hb=d66846a14e191c75f4aa373623dd9a7aaa843ade;hp=e474152d507302a9c9a409053e9a2a07d232b479;hpb=5fafdf24ef2c090c164d4dc89684b3f379dbdd87;p=qemu diff --git a/cpu-defs.h b/cpu-defs.h index e474152..5e0f046 100644 --- a/cpu-defs.h +++ b/cpu-defs.h @@ -20,6 +20,10 @@ #ifndef CPU_DEFS_H #define CPU_DEFS_H +#ifndef NEED_CPU_H +#error cpu.h included from common code +#endif + #include "config.h" #include #include @@ -45,11 +49,13 @@ typedef int32_t target_long; typedef uint32_t target_ulong; #define TARGET_FMT_lx "%08x" #define TARGET_FMT_ld "%d" +#define TARGET_FMT_lu "%u" #elif TARGET_LONG_SIZE == 8 typedef int64_t target_long; typedef uint64_t target_ulong; #define TARGET_FMT_lx "%016" PRIx64 #define TARGET_FMT_ld "%" PRId64 +#define TARGET_FMT_lu "%" PRIu64 #else #error TARGET_LONG_SIZE undefined #endif @@ -110,15 +116,6 @@ typedef struct CPUTLBEntry { target_phys_addr_t addend; } CPUTLBEntry; -/* Alpha has 4 different running levels */ -#if defined(TARGET_ALPHA) -#define NB_MMU_MODES 4 -#elif defined(TARGET_PPC64H) /* PowerPC 64 with hypervisor mode support */ -#define NB_MMU_MODES 3 -#else -#define NB_MMU_MODES 2 -#endif - #define CPU_COMMON \ struct TranslationBlock *current_tb; /* currently executing TB */ \ /* soft mmu support */ \ @@ -129,7 +126,7 @@ typedef struct CPUTLBEntry { written */ \ target_ulong mem_write_vaddr; /* target virtual addr at which the \ memory was written */ \ - /* 0 = kernel, 1 = user */ \ + /* The meaning of the MMU modes is defined in the target code. */ \ CPUTLBEntry tlb_table[NB_MMU_MODES][CPU_TLB_SIZE]; \ struct TranslationBlock *tb_jmp_cache[TB_JMP_CACHE_SIZE]; \ \ @@ -149,6 +146,8 @@ typedef struct CPUTLBEntry { void *next_cpu; /* next CPU sharing TB cache */ \ int cpu_index; /* CPU index (informative) */ \ /* user data */ \ - void *opaque; + void *opaque; \ + \ + const char *cpu_model_str; #endif