mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
hw/pci-host/q35: Initialize PCI_HOST_BYPASS_IOMMU property from board code
The Q35 PCI host already has a PCI_HOST_BYPASS_IOMMU property. However, the host initializes this property itself by accessing global machine state, thereby assuming it to be a PC machine. Avoid this by having board code set this property. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230630073720.21297-6-shentey@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
3b20f4ca59
commit
e36102cb07
2 changed files with 3 additions and 2 deletions
|
@ -230,6 +230,8 @@ static void pc_q35_init(MachineState *machine)
|
|||
x86ms->below_4g_mem_size, NULL);
|
||||
object_property_set_int(phb, PCI_HOST_ABOVE_4G_MEM_SIZE,
|
||||
x86ms->above_4g_mem_size, NULL);
|
||||
object_property_set_bool(phb, PCI_HOST_BYPASS_IOMMU,
|
||||
pcms->default_bus_bypass_iommu, NULL);
|
||||
sysbus_realize_and_unref(SYS_BUS_DEVICE(phb), &error_fatal);
|
||||
|
||||
/* pci */
|
||||
|
|
|
@ -66,8 +66,7 @@ static void q35_host_realize(DeviceState *dev, Error **errp)
|
|||
s->mch.pci_address_space,
|
||||
s->mch.address_space_io,
|
||||
0, TYPE_PCIE_BUS);
|
||||
pci->bypass_iommu =
|
||||
PC_MACHINE(qdev_get_machine())->default_bus_bypass_iommu;
|
||||
|
||||
qdev_realize(DEVICE(&s->mch), BUS(pci->bus), &error_fatal);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue