mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
hw/isa/piix3: Create USB controller in host device
The USB controller is an integral part of PIIX3 (function 2). So create it as part of the south bridge. Note that the USB function is optional in QEMU. This is why it gets object_initialize_child()'ed in realize rather than in instance_init. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20231007123843.127151-13-shentey@gmail.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
e47e5a5b79
commit
6fe4464c05
4 changed files with 23 additions and 5 deletions
|
@ -51,7 +51,6 @@
|
|||
#include "exec/memory.h"
|
||||
#include "hw/acpi/acpi.h"
|
||||
#include "hw/acpi/piix4.h"
|
||||
#include "hw/usb/hcd-uhci.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "sysemu/xen.h"
|
||||
|
@ -265,6 +264,8 @@ static void pc_init1(MachineState *machine,
|
|||
size_t i;
|
||||
|
||||
pci_dev = pci_new_multifunction(-1, TYPE_PIIX3_DEVICE);
|
||||
object_property_set_bool(OBJECT(pci_dev), "has-usb",
|
||||
machine_usb(machine), &error_abort);
|
||||
dev = DEVICE(pci_dev);
|
||||
for (i = 0; i < ISA_NUM_IRQS; i++) {
|
||||
qdev_connect_gpio_out_named(dev, "isa-irqs", i, x86ms->gsi[i]);
|
||||
|
@ -359,10 +360,6 @@ static void pc_init1(MachineState *machine,
|
|||
}
|
||||
#endif
|
||||
|
||||
if (pcmc->pci_enabled && machine_usb(machine)) {
|
||||
pci_create_simple(pci_bus, piix3_devfn + 2, TYPE_PIIX3_USB_UHCI);
|
||||
}
|
||||
|
||||
if (pcmc->pci_enabled && x86_machine_is_acpi_enabled(X86_MACHINE(pcms))) {
|
||||
PCIDevice *piix4_pm;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue