Message ID | 20190316223918.11917-2-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/Kconfig: Fixes when running ./configure --without-default-devices | expand |
On 16/03/2019 23.39, Philippe Mathieu-Daudé wrote: > This fixes when configuring with --without-default-devices: > > $ qemu-system-mips64 -M malta --nodefaults -bios /dev/null > qemu-system-mips64: Unknown device 'piix4-usb-uhci' for bus 'PCI' > Aborted (core dumped) > > (gdb) bt > #0 0x00007ffff5a4353f in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 > #1 0x00007ffff5a2d895 in __GI_abort () at abort.c:79 > #2 0x00005555558745c3 in qdev_create (bus=bus@entry=0x555556336260, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/core/qdev.c:131 > #3 0x00005555558cb3e1 in pci_create_multifunction (bus=bus@entry=0x555556336260, devfn=devfn@entry=82, multifunction=multifunction@entry=false, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/pci/pci.c:2104 > #4 0x00005555558cb88b in pci_create_simple_multifunction (name=name@entry=0x555555b13a4d "piix4-usb-uhci", multifunction=false, devfn=devfn@entry=82, bus=bus@entry=0x555556336260) at hw/pci/pci.c:2126 > #5 0x00005555558cb88b in pci_create_simple (bus=bus@entry=0x555556336260, devfn=devfn@entry=82, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/pci/pci.c:2126 > #6 0x000055555575ea38 in mips_malta_init (machine=0x555555ffe430) at hw/mips/mips_malta.c:1392 > #7 0x000055555587bf2b in machine_run_board_init (machine=0x555555ffe430) at hw/core/machine.c:1030 > > Fixes: 7c28b925b7e > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > hw/isa/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig > index 57e09a0cb8..c942b47d03 100644 > --- a/hw/isa/Kconfig > +++ b/hw/isa/Kconfig > @@ -29,6 +29,7 @@ config PIIX4 > # For historical reasons, SuperIO devices are created in the board > # for PIIX4. > select ISA_BUS > + select USB_UHCI The UHCI controller is not instantiated by hw/isa/piix4.c, but by hw/mips/mips_malta.c as far as I can see. And you can use the "pc" machine also without uhci. So I think this patch is wrong, the select should be done by "MALTA" instead. Thomas
On 25/03/2019 05.49, Thomas Huth wrote: > On 16/03/2019 23.39, Philippe Mathieu-Daudé wrote: >> This fixes when configuring with --without-default-devices: >> >> $ qemu-system-mips64 -M malta --nodefaults -bios /dev/null >> qemu-system-mips64: Unknown device 'piix4-usb-uhci' for bus 'PCI' >> Aborted (core dumped) >> >> (gdb) bt >> #0 0x00007ffff5a4353f in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 >> #1 0x00007ffff5a2d895 in __GI_abort () at abort.c:79 >> #2 0x00005555558745c3 in qdev_create (bus=bus@entry=0x555556336260, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/core/qdev.c:131 >> #3 0x00005555558cb3e1 in pci_create_multifunction (bus=bus@entry=0x555556336260, devfn=devfn@entry=82, multifunction=multifunction@entry=false, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/pci/pci.c:2104 >> #4 0x00005555558cb88b in pci_create_simple_multifunction (name=name@entry=0x555555b13a4d "piix4-usb-uhci", multifunction=false, devfn=devfn@entry=82, bus=bus@entry=0x555556336260) at hw/pci/pci.c:2126 >> #5 0x00005555558cb88b in pci_create_simple (bus=bus@entry=0x555556336260, devfn=devfn@entry=82, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/pci/pci.c:2126 >> #6 0x000055555575ea38 in mips_malta_init (machine=0x555555ffe430) at hw/mips/mips_malta.c:1392 >> #7 0x000055555587bf2b in machine_run_board_init (machine=0x555555ffe430) at hw/core/machine.c:1030 >> >> Fixes: 7c28b925b7e >> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >> --- >> hw/isa/Kconfig | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig >> index 57e09a0cb8..c942b47d03 100644 >> --- a/hw/isa/Kconfig >> +++ b/hw/isa/Kconfig >> @@ -29,6 +29,7 @@ config PIIX4 >> # For historical reasons, SuperIO devices are created in the board >> # for PIIX4. >> select ISA_BUS >> + select USB_UHCI > > The UHCI controller is not instantiated by hw/isa/piix4.c, but by > hw/mips/mips_malta.c as far as I can see. And you can use the "pc" > machine also without uhci. So I think this patch is wrong, the select > should be done by "MALTA" instead. Ah, never mind, I mixed up piix3-usb-uhci (used by "pc") and piix4-usb-uhci (used by "malta"). ... So this UHCI is part of the chipset? Then I think your patch is fine. Thomas
On 3/25/19 5:55 AM, Thomas Huth wrote: > On 25/03/2019 05.49, Thomas Huth wrote: >> On 16/03/2019 23.39, Philippe Mathieu-Daudé wrote: >>> This fixes when configuring with --without-default-devices: >>> >>> $ qemu-system-mips64 -M malta --nodefaults -bios /dev/null >>> qemu-system-mips64: Unknown device 'piix4-usb-uhci' for bus 'PCI' >>> Aborted (core dumped) >>> >>> (gdb) bt >>> #0 0x00007ffff5a4353f in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 >>> #1 0x00007ffff5a2d895 in __GI_abort () at abort.c:79 >>> #2 0x00005555558745c3 in qdev_create (bus=bus@entry=0x555556336260, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/core/qdev.c:131 >>> #3 0x00005555558cb3e1 in pci_create_multifunction (bus=bus@entry=0x555556336260, devfn=devfn@entry=82, multifunction=multifunction@entry=false, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/pci/pci.c:2104 >>> #4 0x00005555558cb88b in pci_create_simple_multifunction (name=name@entry=0x555555b13a4d "piix4-usb-uhci", multifunction=false, devfn=devfn@entry=82, bus=bus@entry=0x555556336260) at hw/pci/pci.c:2126 >>> #5 0x00005555558cb88b in pci_create_simple (bus=bus@entry=0x555556336260, devfn=devfn@entry=82, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/pci/pci.c:2126 >>> #6 0x000055555575ea38 in mips_malta_init (machine=0x555555ffe430) at hw/mips/mips_malta.c:1392 >>> #7 0x000055555587bf2b in machine_run_board_init (machine=0x555555ffe430) at hw/core/machine.c:1030 >>> >>> Fixes: 7c28b925b7e >>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> >>> --- >>> hw/isa/Kconfig | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig >>> index 57e09a0cb8..c942b47d03 100644 >>> --- a/hw/isa/Kconfig >>> +++ b/hw/isa/Kconfig >>> @@ -29,6 +29,7 @@ config PIIX4 >>> # For historical reasons, SuperIO devices are created in the board >>> # for PIIX4. >>> select ISA_BUS >>> + select USB_UHCI >> >> The UHCI controller is not instantiated by hw/isa/piix4.c, but by >> hw/mips/mips_malta.c as far as I can see. And you can use the "pc" >> machine also without uhci. So I think this patch is wrong, the select >> should be done by "MALTA" instead. > > Ah, never mind, I mixed up piix3-usb-uhci (used by "pc") and > piix4-usb-uhci (used by "malta"). ... So this UHCI is part of the > chipset? Then I think your patch is fine. Yes, UHCI is introduced in the PIIX3 chipset. In another series (postponed to 4.1) PIIX4 inherit of PIIX3 features. Meanwhile, this patch is a quick fix for 4.0. Thanks, Phil.
diff --git a/hw/isa/Kconfig b/hw/isa/Kconfig index 57e09a0cb8..c942b47d03 100644 --- a/hw/isa/Kconfig +++ b/hw/isa/Kconfig @@ -29,6 +29,7 @@ config PIIX4 # For historical reasons, SuperIO devices are created in the board # for PIIX4. select ISA_BUS + select USB_UHCI config VT82C686 bool
This fixes when configuring with --without-default-devices: $ qemu-system-mips64 -M malta --nodefaults -bios /dev/null qemu-system-mips64: Unknown device 'piix4-usb-uhci' for bus 'PCI' Aborted (core dumped) (gdb) bt #0 0x00007ffff5a4353f in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007ffff5a2d895 in __GI_abort () at abort.c:79 #2 0x00005555558745c3 in qdev_create (bus=bus@entry=0x555556336260, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/core/qdev.c:131 #3 0x00005555558cb3e1 in pci_create_multifunction (bus=bus@entry=0x555556336260, devfn=devfn@entry=82, multifunction=multifunction@entry=false, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/pci/pci.c:2104 #4 0x00005555558cb88b in pci_create_simple_multifunction (name=name@entry=0x555555b13a4d "piix4-usb-uhci", multifunction=false, devfn=devfn@entry=82, bus=bus@entry=0x555556336260) at hw/pci/pci.c:2126 #5 0x00005555558cb88b in pci_create_simple (bus=bus@entry=0x555556336260, devfn=devfn@entry=82, name=name@entry=0x555555b13a4d "piix4-usb-uhci") at hw/pci/pci.c:2126 #6 0x000055555575ea38 in mips_malta_init (machine=0x555555ffe430) at hw/mips/mips_malta.c:1392 #7 0x000055555587bf2b in machine_run_board_init (machine=0x555555ffe430) at hw/core/machine.c:1030 Fixes: 7c28b925b7e Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- hw/isa/Kconfig | 1 + 1 file changed, 1 insertion(+)