Blob Blame History Raw
From baf64ed57de359bb093c9557108edcab6f77dfb9 Mon Sep 17 00:00:00 2001
From: Markus Armbruster <armbru@redhat.com>
Date: Sat, 2 Nov 2013 15:05:07 +0100
Subject: rhel: Make "isa-cirrus-vga" device unavailable

RH-Author: Markus Armbruster <armbru@redhat.com>
Message-id: <1383404707-6015-3-git-send-email-armbru@redhat.com>
Patchwork-id: 55270
O-Subject: [PATCH 7.0 qemu-kvm 2/2] rhel: Make "isa-cirrus-vga" device unavailable
Bugzilla: 1001088
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
RH-Acked-by: Marcel Apfelbaum <marcel.a@redhat.com>
RH-Acked-by: Alex Williamson <alex.williamson@redhat.com>

From: Markus Armbruster <armbru@redhat.com>

We can't drop it, because the ISA device is entangled with the PCI
device, which we want to keep.  Disentangling it upstream would be
nice, but we're out of time.

Instead, make it unavailable with -device / device_add.  Suffices,
because the only other way to get it is via pc_vga_init() calling
isa_vga_init(), which it never does in RHEL, because it never gets a
null pci_bus argument.

Signed-off-by: Markus Armbruster <armbru@redhat.com>

diff --git a/hw/display/cirrus_vga.c b/hw/display/cirrus_vga.c
index c8f0afb..417fe55 100644
--- a/hw/display/cirrus_vga.c
+++ b/hw/display/cirrus_vga.c
@@ -2943,6 +2943,8 @@ static void isa_cirrus_vga_class_init(ObjectClass *klass, void *data)
     dc->realize = isa_cirrus_vga_realizefn;
     dc->props = isa_cirrus_vga_properties;
     set_bit(DEVICE_CATEGORY_DISPLAY, dc->categories);
+    /* Disabled for Red Hat Enterprise Linux: */
+    dc->cannot_instantiate_with_device_add_yet = true;
 }
 
 static const TypeInfo isa_cirrus_vga_info = {