mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
pci: removed the is_express field since a uniform interface was inserted
according to Eduardo Habkost's commit fd3b02c889
all PCIEs now implement
INTERFACE_PCIE_DEVICE so we don't need is_express field anymore.
Devices that implements only INTERFACE_PCIE_DEVICE (is_express == 1)
or
devices that implements only INTERFACE_CONVENTIONAL_PCI_DEVICE (is_express == 0)
where not affected by the change.
The only devices that were affected are those that are hybrid and also
had (is_express == 1) - therefor only:
- hw/vfio/pci.c
- hw/usb/hcd-xhci.c
- hw/xen/xen_pt.c
For those 3 I made sure that QEMU_PCI_CAP_EXPRESS is on in instance_init()
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Yoni Bettan <ybettan@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
0ebf9a7488
commit
d61a363d3e
14 changed files with 27 additions and 20 deletions
|
@ -937,6 +937,13 @@ static Property xen_pci_passthrough_properties[] = {
|
|||
DEFINE_PROP_END_OF_LIST(),
|
||||
};
|
||||
|
||||
static void xen_pci_passthrough_instance_init(Object *obj)
|
||||
{
|
||||
/* QEMU_PCI_CAP_EXPRESS initialization does not depend on QEMU command
|
||||
* line, therefore, no need to wait to realize like other devices */
|
||||
PCI_DEVICE(obj)->cap_present |= QEMU_PCI_CAP_EXPRESS;
|
||||
}
|
||||
|
||||
static void xen_pci_passthrough_class_init(ObjectClass *klass, void *data)
|
||||
{
|
||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
|
@ -946,7 +953,6 @@ static void xen_pci_passthrough_class_init(ObjectClass *klass, void *data)
|
|||
k->exit = xen_pt_unregister_device;
|
||||
k->config_read = xen_pt_pci_read_config;
|
||||
k->config_write = xen_pt_pci_write_config;
|
||||
k->is_express = 1; /* We might be */
|
||||
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
|
||||
dc->desc = "Assign an host PCI device with Xen";
|
||||
dc->props = xen_pci_passthrough_properties;
|
||||
|
@ -965,6 +971,7 @@ static const TypeInfo xen_pci_passthrough_info = {
|
|||
.instance_size = sizeof(XenPCIPassthroughState),
|
||||
.instance_finalize = xen_pci_passthrough_finalize,
|
||||
.class_init = xen_pci_passthrough_class_init,
|
||||
.instance_init = xen_pci_passthrough_instance_init,
|
||||
.interfaces = (InterfaceInfo[]) {
|
||||
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
|
||||
{ INTERFACE_PCIE_DEVICE },
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue