[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xensource (pci) device id's?



Gerd Hoffmann wrote:
> Ian Campbell wrote:
>> We now have vendor 5853 officially assigned.
> 
> Ok, how device IDs are allocated?  I'd like to use them to tag virtual
> devices ...

... like this (see attached patch), handing out numbers 2-6 ...

cheers,
  Gerd
---
 linux-2.6-xen-sparse/drivers/xen/fbfront/xenkbd.c |    6 ++++++
 tools/ioemu/hw/cirrus_vga.c                       |    4 ++++
 tools/ioemu/hw/ide.c                              |    4 ++++
 tools/ioemu/hw/rtl8139.c                          |    6 ++++--
 4 files changed, 18 insertions(+), 2 deletions(-)

Index: build-64-unstable-13762/linux-2.6-xen-sparse/drivers/xen/fbfront/xenkbd.c
===================================================================
--- 
build-64-unstable-13762.orig/linux-2.6-xen-sparse/drivers/xen/fbfront/xenkbd.c
+++ build-64-unstable-13762/linux-2.6-xen-sparse/drivers/xen/fbfront/xenkbd.c
@@ -123,7 +123,13 @@ int __devinit xenkbd_probe(struct xenbus
                set_bit(i, kbd->keybit);
 
        kbd->name = "Xen Virtual Keyboard";
+       kbd->id.bustype = BUS_PCI;
+       kbd->id.vendor  = 0x5853; /* XenSource, Inc. */
+       kbd->id.product = 0x0002;
        ptr->name = "Xen Virtual Pointer";
+       ptr->id.bustype = BUS_PCI;
+       ptr->id.vendor  = 0x5853; /* XenSource, Inc. */
+       ptr->id.product = 0x0003;
 
        input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0);
        input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0);
Index: build-64-unstable-13762/tools/ioemu/hw/rtl8139.c
===================================================================
--- build-64-unstable-13762.orig/tools/ioemu/hw/rtl8139.c
+++ build-64-unstable-13762/tools/ioemu/hw/rtl8139.c
@@ -3423,8 +3423,10 @@ void pci_rtl8139_init(PCIBus *bus, NICIn
     pci_conf[0x0e] = 0x00; /* header_type */
     pci_conf[0x3d] = 1;    /* interrupt pin 0 */
     pci_conf[0x34] = 0xdc;
-    pci_conf[0x2c] = pci_conf[0x00]; // same as Vendor ID
-    pci_conf[0x2d] = pci_conf[0x01];
+    pci_conf[0x2c] = 0x53; /* subsystem vendor: XenSource */
+    pci_conf[0x2d] = 0x58;
+    pci_conf[0x2e] = 0x04; /* subsystem device */
+    pci_conf[0x2f] = 0x00;
 
     s = &d->rtl8139;
 
Index: build-64-unstable-13762/tools/ioemu/hw/cirrus_vga.c
===================================================================
--- build-64-unstable-13762.orig/tools/ioemu/hw/cirrus_vga.c
+++ build-64-unstable-13762/tools/ioemu/hw/cirrus_vga.c
@@ -3340,6 +3340,10 @@ void pci_cirrus_vga_init(PCIBus *bus, Di
     pci_conf[0x0a] = PCI_CLASS_SUB_VGA;
     pci_conf[0x0b] = PCI_CLASS_BASE_DISPLAY;
     pci_conf[0x0e] = PCI_CLASS_HEADERTYPE_00h;
+    pci_conf[0x2c] = 0x53; /* subsystem vendor: XenSource */
+    pci_conf[0x2d] = 0x58;
+    pci_conf[0x2e] = 0x05; /* subsystem device */
+    pci_conf[0x2f] = 0x00;
 
     /* setup VGA */
     s = &d->cirrus_vga;
Index: build-64-unstable-13762/tools/ioemu/hw/ide.c
===================================================================
--- build-64-unstable-13762.orig/tools/ioemu/hw/ide.c
+++ build-64-unstable-13762/tools/ioemu/hw/ide.c
@@ -2502,6 +2502,10 @@ void pci_piix3_ide_init(PCIBus *bus, Blo
     pci_conf[0x0a] = 0x01; // class_sub = PCI_IDE
     pci_conf[0x0b] = 0x01; // class_base = PCI_mass_storage
     pci_conf[0x0e] = 0x00; // header_type
+    pci_conf[0x2c] = 0x53; /* subsystem vendor: XenSource */
+    pci_conf[0x2d] = 0x58;
+    pci_conf[0x2e] = 0x06; /* subsystem device */
+    pci_conf[0x2f] = 0x00;
 
     pci_register_io_region((PCIDevice *)d, 4, 0x10, 
                            PCI_ADDRESS_SPACE_IO, bmdma_map);
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.