@@ -21,6 +21,7 @@
#define ARM_VIRTIO_MMIO_SIZE (ARM_AXI_AREA - (ARM_MMIO_AREA + ARM_GIC_SIZE))
#define ARM_PCI_MMIO_SIZE (ARM_MEMORY_AREA - ARM_AXI_AREA)
+#define KVM_IOPORT_AREA ARM_IOPORT_AREA
#define KVM_PCI_MMIO_AREA ARM_AXI_AREA
#define KVM_VIRTIO_MMIO_AREA ARM_MMIO_AREA
@@ -28,8 +29,8 @@
static inline bool arm_addr_in_ioport_region(u64 phys_addr)
{
- u64 limit = ARM_IOPORT_AREA + ARM_IOPORT_SIZE;
- return phys_addr >= ARM_IOPORT_AREA && phys_addr < limit;
+ u64 limit = KVM_IOPORT_AREA + ARM_IOPORT_SIZE;
+ return phys_addr >= KVM_IOPORT_AREA && phys_addr < limit;
}
static inline bool arm_addr_in_virtio_mmio_region(u64 phys_addr)
@@ -37,6 +37,7 @@
* This is the address that pci_get_io_space_block() starts allocating
* from. Note that this is a PCI bus address.
*/
+#define KVM_IOPORT_AREA 0x0
#define KVM_PCI_MMIO_AREA 0x1000000
#define KVM_VIRTIO_MMIO_AREA 0x2000000
@@ -20,6 +20,7 @@
/* This is the address that pci_get_io_space_block() starts allocating
* from. Note that this is a PCI bus address (though same on x86).
*/
+#define KVM_IOPORT_AREA 0x0
#define KVM_PCI_MMIO_AREA (KVM_MMIO_START + 0x1000000)
#define KVM_VIRTIO_MMIO_AREA (KVM_MMIO_START + 0x2000000)
Architectures without a legacy ioport may wish to emulate one, but not at address 0x0. This patch introduces KVM_IOPORT_AREA, which each architecture defines to be the start of the ioport region (i.e. where port addresses are offset from). Signed-off-by: Will Deacon <will.deacon@arm.com> --- tools/kvm/arm/include/arm-common/kvm-arch.h | 5 +++-- tools/kvm/powerpc/include/kvm/kvm-arch.h | 1 + tools/kvm/x86/include/kvm/kvm-arch.h | 1 + 3 files changed, 5 insertions(+), 2 deletions(-)