]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
kvm tools: Use dynamic IO port allocation in vesa driver
authorSasha Levin <levinsasha928@gmail.com>
Thu, 26 May 2011 10:30:08 +0000 (13:30 +0300)
committerPekka Enberg <penberg@kernel.org>
Thu, 26 May 2011 15:55:56 +0000 (18:55 +0300)
Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
tools/kvm/hw/vesa.c
tools/kvm/include/kvm/ioport.h

index ec4788c1d377f4c5d1ed2ed826de3125284f3be9..85fe1a90d140c20bfa17d6487b86b1ffcdbd77e4 100644 (file)
@@ -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);
index 55d53e096b02cbf74d46166c9a3aff3e807a4ad1..84eb65af29f5514598d969f135042c5ff494797f 100644 (file)
@@ -12,8 +12,6 @@
 #define IOPORT_START                   0x6200
 #define IOPORT_SIZE                    0x400
 
-#define IOPORT_VESA                    0xa200
-#define IOPORT_VESA_SIZE               256
 #define IOPORT_VIRTIO_P9               0xb200  /* Virtio 9P device */
 #define IOPORT_VIRTIO_P9_SIZE          256
 #define IOPORT_VIRTIO_CONSOLE          0xd200  /* Virtio console device */