qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH/RFC] Set a (distinguishable) subsystem id for Cirrus VGA
@ 2007-08-09 19:27 Jeremy Katz
  2007-08-10 16:28 ` Paul Brook
  0 siblings, 1 reply; 7+ messages in thread
From: Jeremy Katz @ 2007-08-09 19:27 UTC (permalink / raw)
  To: qemu-devel

[-- Attachment #1: Type: text/plain, Size: 496 bytes --]

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

[-- Attachment #2: qemu-vendor-subsystem.patch --]
[-- Type: text/x-patch, Size: 764 bytes --]

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;

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-08-11 17:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-09 19:27 [Qemu-devel] [PATCH/RFC] Set a (distinguishable) subsystem id for Cirrus VGA Jeremy Katz
2007-08-10 16:28 ` Paul Brook
2007-08-10 17:13   ` Jeremy Katz
2007-08-10 18:16     ` Paul Brook
2007-08-10 18:55     ` Anthony Liguori
2007-08-10 22:47       ` WaxDragon
2007-08-11 17:14       ` andrzej zaborowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).