[PULL v3 0/10] xenpvh3-tag

Stefano Stabellini posted 10 patches 1 year ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/alpine.DEB.2.22.394.2305021708010.974517@ubuntu-linux-20-04-desktop
Maintainers: Peter Maydell <peter.maydell@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>
docs/system/arm/xenpvh.rst       |   34 ++
docs/system/target-arm.rst       |    1 +
hw/arm/meson.build               |    2 +
hw/arm/xen_arm.c                 |  181 +++++++
hw/i386/meson.build              |    1 +
hw/i386/xen/meson.build          |    1 -
hw/i386/xen/trace-events         |   19 -
hw/i386/xen/xen-hvm.c            | 1075 ++++----------------------------------
hw/xen/meson.build               |    7 +
hw/xen/trace-events              |   19 +
hw/xen/xen-hvm-common.c          |  879 +++++++++++++++++++++++++++++++
hw/{i386 => }/xen/xen-mapcache.c |    0
include/hw/arm/xen_arch_hvm.h    |    9 +
include/hw/i386/xen_arch_hvm.h   |   11 +
include/hw/xen/arch_hvm.h        |    5 +
include/hw/xen/xen-hvm-common.h  |   99 ++++
include/hw/xen/xen_native.h      |   13 +-
meson.build                      |    4 +-
18 files changed, 1350 insertions(+), 1010 deletions(-)
create mode 100644 docs/system/arm/xenpvh.rst
create mode 100644 hw/arm/xen_arm.c
create mode 100644 hw/xen/xen-hvm-common.c
rename hw/{i386 => }/xen/xen-mapcache.c (100%)
create mode 100644 include/hw/arm/xen_arch_hvm.h
create mode 100644 include/hw/i386/xen_arch_hvm.h
create mode 100644 include/hw/xen/arch_hvm.h
create mode 100644 include/hw/xen/xen-hvm-common.h
[PULL v3 0/10] xenpvh3-tag
Posted by Stefano Stabellini 1 year ago
Hi Peter,

Vikram fixed the gitlab test problem, so now all the tests should
succeed. There were no changes to the QEMU code. I am resending the pull
request (I rebased it on staging, no conflicts.)

For reference this was the previous pull request:
https://marc.info/?l=qemu-devel&m=167641819725964

Cheers,

Stefano


The following changes since commit 4ebc33f3f3b656ebf62112daca6aa0f8019b4891:

  Merge tag 'pull-tcg-20230502-2' of https://gitlab.com/rth7680/qemu into staging (2023-05-02 21:18:45 +0100)

are available in the Git repository at:

  https://gitlab.com/sstabellini/qemu xenpvh3-tag

for you to fetch changes up to bc618c54318cbc2fcb9decf9d4c193cc336a0dbc:

  meson.build: enable xenpv machine build for ARM (2023-05-02 17:04:54 -0700)

----------------------------------------------------------------
Stefano Stabellini (5):
      hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
      xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common
      include/hw/xen/xen_common: return error from xen_create_ioreq_server
      hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure
      meson.build: do not set have_xen_pci_passthrough for aarch64 targets

Vikram Garhwal (5):
      hw/i386/xen/: move xen-mapcache.c to hw/xen/
      hw/i386/xen: rearrange xen_hvm_init_pc
      hw/xen/xen-hvm-common: Use g_new and error_report
      hw/arm: introduce xenpvh machine
      meson.build: enable xenpv machine build for ARM

 docs/system/arm/xenpvh.rst       |   34 ++
 docs/system/target-arm.rst       |    1 +
 hw/arm/meson.build               |    2 +
 hw/arm/xen_arm.c                 |  181 +++++++
 hw/i386/meson.build              |    1 +
 hw/i386/xen/meson.build          |    1 -
 hw/i386/xen/trace-events         |   19 -
 hw/i386/xen/xen-hvm.c            | 1075 ++++----------------------------------
 hw/xen/meson.build               |    7 +
 hw/xen/trace-events              |   19 +
 hw/xen/xen-hvm-common.c          |  879 +++++++++++++++++++++++++++++++
 hw/{i386 => }/xen/xen-mapcache.c |    0
 include/hw/arm/xen_arch_hvm.h    |    9 +
 include/hw/i386/xen_arch_hvm.h   |   11 +
 include/hw/xen/arch_hvm.h        |    5 +
 include/hw/xen/xen-hvm-common.h  |   99 ++++
 include/hw/xen/xen_native.h      |   13 +-
 meson.build                      |    4 +-
 18 files changed, 1350 insertions(+), 1010 deletions(-)
 create mode 100644 docs/system/arm/xenpvh.rst
 create mode 100644 hw/arm/xen_arm.c
 create mode 100644 hw/xen/xen-hvm-common.c
 rename hw/{i386 => }/xen/xen-mapcache.c (100%)
 create mode 100644 include/hw/arm/xen_arch_hvm.h
 create mode 100644 include/hw/i386/xen_arch_hvm.h
 create mode 100644 include/hw/xen/arch_hvm.h
 create mode 100644 include/hw/xen/xen-hvm-common.h
Re: [PULL v3 0/10] xenpvh3-tag
Posted by Richard Henderson 1 year ago
On 5/3/23 01:12, Stefano Stabellini wrote:
> Hi Peter,
> 
> Vikram fixed the gitlab test problem, so now all the tests should
> succeed. There were no changes to the QEMU code. I am resending the pull
> request (I rebased it on staging, no conflicts.)
> 
> For reference this was the previous pull request:
> https://marc.info/?l=qemu-devel&m=167641819725964
> 
> Cheers,
> 
> Stefano
> 
> 
> The following changes since commit 4ebc33f3f3b656ebf62112daca6aa0f8019b4891:
> 
>    Merge tag 'pull-tcg-20230502-2' of https://gitlab.com/rth7680/qemu into staging (2023-05-02 21:18:45 +0100)
> 
> are available in the Git repository at:
> 
>    https://gitlab.com/sstabellini/qemu xenpvh3-tag
> 
> for you to fetch changes up to bc618c54318cbc2fcb9decf9d4c193cc336a0dbc:
> 
>    meson.build: enable xenpv machine build for ARM (2023-05-02 17:04:54 -0700)
> 
> ----------------------------------------------------------------
> Stefano Stabellini (5):
>        hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
>        xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common
>        include/hw/xen/xen_common: return error from xen_create_ioreq_server
>        hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure
>        meson.build: do not set have_xen_pci_passthrough for aarch64 targets
> 
> Vikram Garhwal (5):
>        hw/i386/xen/: move xen-mapcache.c to hw/xen/
>        hw/i386/xen: rearrange xen_hvm_init_pc
>        hw/xen/xen-hvm-common: Use g_new and error_report
>        hw/arm: introduce xenpvh machine
>        meson.build: enable xenpv machine build for ARM

Errors in CI:

https://gitlab.com/qemu-project/qemu/-/jobs/4216392008#L2381

../hw/i386/xen/xen-hvm.c:303:9: error: implicit declaration of function 'error_report' is 
invalid in C99 [-Werror,-Wimplicit-function-declaration]
         error_report("relocate_memory %lu pages from GFN %"HWADDR_PRIx
         ^


r~
Re: [PULL v3 0/10] xenpvh3-tag
Posted by Vikram Garhwal 1 year ago
Hi Richard,

On 5/3/23 12:47 AM, Richard Henderson wrote:
> On 5/3/23 01:12, Stefano Stabellini wrote:
>> Hi Peter,
>>
>> Vikram fixed the gitlab test problem, so now all the tests should
>> succeed. There were no changes to the QEMU code. I am resending the pull
>> request (I rebased it on staging, no conflicts.)
>>
>> For reference this was the previous pull request:
>> https://marc.info/?l=qemu-devel&m=167641819725964
>>
>> Cheers,
>>
>> Stefano
>>
>>
>> The following changes since commit 
>> 4ebc33f3f3b656ebf62112daca6aa0f8019b4891:
>>
>>    Merge tag 'pull-tcg-20230502-2' of https://gitlab.com/rth7680/qemu 
>> into staging (2023-05-02 21:18:45 +0100)
>>
>> are available in the Git repository at:
>>
>>    https://gitlab.com/sstabellini/qemu xenpvh3-tag
>>
>> for you to fetch changes up to bc618c54318cbc2fcb9decf9d4c193cc336a0dbc:
>>
>>    meson.build: enable xenpv machine build for ARM (2023-05-02 
>> 17:04:54 -0700)
>>
>> ----------------------------------------------------------------
>> Stefano Stabellini (5):
>>        hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
>>        xen-hvm: reorganize xen-hvm and move common function to 
>> xen-hvm-common
>>        include/hw/xen/xen_common: return error from 
>> xen_create_ioreq_server
>>        hw/xen/xen-hvm-common: skip ioreq creation on ioreq 
>> registration failure
>>        meson.build: do not set have_xen_pci_passthrough for aarch64 
>> targets
>>
>> Vikram Garhwal (5):
>>        hw/i386/xen/: move xen-mapcache.c to hw/xen/
>>        hw/i386/xen: rearrange xen_hvm_init_pc
>>        hw/xen/xen-hvm-common: Use g_new and error_report
>>        hw/arm: introduce xenpvh machine
>>        meson.build: enable xenpv machine build for ARM
>
> Errors in CI:
>
> https://gitlab.com/qemu-project/qemu/-/jobs/4216392008#L2381
>
> ../hw/i386/xen/xen-hvm.c:303:9: error: implicit declaration of 
> function 'error_report' is invalid in C99 
> [-Werror,-Wimplicit-function-declaration]
>         error_report("relocate_memory %lu pages from GFN %"HWADDR_PRIx
Thanks for notifying this. I am not sure why this particular build is 
failing. error_report() is defined in "|qemu/error-report.h" and the 
header should be included as |||it builds fine for other configs.
|Also, the same tsan-build passed when we sent the PULL for v2.

||||I am not sure why it's failing for this config. W||ill try to fix 
this. Meanwhile, any hints on how to fix/debug this?

Regards,
Vikram
|
> ^
>
>
> r~


Re: [PULL v3 0/10] xenpvh3-tag
Posted by Richard Henderson 1 year ago
On 5/4/23 06:18, Vikram Garhwal wrote:
> Hi Richard,
> 
> On 5/3/23 12:47 AM, Richard Henderson wrote:
>> On 5/3/23 01:12, Stefano Stabellini wrote:
>>> Hi Peter,
>>>
>>> Vikram fixed the gitlab test problem, so now all the tests should
>>> succeed. There were no changes to the QEMU code. I am resending the pull
>>> request (I rebased it on staging, no conflicts.)
>>>
>>> For reference this was the previous pull request:
>>> https://marc.info/?l=qemu-devel&m=167641819725964
>>>
>>> Cheers,
>>>
>>> Stefano
>>>
>>>
>>> The following changes since commit 4ebc33f3f3b656ebf62112daca6aa0f8019b4891:
>>>
>>>    Merge tag 'pull-tcg-20230502-2' of https://gitlab.com/rth7680/qemu into staging 
>>> (2023-05-02 21:18:45 +0100)
>>>
>>> are available in the Git repository at:
>>>
>>>    https://gitlab.com/sstabellini/qemu xenpvh3-tag
>>>
>>> for you to fetch changes up to bc618c54318cbc2fcb9decf9d4c193cc336a0dbc:
>>>
>>>    meson.build: enable xenpv machine build for ARM (2023-05-02 17:04:54 -0700)
>>>
>>> ----------------------------------------------------------------
>>> Stefano Stabellini (5):
>>>        hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
>>>        xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common
>>>        include/hw/xen/xen_common: return error from xen_create_ioreq_server
>>>        hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure
>>>        meson.build: do not set have_xen_pci_passthrough for aarch64 targets
>>>
>>> Vikram Garhwal (5):
>>>        hw/i386/xen/: move xen-mapcache.c to hw/xen/
>>>        hw/i386/xen: rearrange xen_hvm_init_pc
>>>        hw/xen/xen-hvm-common: Use g_new and error_report
>>>        hw/arm: introduce xenpvh machine
>>>        meson.build: enable xenpv machine build for ARM
>>
>> Errors in CI:
>>
>> https://gitlab.com/qemu-project/qemu/-/jobs/4216392008#L2381
>>
>> ../hw/i386/xen/xen-hvm.c:303:9: error: implicit declaration of function 'error_report' 
>> is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>>         error_report("relocate_memory %lu pages from GFN %"HWADDR_PRIx
> Thanks for notifying this. I am not sure why this particular build is failing. 
> error_report() is defined in "|qemu/error-report.h" and the header should be included as 
> |||it builds fine for other configs.

You removed qemu/error-report.h in

     xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common

within this patch set.


r~

Re: [PULL v3 0/10] xenpvh3-tag
Posted by Garhwal, Vikram 11 months, 1 week ago
Hi Richard,
I fixed the tsan-build issue but now seeing another issue with “—disable-tcg” option for cross builds xen. Here is the build failure message:
"include/tcg/oversized-guest.h:10:10: fatal error: tcg-target-reg-bits.h: No such file or directory
10 | #include "tcg-target-reg-bits.h”


Full log for build fail: https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/jobs/4416773231.
This is my last patch which enables xen build for ARM: https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/commit/6f6667217bfc14ff5504ee5fdee23a948d60fb7f.

This seems something missing in disable-tcg config for ARM builds. Any hints on what might be causing this TCG issue?

Thanks in advance for your help!

Regards,
Vikram


From: Richard Henderson <richard.henderson@linaro.org>
Date: Wednesday, May 3, 2023 at 11:35 PM
To: Garhwal, Vikram <vikram.garhwal@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, peter.maydell@linaro.org <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org <qemu-devel@nongnu.org>
Subject: Re: [PULL v3 0/10] xenpvh3-tag
On 5/4/23 06:18, Vikram Garhwal wrote:
> Hi Richard,
>
> On 5/3/23 12:47 AM, Richard Henderson wrote:
>> On 5/3/23 01:12, Stefano Stabellini wrote:
>>> Hi Peter,
>>>
>>> Vikram fixed the gitlab test problem, so now all the tests should
>>> succeed. There were no changes to the QEMU code. I am resending the pull
>>> request (I rebased it on staging, no conflicts.)
>>>
>>> For reference this was the previous pull request:
>>> https://marc.info/?l=qemu-devel&m=167641819725964
>>>
>>> Cheers,
>>>
>>> Stefano
>>>
>>>
>>> The following changes since commit 4ebc33f3f3b656ebf62112daca6aa0f8019b4891:
>>>
>>>    Merge tag 'pull-tcg-20230502-2' of https://gitlab.com/rth7680/qemu into staging
>>> (2023-05-02 21:18:45 +0100)
>>>
>>> are available in the Git repository at:
>>>
>>>    https://gitlab.com/sstabellini/qemu xenpvh3-tag
>>>
>>> for you to fetch changes up to bc618c54318cbc2fcb9decf9d4c193cc336a0dbc:
>>>
>>>    meson.build: enable xenpv machine build for ARM (2023-05-02 17:04:54 -0700)
>>>
>>> ----------------------------------------------------------------
>>> Stefano Stabellini (5):
>>>        hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
>>>        xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common
>>>        include/hw/xen/xen_common: return error from xen_create_ioreq_server
>>>        hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure
>>>        meson.build: do not set have_xen_pci_passthrough for aarch64 targets
>>>
>>> Vikram Garhwal (5):
>>>        hw/i386/xen/: move xen-mapcache.c to hw/xen/
>>>        hw/i386/xen: rearrange xen_hvm_init_pc
>>>        hw/xen/xen-hvm-common: Use g_new and error_report
>>>        hw/arm: introduce xenpvh machine
>>>        meson.build: enable xenpv machine build for ARM
>>
>> Errors in CI:
>>
>> https://gitlab.com/qemu-project/qemu/-/jobs/4216392008#L2381
>>
>> ../hw/i386/xen/xen-hvm.c:303:9: error: implicit declaration of function 'error_report'
>> is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>>         error_report("relocate_memory %lu pages from GFN %"HWADDR_PRIx
> Thanks for notifying this. I am not sure why this particular build is failing.
> error_report() is defined in "|qemu/error-report.h" and the header should be included as
> |||it builds fine for other configs.

You removed qemu/error-report.h in

     xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common

within this patch set.


r~
Re: [PULL v3 0/10] xenpvh3-tag
Posted by Richard Henderson 11 months, 1 week ago
On 6/6/23 11:51, Garhwal, Vikram wrote:
> Hi Richard,
> 
> I fixed the tsan-build issue but now seeing another issue with “—disable-tcg” option for 
> cross builds xen. Here is the build failure message:
> "include/tcg/oversized-guest.h:10:10: fatal error: tcg-target-reg-bits.h: No such file or 
> directory
> 
> 10 | #include "tcg-target-reg-bits.h”
> 
> 
> 
> Full log for build fail: https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/jobs/4416773231 
> <https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/jobs/4416773231>.
> 
> This is my last patch which enables xen build for ARM: 
> https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/commit/6f6667217bfc14ff5504ee5fdee23a948d60fb7f <https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/commit/6f6667217bfc14ff5504ee5fdee23a948d60fb7f>.
> 
> This seems something missing in disable-tcg config for ARM builds. Any hints on what might 
> be causing this TCG issue?
> 
> Thanks in advance for your help!

I meant to cc you, but fix here:

https://patchew.org/QEMU/20230606224609.208550-1-richard.henderson@linaro.org/


r~

Re: [PULL v3 0/10] xenpvh3-tag
Posted by Vikram Garhwal 11 months, 1 week ago

On 6/6/23 3:50 PM, Richard Henderson wrote:
> On 6/6/23 11:51, Garhwal, Vikram wrote:
>> Hi Richard,
>>
>> I fixed the tsan-build issue but now seeing another issue with 
>> “—disable-tcg” option for cross builds xen. Here is the build failure 
>> message:
>> "include/tcg/oversized-guest.h:10:10: fatal error: 
>> tcg-target-reg-bits.h: No such file or directory
>>
>> 10 | #include "tcg-target-reg-bits.h”
>>
>>
>>
>> Full log for build fail: 
>> https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/jobs/4416773231 
>> <https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/jobs/4416773231>.
>>
>> This is my last patch which enables xen build for ARM: 
>> https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/commit/6f6667217bfc14ff5504ee5fdee23a948d60fb7f 
>> <https://gitlab.com/Vikram.garhwal/qemu-ioreq/-/commit/6f6667217bfc14ff5504ee5fdee23a948d60fb7f>. 
>>
>>
>> This seems something missing in disable-tcg config for ARM builds. 
>> Any hints on what might be causing this TCG issue?
>>
>> Thanks in advance for your help!
>
> I meant to cc you, but fix here:
>
> https://patchew.org/QEMU/20230606224609.208550-1-richard.henderson@linaro.org/ 
>
>
Thanks, Richard. This helps a lot. I will rebase my patches on this 
series and re-test gitlab ci.
>
> r~