xen-pvdevice: make device-id property compulsory
The intention of the Xen PV device is that it is used as a parent device for PV drivers in Xen HVM guests and the set of PV drivers that bind to the device is determined by its device ID (and possibly vendor ID and revision). As such, the device should not have a default device ID, it should always be supplied by the Xen toolstack. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
parent
d18e173a07
commit
539891a85d
@ -74,6 +74,10 @@ static int xen_pv_init(PCIDevice *pci_dev)
|
||||
XenPVDevice *d = XEN_PV_DEVICE(pci_dev);
|
||||
uint8_t *pci_conf;
|
||||
|
||||
/* device-id property must always be supplied */
|
||||
if (d->device_id == 0xffff)
|
||||
return -1;
|
||||
|
||||
pci_conf = pci_dev->config;
|
||||
|
||||
pci_set_word(pci_conf + PCI_VENDOR_ID, d->vendor_id);
|
||||
@ -99,7 +103,7 @@ static int xen_pv_init(PCIDevice *pci_dev)
|
||||
|
||||
static Property xen_pv_props[] = {
|
||||
DEFINE_PROP_UINT16("vendor-id", XenPVDevice, vendor_id, PCI_VENDOR_ID_XEN),
|
||||
DEFINE_PROP_UINT16("device-id", XenPVDevice, device_id, PCI_DEVICE_ID_XEN_PVDEVICE),
|
||||
DEFINE_PROP_UINT16("device-id", XenPVDevice, device_id, 0xffff),
|
||||
DEFINE_PROP_UINT8("revision", XenPVDevice, revision, 0x01),
|
||||
DEFINE_PROP_UINT32("size", XenPVDevice, size, 0x400000),
|
||||
DEFINE_PROP_END_OF_LIST()
|
||||
|
@ -146,7 +146,6 @@
|
||||
|
||||
#define PCI_VENDOR_ID_XEN 0x5853
|
||||
#define PCI_DEVICE_ID_XEN_PLATFORM 0x0001
|
||||
#define PCI_DEVICE_ID_XEN_PVDEVICE 0x0002
|
||||
|
||||
#define PCI_VENDOR_ID_NEC 0x1033
|
||||
#define PCI_DEVICE_ID_NEC_UPD720200 0x0194
|
||||
|
Loading…
Reference in New Issue
Block a user