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

Thomas Huth posted 28 patches 4 years, 11 months ago
Only 1 patches received!
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/i386/Kconfig                     |   2 +-
hw/ide/Kconfig                      |   6 +-
hw/ide/Makefile.objs                |   2 +-
hw/misc/Kconfig                     |   2 +
hw/pci/pci-stub.c                   |  11 ++
11 files changed, 384 insertions(+), 170 deletions(-)
[Qemu-devel] [PULL v2 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-07

for you to fetch changes up to 69f879e9fefab9aaf24893fe4ce23e07756d703c:

  hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-07 15:01:47 +0200)

----------------------------------------------------------------
Kconfig settings for the Arm machines
(v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
----------------------------------------------------------------

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/i386/Kconfig                     |   2 +-
 hw/ide/Kconfig                      |   6 +-
 hw/ide/Makefile.objs                |   2 +-
 hw/misc/Kconfig                     |   2 +
 hw/pci/pci-stub.c                   |  11 ++
 11 files changed, 384 insertions(+), 170 deletions(-)

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Peter Maydell 4 years, 11 months ago
On Tue, 7 May 2019 at 14:45, 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-07
>
> for you to fetch changes up to 69f879e9fefab9aaf24893fe4ce23e07756d703c:
>
>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-07 15:01:47 +0200)
>
> ----------------------------------------------------------------
> Kconfig settings for the Arm machines
> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
> ----------------------------------------------------------------

Hi -- this is still failing in the build test where I 'make clean'
before doing the build:

MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))}
QTEST_QEMU_BINARY=i386-softmmu/qemu-system-i386
QTEST_QEMU_IMG=qemu-img tests/a
hci-test -m=quick -k --tap < /dev/null | ./scripts/tap-driver.pl
--test-name="ahci-test"
qemu-system-i386: Unknown device 'ich9-ahci' for bus 'PCIE'
Broken pipe

thanks
-- PMM

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Thomas Huth 4 years, 11 months ago
On 08/05/2019 17.09, Peter Maydell wrote:
> On Tue, 7 May 2019 at 14:45, 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-07
>>
>> for you to fetch changes up to 69f879e9fefab9aaf24893fe4ce23e07756d703c:
>>
>>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-07 15:01:47 +0200)
>>
>> ----------------------------------------------------------------
>> Kconfig settings for the Arm machines
>> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
>> ----------------------------------------------------------------
> 
> Hi -- this is still failing in the build test where I 'make clean'

Very weird. What is running before the "make clean"? Could you provide
me with the content of i386-softmmu/config-devices.mak please?

 Thomas

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Philippe Mathieu-Daudé 4 years, 11 months ago
On 5/8/19 5:33 PM, Thomas Huth wrote:
> On 08/05/2019 17.09, Peter Maydell wrote:
>> On Tue, 7 May 2019 at 14:45, 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-07
>>>
>>> for you to fetch changes up to 69f879e9fefab9aaf24893fe4ce23e07756d703c:
>>>
>>>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-07 15:01:47 +0200)
>>>
>>> ----------------------------------------------------------------
>>> Kconfig settings for the Arm machines
>>> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
>>> ----------------------------------------------------------------
>>
>> Hi -- this is still failing in the build test where I 'make clean'
> 
> Very weird. What is running before the "make clean"? Could you provide
> me with the content of i386-softmmu/config-devices.mak please?

It worked for me after running 'git fetch --tags', maybe because Thomas
used the same tag?

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Philippe Mathieu-Daudé 4 years, 11 months ago
[clicked ctrl+enter too fast]

On Wed, May 8, 2019 at 6:43 PM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> On 5/8/19 5:33 PM, Thomas Huth wrote:
> > On 08/05/2019 17.09, Peter Maydell wrote:
> >> On Tue, 7 May 2019 at 14:45, 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-07
> >>>
> >>> for you to fetch changes up to 69f879e9fefab9aaf24893fe4ce23e07756d703c:
> >>>
> >>>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-07 15:01:47 +0200)
> >>>
> >>> ----------------------------------------------------------------
> >>> Kconfig settings for the Arm machines
> >>> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
> >>> ----------------------------------------------------------------
> >>
> >> Hi -- this is still failing in the build test where I 'make clean'
> >
> > Very weird. What is running before the "make clean"? Could you provide
> > me with the content of i386-softmmu/config-devices.mak please?
>
> It worked for me after running 'git fetch --tags', maybe because Thomas
> used the same tag?

