Commit ab6d960ffa1271db6866fc2b27e97e99a73598d2

Authored by bellard
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,8 +29,13 @@
29 #error TARGET_LONG_BITS must be defined before including this header 29 #error TARGET_LONG_BITS must be defined before including this header
30 #endif 30 #endif
31 31
  32 +#ifndef TARGET_PHYS_ADDR_BITS
  33 +#define TARGET_PHYS_ADDR_BITS TARGET_LONG_BITS
  34 +#endif
  35 +
32 #define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8) 36 #define TARGET_LONG_SIZE (TARGET_LONG_BITS / 8)
33 37
  38 +/* target_ulong is the type of a virtual address */
34 #if TARGET_LONG_SIZE == 4 39 #if TARGET_LONG_SIZE == 4
35 typedef int32_t target_long; 40 typedef int32_t target_long;
36 typedef uint32_t target_ulong; 41 typedef uint32_t target_ulong;
@@ -41,6 +46,16 @@ typedef uint64_t target_ulong; @@ -41,6 +46,16 @@ typedef uint64_t target_ulong;
41 #error TARGET_LONG_SIZE undefined 46 #error TARGET_LONG_SIZE undefined
42 #endif 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 #if defined(__alpha__) || defined (__ia64__) || defined(__x86_64__) 59 #if defined(__alpha__) || defined (__ia64__) || defined(__x86_64__)
45 #define HOST_LONG_BITS 64 60 #define HOST_LONG_BITS 64
46 #else 61 #else