[Qemu-devel] [PULL 00/28] Kconfig for Arm machines

Thomas Huth posted 28 patches 4 years, 11 months ago
Failed in applying to current master (apply log)
Test docker-mingw@fedora passed
Test asan passed
Test docker-clang@ubuntu passed
Test checkpatch passed
There is a newer version of this series
default-configs/aarch64-softmmu.mak |   5 -
default-configs/arm-softmmu.mak     | 179 ++++----------------
hw/arm/Kconfig                      | 317 +++++++++++++++++++++++++++++++++++-
hw/arm/Makefile.objs                |  25 ++-
hw/display/Kconfig                  |   3 +
hw/i2c/Kconfig                      |   2 +-
hw/ide/Kconfig                      |   6 +-
hw/ide/Makefile.objs                |   2 +-
hw/misc/Kconfig                     |   2 +
hw/pci/pci-stub.c                   |  11 ++
10 files changed, 383 insertions(+), 169 deletions(-)
[Qemu-devel] [PULL 00/28] Kconfig for Arm machines
Posted by Thomas Huth 4 years, 11 months ago
 Hi Peter,

the following changes since commit a6ae23831b05a11880b40f7d58e332c45a6b04f7:

  Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging (2019-05-03 15:26:09 +0100)

are available in the Git repository at:

  https://gitlab.com/huth/qemu.git tags/pull-request-2019-05-05

for you to fetch changes up to 55e5578fabf744e62038f7357369a68e460fe205:

  hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-03 17:06:20 +0200)

----------------------------------------------------------------
Kconfig settings for the Arm machines
----------------------------------------------------------------

Thomas Huth (28):
      hw/pci/pci-stub: Add msi_enabled() and msi_notify() to the pci stubs
      hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device
      hw/arm: Express dependencies of the exynos machines with Kconfig
      hw/arm: Express dependencies of the highbank machines with Kconfig
      hw/arm: Express dependencies of integratorcp with Kconfig
      hw/arm: Express dependencies of the fsl-imx31 machine with Kconfig
      hw/arm: Express dependencies of musicpal with Kconfig
      hw/arm: Express dependencies of the OMAP machines with Kconfig
      hw/arm: Express dependencies of stellaris with Kconfig
      hw/arm: Express dependencies of realview, versatile and vexpress with Kconfig
      hw/arm: Express dependencies of the PXA2xx machines with Kconfig
      hw/arm: Express dependencies of xilinx-zynq with Kconfig
      hw/arm: Express dependencies of collie with Kconfig
      hw/arm: Express dependencies of the aspeed boards with Kconfig
      hw/arm: Express dependencies of the virt machine with Kconfig
      hw/arm: Express dependencies of netduino / stm32f2xx with Kconfig
      hw/arm: Express dependencies of allwinner / cubieboard with Kconfig
      hw/arm: Express dependencies of the MPS2 boards with Kconfig
      hw/arm: Express dependencies of the raspi machines with Kconfig
      hw/arm: Express dependencies of canon-a1100 with Kconfig
      hw/arm: Express dependencies of sabrelite with Kconfig
      hw/arm: Express dependencies of the MSF2 / EMCRAFT_SF2 machine with Kconfig
      hw/arm: Express dependencies of the remaining IMX boards with Kconfig
      hw/arm: Express dependencies of the microbit / nrf51 machine with Kconfig
      hw/arm: Express dependencies of the ZynqMP zcu102 machine with Kconfig
      hw/arm: Express dependencies of the xlnx-versal-virt machine with Kconfig
      hw/arm: Express dependencies of the musca machines with Kconfig
      hw/arm: Remove hard-enablement of the remaining PCI devices

 default-configs/aarch64-softmmu.mak |   5 -
 default-configs/arm-softmmu.mak     | 179 ++++----------------
 hw/arm/Kconfig                      | 317 +++++++++++++++++++++++++++++++++++-
 hw/arm/Makefile.objs                |  25 ++-
 hw/display/Kconfig                  |   3 +
 hw/i2c/Kconfig                      |   2 +-
 hw/ide/Kconfig                      |   6 +-
 hw/ide/Makefile.objs                |   2 +-
 hw/misc/Kconfig                     |   2 +
 hw/pci/pci-stub.c                   |  11 ++
 10 files changed, 383 insertions(+), 169 deletions(-)

Re: [Qemu-devel] [PULL 00/28] Kconfig for Arm machines
Posted by Peter Maydell 4 years, 11 months ago
On Sun, 5 May 2019 at 14:57, Thomas Huth <thuth@redhat.com> wrote:
>
>  Hi Peter,
>
> the following changes since commit a6ae23831b05a11880b40f7d58e332c45a6b04f7:
>
>   Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging (2019-05-03 15:26:09 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/huth/qemu.git tags/pull-request-2019-05-05
>
> for you to fetch changes up to 55e5578fabf744e62038f7357369a68e460fe205:
>
>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-03 17:06:20 +0200)
>
> ----------------------------------------------------------------
> Kconfig settings for the Arm machines
> ----------------------------------------------------------------

Hi Thomas. My test setup that does 'make clean' before the build
failed in 'make check':

MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i38
6 QTEST_QEMU_IMG=qemu-img tests/ahci-test -m=quick -k --tap <
/dev/null | ./scripts/tap-driver.pl --test-name="a
hci-test"
qemu-system-i386: Unknown device 'ich9-ahci' for bus 'PCIE'
Broken pipe
/home/petmay01/linaro/qemu-for-merges/tests/libqtest.c:143:
kill_qemu() detected QEMU death from signal 6 (Abort
ed) (core dumped)
Aborted (core dumped)
ERROR - too few tests run (expected 74, got 0)
/home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:903:
recipe for target 'check-qtest-i386' failed

