[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] all vga: fail graicefully when vga ports ar
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] all vga: fail graicefully when vga ports are taken |
Date: |
Wed, 12 May 2010 21:59:43 +0300 |
On 5/11/10, Gerd Hoffmann <address@hidden> wrote:
> Try to pci hotplug a vga card, watch qemu die with hw_error().
> This patch fixes it.
>
> Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> hw/cirrus_vga.c | 3 +++
> hw/vga-pci.c | 3 +++
> hw/vmware_vga.c | 3 +++
> 3 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
> index 9f61a01..2f50e86 100644
> --- a/hw/cirrus_vga.c
> +++ b/hw/cirrus_vga.c
> @@ -3189,6 +3189,9 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
> uint8_t *pci_conf = d->dev.config;
> int device_id = CIRRUS_ID_CLGD5446;
>
> + if (is_ioport_assigned(0x3c0))
> + return -1;
> +
-ECODING_STYLE.
> /* setup VGA */
> vga_common_init(&s->vga, VGA_RAM_SIZE);
> cirrus_init_common(s, device_id, 1);
> diff --git a/hw/vga-pci.c b/hw/vga-pci.c
> index c8d260c..2ef3278 100644
> --- a/hw/vga-pci.c
> +++ b/hw/vga-pci.c
> @@ -79,6 +79,9 @@ static int pci_vga_initfn(PCIDevice *dev)
> VGACommonState *s = &d->vga;
> uint8_t *pci_conf = d->dev.config;
>
> + if (is_ioport_assigned(0x3c0))
> + return -1;
> +
> // vga + console init
> vga_common_init(s, VGA_RAM_SIZE);
> vga_init(s);
> diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
> index 4e7a75d..cd0eb57 100644
> --- a/hw/vmware_vga.c
> +++ b/hw/vmware_vga.c
> @@ -1232,6 +1232,9 @@ static int pci_vmsvga_initfn(PCIDevice *dev)
> struct pci_vmsvga_state_s *s =
> DO_UPCAST(struct pci_vmsvga_state_s, card, dev);
>
> + if (is_ioport_assigned(0x3c0))
> + return -1;
> +
> pci_config_set_vendor_id(s->card.config, PCI_VENDOR_ID_VMWARE);
> pci_config_set_device_id(s->card.config, SVGA_PCI_DEVICE_ID);
> s->card.config[PCI_COMMAND] = PCI_COMMAND_IO |
>
> --
> 1.6.6.1
>
>
>