[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] xen-pvdevice: make device-id property compulsor
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH] xen-pvdevice: make device-id property compulsory |
Date: |
Wed, 13 Nov 2013 18:06:27 +0000 |
User-agent: |
Alpine 2.02 (DEB 1266 2009-07-14) |
On Wed, 13 Nov 2013, Paul Durrant wrote:
> 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 <address@hidden>
I'll add it to my queue
> hw/xen/xen_pvdevice.c | 6 +++++-
> include/hw/pci/pci_ids.h | 1 -
> 2 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/hw/xen/xen_pvdevice.c b/hw/xen/xen_pvdevice.c
> index 1132c89..c218947 100644
> --- a/hw/xen/xen_pvdevice.c
> +++ b/hw/xen/xen_pvdevice.c
> @@ -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()
> diff --git a/include/hw/pci/pci_ids.h b/include/hw/pci/pci_ids.h
> index 4c0002b..e597070 100644
> --- a/include/hw/pci/pci_ids.h
> +++ b/include/hw/pci/pci_ids.h
> @@ -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
> --
> 1.7.10.4
>
>