The attached adds a PCI subsystem vendor ID of 0x514D (QM ascii->hex) for the Cirrus emulation so that you can tell that the system is running under qemu. This will make it so that, eg, we can detect that in X and know that resolutions > 800x600 won't blow up a monitor.
Downside is that it's not an officially registered vendor ID as it looks like that requires joining the PCI-SIG. Also, if this is interesting, it's probably also worth doing for other emulated PCI devices as well. Jeremy
Index: hw/cirrus_vga.c =================================================================== RCS file: /sources/qemu/qemu/hw/cirrus_vga.c,v retrieving revision 1.26 diff -u -u -r1.26 cirrus_vga.c --- hw/cirrus_vga.c 31 Jul 2007 23:26:00 -0000 1.26 +++ hw/cirrus_vga.c 9 Aug 2007 19:27:03 -0000 @@ -3247,6 +3247,11 @@ pci_conf[0x0a] = PCI_CLASS_SUB_VGA; pci_conf[0x0b] = PCI_CLASS_BASE_DISPLAY; pci_conf[0x0e] = PCI_CLASS_HEADERTYPE_00h; +#define SUBSYSTEM_VENDOR_QEMU 0x514D + pci_conf[0x2c] = (uint8_t) (SUBSYSTEM_VENDOR_QEMU & 0xff); + pci_conf[0x2d] = (uint8_t) (SUBSYSTEM_VENDOR_QEMU >> 8); + pci_conf[0x2e] = (uint8_t) (device_id & 0xff); + pci_conf[0x2f] = (uint8_t) (device_id >> 8); /* setup VGA */ s = &d->cirrus_vga;