summaryrefslogtreecommitdiff
path: root/targphys.h
blob: bd4938fc02dabcacbbb1a6ca40810b8103cd58d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* Define target_phys_addr_t if it exists.  */

#ifndef TARGPHYS_H
#define TARGPHYS_H

#ifdef TARGET_PHYS_ADDR_BITS
/* target_phys_addr_t is the type of a physical address (its size can
   be different from 'target_ulong').  */

#if TARGET_PHYS_ADDR_BITS == 32
typedef uint32_t target_phys_addr_t;
#define TARGET_PHYS_ADDR_MAX UINT32_MAX
#define TARGET_FMT_plx "%08x"
/* Format strings for printing target_phys_addr_t types.
 * These are recommended over the less flexible TARGET_FMT_plx,
 * which is retained for the benefit of existing code.
 */
#define TARGET_PRIdPHYS PRId32
#define TARGET_PRIiPHYS PRIi32
#define TARGET_PRIoPHYS PRIo32
#define TARGET_PRIuPHYS PRIu32
#define TARGET_PRIxPHYS PRIx32
#define TARGET_PRIXPHYS PRIX32
#elif TARGET_PHYS_ADDR_BITS == 64
typedef uint64_t target_phys_addr_t;
#define TARGET_PHYS_ADDR_MAX UINT64_MAX
#define TARGET_FMT_plx "%016" PRIx64
#define TARGET_PRIdPHYS PRId64
#define TARGET_PRIiPHYS PRIi64
#define TARGET_PRIoPHYS PRIo64
#define TARGET_PRIuPHYS PRIu64
#define TARGET_PRIxPHYS PRIx64
#define TARGET_PRIXPHYS PRIX64
#endif
#endif

#endif