[PULL 00/10] PPC PR for 11.0 soft-freeze

Harsh Prateek Bora posted 10 patches 4 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260310151432.92531-1-harshpb@linux.ibm.com
Maintainers: Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Glenn Miles <milesg@linux.ibm.com>, Aditya Gupta <adityag@linux.ibm.com>, Hari Bathini <hbathini@linux.ibm.com>, Sourabh Jain <sourabhjain@linux.ibm.com>
MAINTAINERS                           |   8 +
include/hw/ppc/pnv.h                  |   7 +
include/hw/ppc/pnv_mpipl.h            | 168 ++++++++++++
hw/ppc/pnv.c                          |  98 +++++++
hw/ppc/pnv_mpipl.c                    | 482 ++++++++++++++++++++++++++++++++++
hw/ppc/pnv_sbe.c                      |  84 +++++-
hw/ppc/meson.build                    |   1 +
tests/functional/ppc64/test_fadump.py |  35 +--
8 files changed, 852 insertions(+), 31 deletions(-)
create mode 100644 include/hw/ppc/pnv_mpipl.h
create mode 100644 hw/ppc/pnv_mpipl.c
[PULL 00/10] PPC PR for 11.0 soft-freeze
Posted by Harsh Prateek Bora 4 weeks ago
The following changes since commit ae56950eac7b61b1abf42003329ee0f3ce111711:

  Merge tag 'firmware-20260310-pull-request' of https://gitlab.com/kraxel/qemu into staging (2026-03-10 13:32:30 +0000)

are available in the Git repository at:

  https://gitlab.com/harshpb/qemu.git tags/pull-ppc-for-11.0-softfreeze-20260310

for you to fetch changes up to 8d00b61217814fa6809768b8d2ca13167ad4106a:

  MAINTAINERS: Add entry for MPIPL (PowerNV) (2026-03-10 20:23:46 +0530)

----------------------------------------------------------------
PPC PR for 11.0 soft-freeze

- MPIPL support for PowerNV

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEa4EM1tK+EPOIPSFCRUTplPnWj7sFAmmwMSQACgkQRUTplPnW
j7sRUw/9G0iQ9VAao0nmmf4M/cKsQueZEA01KS2C4nGb2ggoDkS0oBrnFivW+Spq
YLR5dNw/p9eu5OzRIVHIHaGA8128vXWYUU/aa4rFOTQRMheLgnlNSqslnEJ+JJ05
RF/P6MhlY6kvXr3p7zE63SWStmzDKdzWsAYKWBFxQh5Vy7hnDL5p3G3Pq6WEf2x6
eK7b0x+WM6ni1SCTXkDnr0Cvk7f8oAshcuPV7hl2Y4jLvjkNzCMtcJOKAYfZxLW0
63f1Hpw27mJEVuOfb9UseyVsw/N/rtd/nSTf0mXpua/q5OVtgMjw/GELNCF4MQNa
Rlh1wz4UuAnRTPWxnT940TadIOVZU3m8+XMk1eAzvKWgeHcEk+yXKmlMT8D1weLL
Y3raH5zua/Jt2j4BczjCb4ho27pzraEzk5CAPgwS0po66J0D69T6eC+kE3MAKA8s
aj5cXB+fiH5/NA6VpQJ2jmYDErAJctiTTnYFL8MawzBr2/aaJqjMjyZUJl9ZJtFS
7PvW+gASC6IV74U4x+QVWHLHgjHzBcqu+nRFQTlmCq3xWrWf9oJe08XPzSBnsuZB
Ujf/tpG3Uw9PE/BDbIxNE44R5BJGQv0jjQUhjZTX755tOmcqSyU/g4vgqi2d6RmA
GGQpG7T5CjUxe0k8KmYZ/MjzGlCQONCJ0itIRJbwnzZn0yiDSTk=
=DVCE
-----END PGP SIGNATURE-----