(all the builds that are just incremental without the 'make clean'
worked ok). Any idea what's happened here?

thanks
-- PMM

Re: [Qemu-devel] [PULL 00/28] Kconfig for Arm machines
Posted by Philippe Mathieu-Daudé 4 years, 11 months ago
On 5/7/19 1:01 PM, Peter Maydell wrote:
> On Sun, 5 May 2019 at 14:57, Thomas Huth <thuth@redhat.com> wrote:
>>
>>  Hi Peter,
>>
>> the following changes since commit a6ae23831b05a11880b40f7d58e332c45a6b04f7:
>>
>>   Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging (2019-05-03 15:26:09 +0100)
>>
>> are available in the Git repository at:
>>
>>   https://gitlab.com/huth/qemu.git tags/pull-request-2019-05-05
>>
>> for you to fetch changes up to 55e5578fabf744e62038f7357369a68e460fe205:
>>
>>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-03 17:06:20 +0200)
>>
>> ----------------------------------------------------------------
>> Kconfig settings for the Arm machines
>> ----------------------------------------------------------------
> 
> Hi Thomas. My test setup that does 'make clean' before the build
> failed in 'make check':
> 
> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
> QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i38
> 6 QTEST_QEMU_IMG=qemu-img tests/ahci-test -m=quick -k --tap <
> /dev/null | ./scripts/tap-driver.pl --test-name="a
> hci-test"
> qemu-system-i386: Unknown device 'ich9-ahci' for bus 'PCIE'
> Broken pipe
> /home/petmay01/linaro/qemu-for-merges/tests/libqtest.c:143:
> kill_qemu() detected QEMU death from signal 6 (Abort
> ed) (core dumped)
> Aborted (core dumped)
> ERROR - too few tests run (expected 74, got 0)
> /home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:903:
> recipe for target 'check-qtest-i386' failed
> 
> (all the builds that are just incremental without the 'make clean'
> worked ok). Any idea what's happened here?

You found a bug in hw/i386/Kconfig :)

I noticed this while working on refactoring ICH9 for the Boston board,
but didn't expect the Q35 machine would suffer the same issue.

The quick fix is:

-- >8 --
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
@@ -80,7 +80,7 @@ config Q35
     select PC_ACPI
     select PCI_EXPRESS_Q35
     select LPC_ICH9
-    select AHCI
+    select AHCI_ICH9
     select DIMM
     select SMBIOS
     select VMPORT
---

I'll send a patch.

Regards,

Phil.

Re: [Qemu-devel] [PULL 00/28] Kconfig for Arm machines
Posted by Thomas Huth 4 years, 11 months ago
On 07/05/2019 13.52, Philippe Mathieu-Daudé wrote:
> On 5/7/19 1:01 PM, Peter Maydell wrote:
>> On Sun, 5 May 2019 at 14:57, Thomas Huth <thuth@redhat.com> wrote:
>>>
>>>  Hi Peter,
>>>
>>> the following changes since commit a6ae23831b05a11880b40f7d58e332c45a6b04f7:
>>>
>>>   Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging (2019-05-03 15:26:09 +0100)
>>>
>>> are available in the Git repository at:
>>>
>>>   https://gitlab.com/huth/qemu.git tags/pull-request-2019-05-05
>>>
>>> for you to fetch changes up to 55e5578fabf744e62038f7357369a68e460fe205:
>>>
>>>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-03 17:06:20 +0200)
>>>
>>> ----------------------------------------------------------------
>>> Kconfig settings for the Arm machines
>>> ----------------------------------------------------------------
>>
>> Hi Thomas. My test setup that does 'make clean' before the build
>> failed in 'make check':
>>
>> MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
>> QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i38
>> 6 QTEST_QEMU_IMG=qemu-img tests/ahci-test -m=quick -k --tap <
>> /dev/null | ./scripts/tap-driver.pl --test-name="a
>> hci-test"
>> qemu-system-i386: Unknown device 'ich9-ahci' for bus 'PCIE'
>> Broken pipe
>> /home/petmay01/linaro/qemu-for-merges/tests/libqtest.c:143:
>> kill_qemu() detected QEMU death from signal 6 (Abort
>> ed) (core dumped)
>> Aborted (core dumped)
>> ERROR - too few tests run (expected 74, got 0)
>> /home/petmay01/linaro/qemu-for-merges/tests/Makefile.include:903:
>> recipe for target 'check-qtest-i386' failed
>>
>> (all the builds that are just incremental without the 'make clean'
>> worked ok). Any idea what's happened here?
> 
> You found a bug in hw/i386/Kconfig :)
> 
> I noticed this while working on refactoring ICH9 for the Boston board,
> but didn't expect the Q35 machine would suffer the same issue.
> 
> The quick fix is:
> 
> -- >8 --
> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
> @@ -80,7 +80,7 @@ config Q35
>      select PC_ACPI
>      select PCI_EXPRESS_Q35
>      select LPC_ICH9
> -    select AHCI
> +    select AHCI_ICH9
>      select DIMM
>      select SMBIOS
>      select VMPORT
> ---
> 
> I'll send a patch.

That config switch is not available in upstream yet, it just got
introduced by my series. But that's the right fix, I think, so I'll
squash that in and try again... (it's just weird that I can not
reproduce the build failure here locally)

 Thomas