kvm tools: Arch-specific define for PCI MMIO allocation area

pci_get_io_space_block() used to grab addresses from
KVM_32BIT_GAP_START + 0x1000000, which is x86-specific.  Create a new define,
KVM_PCI_MMIO_AREA, to specify a bus address these allocations can come from.

Signed-off-by: Matt Evans <matt@ozlabs.org>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
Matt Evans
2015-06-01 16:39:49 +01:00
committed by Will Deacon
parent d0297a59b5
commit 40f2fd063b
2 changed files with 11 additions and 2 deletions
+6 -2
View File
@@ -11,8 +11,12 @@ static struct pci_device_header *pci_devices[PCI_MAX_DEVICES];
static union pci_config_address pci_config_address;
/* This is within our PCI gap - in an unused area */
static u32 io_space_blocks = KVM_32BIT_GAP_START + 0x1000000;
/* This is within our PCI gap - in an unused area.
* Note this is a PCI *bus address*, is used to assign BARs etc.!
* (That's why it can still 32bit even with 64bit guests-- 64bit
* PCI isn't currently supported.)
*/
static u32 io_space_blocks = KVM_PCI_MMIO_AREA;
u32 pci_get_io_space_block(u32 size)
{
+5
View File
@@ -18,6 +18,11 @@
#define KVM_MMIO_START KVM_32BIT_GAP_START
/* 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_PCI_MMIO_AREA (KVM_MMIO_START + 0x1000000)
struct kvm {
int sys_fd; /* For system ioctls(), i.e. /dev/kvm */
int vm_fd; /* For VM ioctls() */