Commit ab6d960ffa1271db6866fc2b27e97e99a73598d2
1 parent
fbf9eeb3
added target_phys_addr_t
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@756 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
15 additions
and
0 deletions
cpu-defs.h
... | ... | @@ -29,8 +29,13 @@ |
29 | 29 | #error TARGET_LONG_BITS must be defined before including this header |
30 | 30 | #endif |
31 | 31 | |
32 | +#ifndef TARGET_PHYS_ADDR_BITS | |
33 | +#define TARGET_PHYS_ADDR_BITS TARGET_LONG_BITS | |
34 | +#endif | |
35 | + | |
32 | 36 | #define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8) |
33 | 37 | |
38 | +/* target_ulong is the type of a virtual address */ | |
34 | 39 | #if TARGET_LONG_SIZE == 4 |
35 | 40 | typedef int32_t target_long; |
36 | 41 | typedef uint32_t target_ulong; |
... | ... | @@ -41,6 +46,16 @@ typedef uint64_t target_ulong; |
41 | 46 | #error TARGET_LONG_SIZE undefined |
42 | 47 | #endif |
43 | 48 | |
49 | +/* target_phys_addr_t is the type of a physical address (its size can | |
50 | + be different from 'target_ulong') */ | |
51 | +#if TARGET_PHYS_ADDR_BITS == 32 | |
52 | +typedef uint32_t target_phys_addr_t; | |
53 | +#elif TARGET_PHYS_ADDR_BITS == 64 | |
54 | +typedef uint64_t target_phys_addr_t; | |
55 | +#else | |
56 | +#error TARGET_PHYS_ADDR_BITS undefined | |
57 | +#endif | |
58 | + | |
44 | 59 | #if defined(__alpha__) || defined (__ia64__) || defined(__x86_64__) |
45 | 60 | #define HOST_LONG_BITS 64 |
46 | 61 | #else | ... | ... |