mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
pcie_root_port: Allow ACS to be disabled
ACS was added in 4.0 unconditionally, this breaks migration compatibility. Allow ACS to be disabled by adding a property that's checked by pcie_root_port. Unfortunately pcie-root-port doesn't have any instance data, so there's no where for that flag to live, so stuff it into PCIESlot. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20190730093719.12958-2-dgilbert@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Juan Quintela <quintela@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
22235bb609
commit
a58dfba201
2 changed files with 4 additions and 1 deletions
|
@ -111,7 +111,7 @@ static void rp_realize(PCIDevice *d, Error **errp)
|
|||
pcie_aer_root_init(d);
|
||||
rp_aer_vector_update(d);
|
||||
|
||||
if (rpc->acs_offset) {
|
||||
if (rpc->acs_offset && !s->disable_acs) {
|
||||
pcie_acs_init(d, rpc->acs_offset);
|
||||
}
|
||||
return;
|
||||
|
@ -145,6 +145,7 @@ static void rp_exit(PCIDevice *d)
|
|||
static Property rp_props[] = {
|
||||
DEFINE_PROP_BIT(COMPAT_PROP_PCP, PCIDevice, cap_present,
|
||||
QEMU_PCIE_SLTCAP_PCP_BITNR, true),
|
||||
DEFINE_PROP_BOOL("disable-acs", PCIESlot, disable_acs, false),
|
||||
DEFINE_PROP_END_OF_LIST()
|
||||
};
|
||||
|
||||
|
|
|
@ -53,6 +53,8 @@ struct PCIESlot {
|
|||
PCIExpLinkSpeed speed;
|
||||
PCIExpLinkWidth width;
|
||||
|
||||
/* Disable ACS (really for a pcie_root_port) */
|
||||
bool disable_acs;
|
||||
QLIST_ENTRY(PCIESlot) next;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue