@@ -3361,6 +3361,7 @@ void pci_cirrus_vga_init(PCIBus *bus)
static PCIDeviceInfo cirrus_vga_info = {
.qdev.name = "Cirrus VGA",
.qdev.size = sizeof(PCICirrusVGAState),
+ .qdev.caps = DEV_CAP_DISPLAY,
.init = pci_cirrus_vga_initfn,
.config_write = pci_cirrus_write_config,
};
@@ -110,6 +110,7 @@ static int qdev_print_devinfo(DeviceInfo *info, char *dest, int len)
static const char *capname[] = {
[ DEV_CAP_BIT_AUDIO ] = "audio",
[ DEV_CAP_BIT_ETHERNET ] = "ethernet",
+ [ DEV_CAP_BIT_DISPLAY ] = "display",
};
const char *sep;
int pos = 0;
@@ -105,10 +105,12 @@ typedef void (*SCSIAttachFn)(DeviceState *host, BlockDriverState *bdrv,
enum DeviceCapBits {
DEV_CAP_BIT_AUDIO = 0,
DEV_CAP_BIT_ETHERNET = 1,
+ DEV_CAP_BIT_DISPLAY = 2,
};
#define DEV_CAP_AUDIO (1 << DEV_CAP_BIT_AUDIO)
#define DEV_CAP_ETHERNET (1 << DEV_CAP_BIT_ETHERNET)
+#define DEV_CAP_DISPLAY (1 << DEV_CAP_BIT_DISPLAY)
struct DeviceInfo {
const char *name;
@@ -535,6 +535,7 @@ static SysBusDeviceInfo syborg_fb_info = {
.init = syborg_fb_init,
.qdev.name = "syborg,framebuffer",
.qdev.size = sizeof(SyborgFBState),
+ .qdev.caps = DEV_CAP_DISPLAY,
.qdev.props = (Property[]) {
DEFINE_PROP_UINT32("width", SyborgFBState, cols, 0),
DEFINE_PROP_UINT32("height", SyborgFBState, rows, 0),
@@ -634,6 +634,7 @@ static SysBusDeviceInfo tcx_info = {
.init = tcx_init1,
.qdev.name = "SUNW,tcx",
.qdev.size = sizeof(TCXState),
+ .qdev.caps = DEV_CAP_DISPLAY,
.qdev.props = (Property[]) {
DEFINE_PROP_TADDR("addr", TCXState, addr, -1),
DEFINE_PROP_HEX32("vram_size", TCXState, vram_size, -1),
@@ -2539,6 +2539,7 @@ int pci_vga_init(PCIBus *bus,
static PCIDeviceInfo vga_info = {
.qdev.name = "VGA",
.qdev.size = sizeof(PCIVGAState),
+ .qdev.caps = DEV_CAP_DISPLAY,
.init = pci_vga_initfn,
.config_write = pci_vga_write_config,
.qdev.props = (Property[]) {
@@ -1247,6 +1247,7 @@ void pci_vmsvga_init(PCIBus *bus)
static PCIDeviceInfo vmsvga_info = {
.qdev.name = "QEMUware SVGA",
.qdev.size = sizeof(struct pci_vmsvga_state_s),
+ .qdev.caps = DEV_CAP_DISPLAY,
.init = pci_vmsvga_initfn,
};
... and tag devices. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> --- hw/cirrus_vga.c | 1 + hw/qdev.c | 1 + hw/qdev.h | 2 ++ hw/syborg_fb.c | 1 + hw/tcx.c | 1 + hw/vga.c | 1 + hw/vmware_vga.c | 1 + 7 files changed, 8 insertions(+), 0 deletions(-)