mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 10:34:58 -06:00
ppc/spapr, vfio: Turn off MSIX emulation for VFIO devices
This adds a possibility for the platform to tell VFIO not to emulate MSIX so MMIO memory regions do not get split into chunks in flatview and the entire page can be registered as a KVM memory slot and make direct MMIO access possible for the guest. This enables the entire MSIX BAR mapping to the guest for the pseries platform in order to achieve the maximum MMIO preformance for certain devices. Tested on: LSI Logic / Symbios Logic SAS3008 PCI-Express Fusion-MPT SAS-3 (rev 02) Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
ae0215b2bb
commit
fcad0d2121
2 changed files with 20 additions and 0 deletions
|
@ -2855,6 +2855,11 @@ static void spapr_set_modern_hotplug_events(Object *obj, bool value,
|
|||
spapr->use_hotplug_event_source = value;
|
||||
}
|
||||
|
||||
static bool spapr_get_msix_emulation(Object *obj, Error **errp)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
static char *spapr_get_resize_hpt(Object *obj, Error **errp)
|
||||
{
|
||||
sPAPRMachineState *spapr = SPAPR_MACHINE(obj);
|
||||
|
@ -2936,6 +2941,8 @@ static void spapr_instance_init(Object *obj)
|
|||
object_property_set_description(obj, "vsmt",
|
||||
"Virtual SMT: KVM behaves as if this were"
|
||||
" the host's SMT mode", &error_abort);
|
||||
object_property_add_bool(obj, "vfio-no-msix-emulation",
|
||||
spapr_get_msix_emulation, NULL, NULL);
|
||||
}
|
||||
|
||||
static void spapr_machine_finalizefn(Object *obj)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue