blob: 99ab23c7a71cc1d126d66e3b4406a330df1fbd0c [file] [log] [blame]
Anthony Liguoric227f092009-10-01 16:12:16 -05001/* Define target_phys_addr_t if it exists. */
Paul Brook1ad21342009-05-19 16:17:58 +01002
3#ifndef TARGPHYS_H
4#define TARGPHYS_H
5
6#ifdef TARGET_PHYS_ADDR_BITS
Anthony Liguoric227f092009-10-01 16:12:16 -05007/* target_phys_addr_t is the type of a physical address (its size can
Paul Brook1ad21342009-05-19 16:17:58 +01008 be different from 'target_ulong'). We have sizeof(target_phys_addr)
9 = max(sizeof(unsigned long),
10 sizeof(size_of_target_physical_address)) because we must pass a
11 host pointer to memory operations in some cases */
12
13#if TARGET_PHYS_ADDR_BITS == 32
Anthony Liguoric227f092009-10-01 16:12:16 -050014typedef uint32_t target_phys_addr_t;
Jan Kiszka9fa06382009-05-22 23:51:45 +020015#define TARGET_PHYS_ADDR_MAX UINT32_MAX
Paul Brook1ad21342009-05-19 16:17:58 +010016#define TARGET_FMT_plx "%08x"
17#elif TARGET_PHYS_ADDR_BITS == 64
Anthony Liguoric227f092009-10-01 16:12:16 -050018typedef uint64_t target_phys_addr_t;
Jan Kiszka9fa06382009-05-22 23:51:45 +020019#define TARGET_PHYS_ADDR_MAX UINT64_MAX
Paul Brook1ad21342009-05-19 16:17:58 +010020#define TARGET_FMT_plx "%016" PRIx64
21#endif
22#endif
23
24#endif