]>
Commit | Line | Data |
---|---|---|
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 |