sync with latest
[sdk/emulator/qemu.git] / targphys.h
1 /* Define target_phys_addr_t if it exists.  */
2
3 #ifndef TARGPHYS_H
4 #define TARGPHYS_H
5
6 #ifdef TARGET_PHYS_ADDR_BITS
7 /* target_phys_addr_t is the type of a physical address (its size can
8    be different from 'target_ulong').  */
9
10 #if TARGET_PHYS_ADDR_BITS == 32
11 typedef uint32_t target_phys_addr_t;
12 #define TARGET_PHYS_ADDR_MAX UINT32_MAX
13 #define TARGET_FMT_plx "%08x"
14 /* Format strings for printing target_phys_addr_t types.
15  * These are recommended over the less flexible TARGET_FMT_plx,
16  * which is retained for the benefit of existing code.
17  */
18 #define TARGET_PRIdPHYS PRId32
19 #define TARGET_PRIiPHYS PRIi32
20 #define TARGET_PRIoPHYS PRIo32
21 #define TARGET_PRIuPHYS PRIu32
22 #define TARGET_PRIxPHYS PRIx32
23 #define TARGET_PRIXPHYS PRIX32
24 #elif TARGET_PHYS_ADDR_BITS == 64
25 typedef uint64_t target_phys_addr_t;
26 #define TARGET_PHYS_ADDR_MAX UINT64_MAX
27 #define TARGET_FMT_plx "%016" PRIx64
28 #define TARGET_PRIdPHYS PRId64
29 #define TARGET_PRIiPHYS PRIi64
30 #define TARGET_PRIoPHYS PRIo64
31 #define TARGET_PRIuPHYS PRIu64
32 #define TARGET_PRIxPHYS PRIx64
33 #define TARGET_PRIXPHYS PRIX64
34 #endif
35 #endif
36
37 #endif