]>
Commit | Line | Data |
---|---|---|
c227f099 | 1 | /* Define target_phys_addr_t if it exists. */ |
1ad2134f PB |
2 | |
3 | #ifndef TARGPHYS_H | |
4 | #define TARGPHYS_H | |
5 | ||
6 | #ifdef TARGET_PHYS_ADDR_BITS | |
c227f099 | 7 | /* target_phys_addr_t is the type of a physical address (its size can |
355b1943 | 8 | be different from 'target_ulong'). */ |
1ad2134f PB |
9 | |
10 | #if TARGET_PHYS_ADDR_BITS == 32 | |
c227f099 | 11 | typedef uint32_t target_phys_addr_t; |
9fa06385 | 12 | #define TARGET_PHYS_ADDR_MAX UINT32_MAX |
1ad2134f | 13 | #define TARGET_FMT_plx "%08x" |
1e9be4b4 PM |
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 | |
1ad2134f | 24 | #elif TARGET_PHYS_ADDR_BITS == 64 |
c227f099 | 25 | typedef uint64_t target_phys_addr_t; |
9fa06385 | 26 | #define TARGET_PHYS_ADDR_MAX UINT64_MAX |
1ad2134f | 27 | #define TARGET_FMT_plx "%016" PRIx64 |
1e9be4b4 PM |
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 | |
1ad2134f PB |
34 | #endif |
35 | #endif | |
36 | ||
37 | #endif |