----------------------------------------------------------------
Aditya Gupta (10):
      ppc/pnv: Move SBE host doorbell function to top of file
      ppc/mpipl: Implement S0 SBE interrupt
      ppc/pnv: Handle stash command in PowerNV SBE
      pnv/mpipl: Preserve memory regions as per MDST/MDDT tables
      pnv/mpipl: Preserve CPU registers after crash
      pnv/mpipl: Set thread entry size to be allocated by firmware
      pnv/mpipl: Write the preserved CPU and MDRT state
      pnv/mpipl: Enable MPIPL support
      tests/functional: Add test for MPIPL in PowerNV
      MAINTAINERS: Add entry for MPIPL (PowerNV)

 MAINTAINERS                           |   8 +
 include/hw/ppc/pnv.h                  |   7 +
 include/hw/ppc/pnv_mpipl.h            | 168 ++++++++++++
 hw/ppc/pnv.c                          |  98 +++++++
 hw/ppc/pnv_mpipl.c                    | 482 ++++++++++++++++++++++++++++++++++
 hw/ppc/pnv_sbe.c                      |  84 +++++-
 hw/ppc/meson.build                    |   1 +
 tests/functional/ppc64/test_fadump.py |  35 +--
 8 files changed, 852 insertions(+), 31 deletions(-)
 create mode 100644 include/hw/ppc/pnv_mpipl.h
 create mode 100644 hw/ppc/pnv_mpipl.c
Re: [PULL 00/10] PPC PR for 11.0 soft-freeze
Posted by Peter Maydell 4 weeks ago
On Tue, 10 Mar 2026 at 15:15, Harsh Prateek Bora <harshpb@linux.ibm.com> wrote:
>
> The following changes since commit ae56950eac7b61b1abf42003329ee0f3ce111711:
>
>   Merge tag 'firmware-20260310-pull-request' of https://gitlab.com/kraxel/qemu into staging (2026-03-10 13:32:30 +0000)
>
> are available in the Git repository at:
>
>   https://gitlab.com/harshpb/qemu.git tags/pull-ppc-for-11.0-softfreeze-20260310
>
> for you to fetch changes up to 8d00b61217814fa6809768b8d2ca13167ad4106a:
>
>   MAINTAINERS: Add entry for MPIPL (PowerNV) (2026-03-10 20:23:46 +0530)
>
> ----------------------------------------------------------------
> PPC PR for 11.0 soft-freeze
>
> - MPIPL support for PowerNV
>

Hi; this has build failures:

https://gitlab.com/qemu-project/qemu/-/jobs/13431423411

../hw/ppc/pnv_sbe.c:279:29: error: format specifies type 'unsigned
long long' but the argument has type 'ram_addr_t' (aka 'unsigned
long') [-Werror,-Wformat]
  277 | qemu_log_mask(LOG_GUEST_ERROR,
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  278 | "SBE: skiboot_base 0x%" PRIx64 " exceeds RAM size 0x%" PRIx64 "\n",
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  279 | mbox_val, machine->ram_size);
      | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~

You need to use RAM_ADDR_FMT for printing ram_addr_t values.

https://gitlab.com/qemu-project/qemu/-/jobs/13431423381

In file included from ../hw/ppc/pnv_lpc.c:28:
In file included from /tmp/cirrus-ci-build/include/hw/ppc/pnv.h:28:
/tmp/cirrus-ci-build/include/hw/ppc/pnv_mpipl.h:54:9: error:
'__packed' macro redefined [-Werror,-Wmacro-redefined]
  54 | #define __packed __attribute__((packed))
     | ^
/usr/include/sys/cdefs.h:217:9: note: previous definition is here
 217 | #define __packed __attribute__((__packed__))
     | ^
1 error generated.

This header shouldn't be defining its own private macro
for the packed attribute -- use QEMU_PACKED.

Not a compile error, but I just noticed:

This header should not include osdep.h. The rule is:
 * all .c files include osdep.h first
 * no .h file includes osdep.h

