aboutsummaryrefslogtreecommitdiffstats
path: root/hw
diff options
context:
space:
mode:
authorSasha Levin <levinsasha928@gmail.com>2011-05-26 13:30:08 +0300
committerWill Deacon <will.deacon@arm.com>2015-06-01 16:39:44 +0100
commit947392bcaaee10d34504b40a7481d5d51f635de7 (patch)
tree5f64544ae67b8ffc75b37003dc33cb41b988d0d2 /hw
parent80ac1d059f2bdf60ea34c303bb918ce3e8dc877f (diff)
downloadkvmtool-947392bcaaee10d34504b40a7481d5d51f635de7.tar.gz
kvm tools: Use dynamic IO port allocation in vesa driver
Signed-off-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'hw')
-rw-r--r--hw/vesa.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/hw/vesa.c b/hw/vesa.c
index ec4788c1..85fe1a90 100644
--- a/hw/vesa.c
+++ b/hw/vesa.c
@@ -49,7 +49,6 @@ static struct pci_device_header vesa_pci_device = {
.class = 0x030000,
.subsys_vendor_id = PCI_SUBSYSTEM_VENDOR_ID_REDHAT_QUMRANET,
.subsys_id = PCI_SUBSYSTEM_ID_VESA,
- .bar[0] = IOPORT_VESA | PCI_BASE_ADDRESS_SPACE_IO,
.bar[1] = VESA_MEM_ADDR | PCI_BASE_ADDRESS_SPACE_MEMORY,
};
@@ -66,17 +65,17 @@ void vesa__init(struct kvm *kvm)
{
u8 dev, line, pin;
pthread_t thread;
+ u16 vesa_base_addr;
if (irq__register_device(PCI_DEVICE_ID_VESA, &dev, &pin, &line) < 0)
return;
vesa_pci_device.irq_pin = pin;
vesa_pci_device.irq_line = line;
-
+ vesa_base_addr = ioport__register(IOPORT_EMPTY, &vesa_io_ops, IOPORT_SIZE, NULL);
+ vesa_pci_device.bar[0] = vesa_base_addr | PCI_BASE_ADDRESS_SPACE_IO;
pci__register(&vesa_pci_device, dev);
- ioport__register(IOPORT_VESA, &vesa_io_ops, IOPORT_VESA_SIZE, NULL);
-
kvm__register_mmio(VESA_MEM_ADDR, VESA_MEM_SIZE, &vesa_mmio_callback);
pthread_create(&thread, NULL, vesa__dovnc, kvm);