mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 03:13:44 +08:00
355b194369
Historically the qemu tlb "addend" field was used for both RAM and IO accesses, so needed to be able to hold both host addresses (unsigned long) and guest physical addresses (target_phys_addr_t). However since the introduction of the iotlb field it has only been used for RAM accesses. This means we can change the type of addend to unsigned long, and remove associated hacks in the big-endian TCG backends. We can also remove the host dependence from target_phys_addr_t. Signed-off-by: Paul Brook <paul@codesourcery.com>
22 lines
538 B
C
22 lines
538 B
C
/* 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"
|
|
#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
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|