Also, the fadump test failed on the functional-system-centos
CI job:

https://gitlab.com/qemu-project/qemu/-/jobs/13431423958

AssertionError: 'b'fadump: Reserved '' found in console, expected
'b'fadump: Firmware-assisted dump is active''

thanks
-- PMM
Re: [PULL 00/10] PPC PR for 11.0 soft-freeze
Posted by Harsh Prateek Bora 4 weeks ago
+ Aditya

Hi Peter,

Is there a way to trigger aarch64-macos-build and x64-freebsd-14-build 
from Qemu gitlab CI? I had run the CI pipeline with below job and I do 
not see those tests getting listed/executed:

https://gitlab.com/harshpb/qemu/-/pipelines/2375854439


Aditya,
Could you please take a look at below listed CI failures and address it?

Thanks
Harsh

On 10/03/26 9:23 pm, Peter Maydell wrote:
> On Tue, 10 Mar 2026 at 15:15, Harsh Prateek Bora <harshpb@linux.ibm.com> wrote:
>>
>> The following changes since commit ae56950eac7b61b1abf42003329ee0f3ce111711:
>>
>>    Merge tag 'firmware-20260310-pull-request' of https://gitlab.com/kraxel/qemu into staging (2026-03-10 13:32:30 +0000)
>>
>> are available in the Git repository at:
>>
>>    https://gitlab.com/harshpb/qemu.git tags/pull-ppc-for-11.0-softfreeze-20260310
>>
>> for you to fetch changes up to 8d00b61217814fa6809768b8d2ca13167ad4106a:
>>
>>    MAINTAINERS: Add entry for MPIPL (PowerNV) (2026-03-10 20:23:46 +0530)
>>
>> ----------------------------------------------------------------
>> PPC PR for 11.0 soft-freeze
>>
>> - MPIPL support for PowerNV
>>
> 
> Hi; this has build failures:
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/13431423411
> 
> ../hw/ppc/pnv_sbe.c:279:29: error: format specifies type 'unsigned
> long long' but the argument has type 'ram_addr_t' (aka 'unsigned
> long') [-Werror,-Wformat]
>    277 | qemu_log_mask(LOG_GUEST_ERROR,
>        | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    278 | "SBE: skiboot_base 0x%" PRIx64 " exceeds RAM size 0x%" PRIx64 "\n",
>        | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>    279 | mbox_val, machine->ram_size);
>        | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> 
> You need to use RAM_ADDR_FMT for printing ram_addr_t values.
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/13431423381
> 
> In file included from ../hw/ppc/pnv_lpc.c:28:
> In file included from /tmp/cirrus-ci-build/include/hw/ppc/pnv.h:28:
> /tmp/cirrus-ci-build/include/hw/ppc/pnv_mpipl.h:54:9: error:
> '__packed' macro redefined [-Werror,-Wmacro-redefined]
>    54 | #define __packed __attribute__((packed))
>       | ^
> /usr/include/sys/cdefs.h:217:9: note: previous definition is here
>   217 | #define __packed __attribute__((__packed__))
>       | ^
> 1 error generated.
> 
> This header shouldn't be defining its own private macro
> for the packed attribute -- use QEMU_PACKED.
> 
> Not a compile error, but I just noticed:
> 
> This header should not include osdep.h. The rule is:
>   * all .c files include osdep.h first
>   * no .h file includes osdep.h
> 
> Also, the fadump test failed on the functional-system-centos
> CI job:
> 
> https://gitlab.com/qemu-project/qemu/-/jobs/13431423958
> 
> AssertionError: 'b'fadump: Reserved '' found in console, expected
> 'b'fadump: Firmware-assisted dump is active''
> 
> thanks
> -- PMM
Re: [PULL 00/10] PPC PR for 11.0 soft-freeze
Posted by Aditya Gupta 3 weeks, 6 days ago
Hello Peter,

I run the pipeline everytime before sending, curious about the tests I
missed.

1. How can I get the console log of the failed centos test ? Or how to
(or if I can) run that test on my system ?

I did not find the log in the gitlab test's artifacts.
Surprised with the failure on the particular centos distro.

2. Is there a way to enable these tests, or to get access to these
tests: aarch64-macos-build & x64-freebsd-14-build

I read these are run using cirrus ci, can these be run on our systems,
if not on gitlab ?

Thanks for the suggestions Peter, i have the fixes ready for the next
version.

Thanks,
- Aditya G
Re: [PULL 00/10] PPC PR for 11.0 soft-freeze
Posted by Thomas Huth 3 weeks, 6 days ago
On 11/03/2026 07.03, Aditya Gupta wrote:
> Hello Peter,
> 
> I run the pipeline everytime before sending, curious about the tests I
> missed.
> 
> 1. How can I get the console log of the failed centos test ? Or how to
> (or if I can) run that test on my system ?
> 
> I did not find the log in the gitlab test's artifacts.
> Surprised with the failure on the particular centos distro.

The console log can be found here:

https://gitlab.com/qemu-project/qemu/-/jobs/13431423958/artifacts/browse/build/tests/functional/ppc64/test_fadump.QEMUFadump.test_fadump_powernv/

See docs/devel/testing/functional.rst for information on how to run 
functional tests locally.

> 2. Is there a way to enable these tests, or to get access to these
> tests: aarch64-macos-build & x64-freebsd-14-build
> 
> I read these are run using cirrus ci, can these be run on our systems,
> if not on gitlab ?

See .gitlab-ci.d/cirrus/README.rst for information on how to set up the 
Cirrus-CI for your own cloned repository on gitlab.

  HTH,
   Thomas
Re: [PULL 00/10] PPC PR for 11.0 soft-freeze
Posted by Aditya Gupta 3 weeks, 4 days ago
On 11/03/26 13:23, Thomas Huth wrote:

> On 11/03/2026 07.03, Aditya Gupta wrote:
>> Hello Peter,
>>
>> I run the pipeline everytime before sending, curious about the tests I
>> missed.
>>
>> 1. How can I get the console log of the failed centos test ? Or how to
>> (or if I can) run that test on my system ?
>>
>> I did not find the log in the gitlab test's artifacts.
>> Surprised with the failure on the particular centos distro.
>
> The console log can be found here:
>
> https://gitlab.com/qemu-project/qemu/-/jobs/13431423958/artifacts/browse/build/tests/functional/ppc64/test_fadump.QEMUFadump.test_fadump_powernv/ 
>
>
> See docs/devel/testing/functional.rst for information on how to run 
> functional tests locally.
>
>> 2. Is there a way to enable these tests, or to get access to these
>> tests: aarch64-macos-build & x64-freebsd-14-build
>>
>> I read these are run using cirrus ci, can these be run on our systems,
>> if not on gitlab ?
>
> See .gitlab-ci.d/cirrus/README.rst for information on how to set up 
> the Cirrus-CI for your own cloned repository on gitlab.

Thank you Thomas !

Will read it.


Thanks,

- Aditya G

>
>  HTH,
>   Thomas
>

Re: [PULL 00/10] PPC PR for 11.0 soft-freeze
Posted by Peter Maydell 4 weeks ago
On Tue, 10 Mar 2026 at 16:14, Harsh Prateek Bora <harshpb@linux.ibm.com> wrote:
>
> + Aditya
>
> Hi Peter,
>
> Is there a way to trigger aarch64-macos-build and x64-freebsd-14-build
> from Qemu gitlab CI? I had run the CI pipeline with below job and I do
> not see those tests getting listed/executed:
>
> https://gitlab.com/harshpb/qemu/-/pipelines/2375854439

Yeah, some of the CI jobs are not run under user pipelines
because they use external/project resources. I think the
macos and freebsd ones run via Cirrus.

-- PMM