Maybe because Thomas used the same tag you are still trying the
previous version?

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Thomas Huth 4 years, 11 months ago
On 08/05/2019 18.45, Philippe Mathieu-Daudé wrote:
> [clicked ctrl+enter too fast]
> 
> On Wed, May 8, 2019 at 6:43 PM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>> On 5/8/19 5:33 PM, Thomas Huth wrote:
>>> On 08/05/2019 17.09, Peter Maydell wrote:
>>>> On Tue, 7 May 2019 at 14:45, 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-07
>>>>>
>>>>> for you to fetch changes up to 69f879e9fefab9aaf24893fe4ce23e07756d703c:
>>>>>
>>>>>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-07 15:01:47 +0200)
>>>>>
>>>>> ----------------------------------------------------------------
>>>>> Kconfig settings for the Arm machines
>>>>> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
>>>>> ----------------------------------------------------------------
>>>>
>>>> Hi -- this is still failing in the build test where I 'make clean'
>>>
>>> Very weird. What is running before the "make clean"? Could you provide
>>> me with the content of i386-softmmu/config-devices.mak please?
>>
>> It worked for me after running 'git fetch --tags', maybe because Thomas
>> used the same tag?
> 
> Maybe because Thomas used the same tag you are still trying the
> previous version?

I did not use the same tag. v1 had pull-request-2019-05-05 while v2 has
pull-request-2019-05-07. So this can not be the reason.

 Thomas



Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Philippe Mathieu-Daudé 4 years, 11 months ago
On 5/9/19 7:34 AM, Thomas Huth wrote:
> On 08/05/2019 18.45, Philippe Mathieu-Daudé wrote:
>> [clicked ctrl+enter too fast]
>>
>> On Wed, May 8, 2019 at 6:43 PM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>> On 5/8/19 5:33 PM, Thomas Huth wrote:
>>>> On 08/05/2019 17.09, Peter Maydell wrote:
>>>>> On Tue, 7 May 2019 at 14:45, 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-07
>>>>>>
>>>>>> for you to fetch changes up to 69f879e9fefab9aaf24893fe4ce23e07756d703c:
>>>>>>
>>>>>>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-07 15:01:47 +0200)
>>>>>>
>>>>>> ----------------------------------------------------------------
>>>>>> Kconfig settings for the Arm machines
>>>>>> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
>>>>>> ----------------------------------------------------------------
>>>>>
>>>>> Hi -- this is still failing in the build test where I 'make clean'
>>>>
>>>> Very weird. What is running before the "make clean"? Could you provide
>>>> me with the content of i386-softmmu/config-devices.mak please?
>>>
>>> It worked for me after running 'git fetch --tags', maybe because Thomas
>>> used the same tag?
>>
>> Maybe because Thomas used the same tag you are still trying the
>> previous version?
> 
> I did not use the same tag. v1 had pull-request-2019-05-05 while v2 has
> pull-request-2019-05-07. So this can not be the reason.

Oh, I might have mixed up because I ran "git fetch" -> no change,
because tags are not fetched by default. "pull-request-2019-05-07" is
what I tested, with/without running "make clean". I can not reproduce
the error Peter is having.

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Peter Maydell 4 years, 11 months ago
On Wed, 8 May 2019 at 16:33, Thomas Huth <thuth@redhat.com> wrote:
>
> On 08/05/2019 17.09, Peter Maydell wrote:
> > On Tue, 7 May 2019 at 14:45, Thomas Huth <thuth@redhat.com> wrote:
> >> ----------------------------------------------------------------
> >> Kconfig settings for the Arm machines
> >> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
> >> ----------------------------------------------------------------
> >
> > Hi -- this is still failing in the build test where I 'make clean'
>
> Very weird. What is running before the "make clean"? Could you provide
> me with the content of i386-softmmu/config-devices.mak please?

Nothing runs before make clean -- my scripts effectively just do
a git merge, then make clean, then make, then make check.

http://people.linaro.org/~peter.maydell/config-devices.mak
is the i386-softmmu/config-devices.mak
(it does not include AHCI_ICH9).

I notice that "make clean" does not delete config-devices.mak,
and "make" doesn't cause anything to update it, either.

Further, if I "touch hw/i386/Kconfig" and then run make, nothing
is rebuilt at all, so something seems to be wrong with our
makefile dependencies somewhere.

It's kind of weird that it only shows up with the from-clean
build and not with the incrementals, though.

thanks
-- PMM

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Philippe Mathieu-Daudé 4 years, 11 months ago
Cc'ing Paolo

On 5/9/19 6:54 PM, Peter Maydell wrote:
> On Wed, 8 May 2019 at 16:33, Thomas Huth <thuth@redhat.com> wrote:
>>
>> On 08/05/2019 17.09, Peter Maydell wrote:
>>> On Tue, 7 May 2019 at 14:45, Thomas Huth <thuth@redhat.com> wrote:
>>>> ----------------------------------------------------------------
>>>> Kconfig settings for the Arm machines
>>>> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
>>>> ----------------------------------------------------------------
>>>
>>> Hi -- this is still failing in the build test where I 'make clean'
>>
>> Very weird. What is running before the "make clean"? Could you provide
>> me with the content of i386-softmmu/config-devices.mak please?
> 
> Nothing runs before make clean -- my scripts effectively just do
> a git merge, then make clean, then make, then make check.
> 
> http://people.linaro.org/~peter.maydell/config-devices.mak
> is the i386-softmmu/config-devices.mak
> (it does not include AHCI_ICH9).
> 
> I notice that "make clean" does not delete config-devices.mak,
> and "make" doesn't cause anything to update it, either.
> 
> Further, if I "touch hw/i386/Kconfig" and then run make, nothing
> is rebuilt at all, so something seems to be wrong with our
> makefile dependencies somewhere.

Good finding.

> 
> It's kind of weird that it only shows up with the from-clean
> build and not with the incrementals, though.
> 
> thanks
> -- PMM
> 

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Thomas Huth 4 years, 11 months ago
On 09/05/2019 18.54, Peter Maydell wrote:
> On Wed, 8 May 2019 at 16:33, Thomas Huth <thuth@redhat.com> wrote:
>>
>> On 08/05/2019 17.09, Peter Maydell wrote:
>>> On Tue, 7 May 2019 at 14:45, Thomas Huth <thuth@redhat.com> wrote:
>>>> ----------------------------------------------------------------
>>>> Kconfig settings for the Arm machines
>>>> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
>>>> ----------------------------------------------------------------
>>>
>>> Hi -- this is still failing in the build test where I 'make clean'
>>
>> Very weird. What is running before the "make clean"? Could you provide
>> me with the content of i386-softmmu/config-devices.mak please?
> 
> Nothing runs before make clean -- my scripts effectively just do
> a git merge, then make clean, then make, then make check.

I tried to reproduce it for a while, but for me, switching between
master and the kconfig-for-arm tree always triggers a "configure" run
and thus the dependencies get regenerated right...

> I notice that "make clean" does not delete config-devices.mak,
> and "make" doesn't cause anything to update it, either.

They are only removed during "distclean", but not for "clean" (which is
what we want, IMHO).

> Further, if I "touch hw/i386/Kconfig" and then run make, nothing
> is rebuilt at all, so something seems to be wrong with our
> makefile dependencies somewhere.

Now that's a good hint. There is definitely something wrong with the
dependencies here. I can see that I've got a file called
"x86_64-softmmu-config.devices.mak.d" in my build directory, but
apparently the Makefile tries to include
x86_64-softmmu/config-devices.mak.d via the SUBDIR_DEVICES_MAK_DEP
variable instead. Since that file does not exist, the dependencies are
completely ignored... Paolo, what was the intention here? Should the
dependencies always be generated in the *softmmu folders instead?

 Thomas

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Peter Maydell 4 years, 11 months ago
On Fri, 10 May 2019 at 08:52, Thomas Huth <thuth@redhat.com> wrote:
>
> On 09/05/2019 18.54, Peter Maydell wrote:
> > Further, if I "touch hw/i386/Kconfig" and then run make, nothing
> > is rebuilt at all, so something seems to be wrong with our
> > makefile dependencies somewhere.
>
> Now that's a good hint. There is definitely something wrong with the
> dependencies here. I can see that I've got a file called
> "x86_64-softmmu-config.devices.mak.d" in my build directory, but
> apparently the Makefile tries to include
> x86_64-softmmu/config-devices.mak.d via the SUBDIR_DEVICES_MAK_DEP
> variable instead. Since that file does not exist, the dependencies are
> completely ignored... Paolo, what was the intention here? Should the
> dependencies always be generated in the *softmmu folders instead?

I think the .mak.d files should live in the foo-softmmu/
subdirectories, because that puts them next to the .mak
files that they're the dependencies for (it also avoids
the slightly aesthetically unpleasing very long filenames
in the root of the build directory).

thanks
-- PMM

Re: [Qemu-devel] [PULL v2 00/28] Kconfig for Arm machines
Posted by Thomas Huth 4 years, 11 months ago
On 09/05/2019 18.54, Peter Maydell wrote:
> On Wed, 8 May 2019 at 16:33, Thomas Huth <thuth@redhat.com> wrote:
>>
>> On 08/05/2019 17.09, Peter Maydell wrote:
>>> On Tue, 7 May 2019 at 14:45, Thomas Huth <thuth@redhat.com> wrote:
>>>> ----------------------------------------------------------------
>>>> Kconfig settings for the Arm machines
>>>> (v2: Fix the dependency of q35 to AHCI_ICH9 in the second patch)
>>>> ----------------------------------------------------------------
>>>
>>> Hi -- this is still failing in the build test where I 'make clean'
>>
>> Very weird. What is running before the "make clean"? Could you provide
>> me with the content of i386-softmmu/config-devices.mak please?
> 
> Nothing runs before make clean -- my scripts effectively just do
> a git merge, then make clean, then make, then make check.

By the way, I think you should do "make clean" first, before the merge,
in case something changed in the "clean" rules.

> Further, if I "touch hw/i386/Kconfig" and then run make, nothing
> is rebuilt at all, so something seems to be wrong with our
> makefile dependencies somewhere.

I've sent a patch now, please have a look at "Makefile: Fix inclusion of
the config-devices.mak.d Kconfig dependencies".

 Thomas