From: "Cédric Le Goater" <clg@redhat.com>
To: Aditya Gupta <adityag@linux.ibm.com>,
Nicholas Piggin <npiggin@gmail.com>,
Harsh Prateek Bora <harshpb@linux.ibm.com>
Cc: Mahesh J Salgaonkar <mahesh@linux.ibm.com>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
qemu-devel@nongnu.org, qemu-ppc@nongnu.org
Subject: Re: [PATCH v9 0/7] Power11 support for QEMU [PowerNV]
Date: Fri, 8 Aug 2025 14:32:04 +0200 [thread overview]
Message-ID: <baf6c854-832b-4a2e-922f-d34e6dadf821@redhat.com> (raw)
In-Reply-To: <20250808115929.1073910-1-adityag@linux.ibm.com>
On 8/8/25 13:59, Aditya Gupta wrote:
> Overview
> ============
>
> Add support for Power11 powernv machine type.
>
> As Power11 core is same as Power10, hence much of the code has been reused
> from Power10.
>
> Split Powernv11 chip/machine code into commits introducing: chip,machine,xive,phb
> This is to try to keep the code smaller in each commit, but can squash the
> xive/phb commits into respective chip/machine commit
>
> Power11 PSeries already added in QEMU in:
> commit 273db89bcaf4 ("ppc/pseries: Add Power11 cpu type")
>
> Git Tree for Testing
> ====================
>
> QEMU: https://github.com/adi-g15-ibm/qemu/tree/p11-powernv-v9
>
> Has been tested with following cases:
> * '-M powernv' / '-M powernv10' / '-M powernv11'
> * '-smp' option tested
>
> skiboot with Power11 support: https://github.com/open-power/skiboot, since
> commit 785a5e3
>
> Linux with Power11 support: https://github.com/torvalds/linux, since v6.9-rc1
>
> Changelog
> =========
> v9:
> + [PATCH 1/7]: apply hunks from commit cf0eb929e59cb, and commit
> 24c8fa968a6d8, for changes that were done for Power10, as those changes
> make sense for Power11 also
> + [PATCH 3/7]: fixed build breakage identified with QEMU CI, due to changes
> in upstream function pointer types
>
> v8:
> + rebase to upstream
> + propose myself as a powernv reviewer
>
> v7 (https://lore.kernel.org/qemu-devel/20250327200738.1524401-1-adityag@linux.ibm.com/):
> + use Power10 models of homer, sbe, occ, psi, lpc. As they are same.
> + switch powernv tests to use buildroot images instead of op-build images
> + add functional test for powernv11
> - remove dynamic sysbus device for PHBs, so no more dynamic number of
> PHBs in Power11 as it became complex to handle it and not much used
>
> v6 (https://lore.kernel.org/qemu-devel/20250325112319.927190-1-adityag@linux.ibm.com/):
> + make Pnv11Chip's parent as PnvChip, instead of Pnv10Chip
> + rebase on upstream/master
>
> v5 (https://lore.kernel.org/qemu-devel/57ce8d50-db92-44f0-96a9-e1297eea949f@kaod.org/):
> + add chiptod
> + add instance_init for P11 to use P11 models
> + move patch introducing Pnv11Chip to the last
> + update skiboot.lid to skiboot's upstream/master
>
> v4:
> + patch #5: fix memory leak in pnv_chip_power10_quad_realize
> - no change in other patches
>
> v3:
> + patch #1: version power11 as power11_v2.0
> + patch #2: split target hw/pseries code into patch #2
> + patch #3,#4: fix regression due to Power10 and Power11 having same PCR
> + patch #5: create pnv_chip_power11_dt_populate and split pnv_chip_power10_common_realize as per review
> + patch #6-#11: no change
> - remove commit to make Power11 as default
>
> v2:
> + split powernv patch into homer,lpc,occ,psi,sbe
> + reduce code duplication by reusing power10 code
> + make power11 as default
> + rebase on qemu upstream/master
> + add more information in commit descriptions
> + update docs
> + update skiboot.lid
>
>
> Aditya Gupta (7):
> ppc/pnv: Introduce Pnv11Chip
> ppc/pnv: Introduce Power11 PowerNV machine
> ppc/pnv: Add XIVE2 controller to Power11
> ppc/pnv: Add PHB5 PCIe Host bridge to Power11
> ppc/pnv: Add ChipTOD model for Power11
> tests/powernv: Switch to buildroot images instead of op-build
> tests/powernv: Add PowerNV test for Power11
>
> docs/system/ppc/powernv.rst | 9 +-
> hw/ppc/pnv.c | 540 +++++++++++++++++++++++++
> hw/ppc/pnv_chiptod.c | 59 +++
> hw/ppc/pnv_core.c | 17 +
> include/hw/ppc/pnv.h | 38 ++
> include/hw/ppc/pnv_chip.h | 7 +
> include/hw/ppc/pnv_chiptod.h | 2 +
> include/hw/ppc/pnv_xscom.h | 49 +++
> tests/functional/test_ppc64_powernv.py | 34 +-
> 9 files changed, 737 insertions(+), 18 deletions(-)
>
Booting a PowerNV11 machine crashes QEMU. See below.
Are you testing with petitboot kexecing a distro kernel from disk ?
Please do and also start a KVM guest. Please check your tests.
Thanks,
C.
[ 6.806342] e1000e 0001:02:03.0 eth0: MAC: 3, PHY: 8, PBA No: 000000-000
[ 6.844448] e1000e 0001:02:03.0 enP1p2s3: renamed from eth0
../include/hw/ppc/pnv_chip.h:110:PNV10_CHIP: Object 0x555556ab0cf0 is not an instance of type pnv10-chip
Thread 1 "qemu-system-ppc" received signal SIGABRT, Aborted.
0x00007ffff6a8d02c in __pthread_kill_implementation () from /lib64/libc.so.6
Missing rpms, try: dnf --enablerepo='*debug*' install capstone-debuginfo-4.0.2-10.el9.x86_64 gnutls-debuginfo-3.8.3-9.el9.x86_64 pixman-debuginfo-0.40.0-6.el9.x86_64 zlib-debuginfo-1.2.11-40.el9.x86_64 lzo-debuginfo-2.10-7.el9.x86_64 SDL2-debuginfo-2.26.0-1.el9.x86_64 libpmem-debuginfo-1.12.1-1.el9.x86_64 libfdt-debuginfo-1.6.0-7.el9.x86_64 numactl-libs-debuginfo-2.0.19-1.el9.x86_64 glib2-debuginfo-2.68.4-16.el9_6.2.x86_64 libzstd-debuginfo-1.5.5-1.el9.x86_64 libslirp-debuginfo-4.4.0-8.el9.x86_64 elfutils-libs-debuginfo-0.193-1.el9.x86_64 ncurses-libs-debuginfo-6.2-12.20210508.el9.x86_64 usbredir-debuginfo-0.13.0-2.el9.x86_64 libusbx-debuginfo-1.0.26-1.el9.x86_64 glibc-debuginfo-2.34-221.el9.x86_64 p11-kit-debuginfo-0.25.3-3.el9.x86_64 libidn2-debuginfo-2.3.0-7.el9.x86_64 libunistring-debuginfo-0.9.10-15.el9.x86_64 libtasn1-debuginfo-4.16.0-9.el9.x86_64 nettle-debuginfo-3.10.1-1.el9.x86_64 ndctl-libs-debuginfo-78-2.el9.x86_64 daxctl-libs-debuginfo-78-2.el9.x86_64 libmount-debuginfo-2.37.4-21.el9.x86_64 libselinux-debuginfo-3.6-3.el9.x86_64 libffi-debuginfo-3.4.2-8.el9.x86_64 pcre-debuginfo-8.44-4.el9.x86_64 elfutils-libelf-debuginfo-0.193-1.el9.x86_64 xz-libs-debuginfo-5.2.5-8.el9_0.x86_64 bzip2-libs-debuginfo-1.0.8-10.el9_5.x86_64 systemd-libs-debuginfo-252-53.el9.x86_64 libuuid-debuginfo-2.37.4-21.el9.x86_64 kmod-libs-debuginfo-28-10.el9.x86_64 libblkid-debuginfo-2.37.4-21.el9.x86_64 pcre2-debuginfo-10.40-6.el9.x86_64 libgcc-debuginfo-11.5.0-9.el9.x86_64 openssl-libs-debuginfo-3.5.1-3.el9.x86_64
(gdb) bt
#0 0x00007ffff6a8d02c in __pthread_kill_implementation () at /lib64/libc.so.6
#1 0x00007ffff6a3fb86 in raise () at /lib64/libc.so.6
#2 0x00007ffff6a29873 in abort () at /lib64/libc.so.6
#3 0x0000555555d62988 in object_dynamic_cast_assert
(obj=0x555556ab0cf0, typename=typename@entry=0x5555560528a5 "pnv10-chip", file=file@entry=0x555556051628 "/home/legoater/work/qemu/qemu.git/include/hw/ppc/pnv_chip.h", line=line@entry=110, func=func@entry=0x55555606a2c8 <__func__.27> "PNV10_CHIP")
at ../qom/object.c:925
#4 0x0000555555cfe852 in PNV10_CHIP (obj=<optimized out>) at /home/legoater/work/qemu/qemu.git/include/hw/ppc/pnv_chip.h:110
#5 pnv_xive2_get_remote (fwd_addr=<optimized out>, vsd_type=2) at ../hw/intc/pnv_xive2.c:113
#6 pnv_xive2_vst_addr (idx=15, blk=<optimized out>, type=2, xive=<optimized out>) at ../hw/intc/pnv_xive2.c:265
#7 pnv_xive2_vst_addr (xive=<optimized out>, type=2, blk=<optimized out>, idx=15) at ../hw/intc/pnv_xive2.c:244
#8 0x0000555555cfec35 in pnv_xive2_vst_read (xive=0x555556ab1500, type=2, blk=1 '\001', idx=15, data=0x7fffffffcf20)
at ../hw/intc/pnv_xive2.c:286
#9 0x0000555555d06a69 in xive2_router_get_end (end=0x7fffffffcf20, end_idx=15, end_blk=1 '\001', xrtr=0x555556ab1500)
at ../hw/intc/xive2.c:1437
#10 xive2_router_end_notify
(xrtr=xrtr@entry=0x555556ab1500, end_blk=1 '\001', end_idx=15, end_data=97, redistribute=redistribute@entry=false)
at ../hw/intc/xive2.c:1669
#11 0x0000555555d06990 in xive2_notify (xrtr=0x555556ab1500, lisn=1040385, pq_checked=<optimized out>)
at ../hw/intc/xive2.c:1955
#12 0x0000555555add8bb in memory_region_write_accessor
(mr=mr@entry=0x555556ab3e00, addr=136365408256, value=value@entry=0x7fffffffd0e8, size=size@entry=8, shift=<optimized out>, mask=mask@entry=18446744073709551615, attrs=...) at ../system/memory.c:490
#13 0x0000555555adf1a2 in access_with_adjusted_size
(addr=addr@entry=136365408256, value=value@entry=0x7fffffffd0e8, size=size@entry=8, access_size_min=<optimized out>, access_size_max=<optimized out>, access_fn=0x555555add850 <memory_region_write_accessor>, mr=0x555556ab3e00, attrs=...)
at ../system/memory.c:561
#14 0x0000555555ae0164 in memory_region_dispatch_write (mr=mr@entry=0x555556ab3e00, addr=136365408256, data=<optimized out>,
data@entry=0, op=<optimized out>, attrs=attrs@entry=...) at ../system/memory.c:1553
#15 0x0000555555ae8357 in address_space_stq_internal
(as=<optimized out>, addr=addr@entry=1694483783811072, val=val@entry=0, attrs=..., result=result@entry=0x7fffffffd1f4, endian=endian@entry=DEVICE_BIG_ENDIAN) at ../system/memory_ldst.c.inc:479
#16 0x0000555555aeef0b in address_space_stq_be
(as=<optimized out>, addr=addr@entry=1694483783811072, val=val@entry=0, attrs=...,
attrs@entry=..., result=result@entry=0x7fffffffd1f4) at ../system/memory_ldst.c.inc:524
#17 0x0000555555d2159c in pnv_phb4_xive_notify_abt (pq_checked=false, srcno=<optimized out>, phb=0x5555574bc500)
at ../hw/pci-host/pnv_phb4.c:1650
#18 pnv_phb4_xive_notify (xf=<optimized out>, srcno=<optimized out>, pq_checked=<optimized out>)
at ../hw/pci-host/pnv_phb4.c:1686
#19 0x0000555555d203f0 in qemu_irq_pulse (irq=0x5555574c8440) at /home/legoater/work/qemu/qemu.git/include/hw/irq.h:33
#20 pnv_phb4_msi_write (opaque=<optimized out>, addr=<optimized out>, data=<optimized out>, size=<optimized out>)
at ../hw/pci-host/pnv_phb4.c:1423
#21 0x0000555555add8bb in memory_region_write_accessor
(mr=mr@entry=0x55555d8c76b0, addr=0, value=value@entry=0x7fffffffd318, size=size@entry=4, shift=<optimized out>, mask=mask@entry=4294967295, attrs=...) at ../system/memory.c:490
#22 0x0000555555adf23b in access_with_adjusted_size
(addr=addr@entry=0, value=value@entry=0x7fffffffd318, size=size@entry=4, access_size_min=<optimized out>, access_size_max=<optimized out>, access_fn=0x555555add850 <memory_region_write_accessor>, mr=0x55555d8c76b0, attrs=...)
at ../system/memory.c:566
#23 0x0000555555ae0164 in memory_region_dispatch_write (mr=mr@entry=0x55555d8c76b0, addr=0, data=<optimized out>,
data@entry=1, op=op@entry=MO_32, attrs=attrs@entry=...) at ../system/memory.c:1553
#24 0x0000555555aee333 in address_space_stl_internal
(endian=DEVICE_LITTLE_ENDIAN, result=0x0, attrs=..., val=1, addr=<optimized out>, as=<optimized out>)
at ../system/memory_ldst.c.inc:319
#25 address_space_stl_le (as=<optimized out>, addr=<optimized out>, val=1, attrs=..., result=0x0)
at ../system/memory_ldst.c.inc:357
#26 0x0000555555ef3c05 in aio_bh_call (bh=bh@entry=0x55555d0d59e0) at ../util/async.c:172
#27 0x0000555555ef3d35 in aio_bh_poll (ctx=ctx@entry=0x55555667ad50) at ../util/async.c:219
#28 0x0000555555edcede in aio_dispatch (ctx=0x55555667ad50) at ../util/aio-posix.c:436
#29 0x0000555555ef3a7e in aio_ctx_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>)
at ../util/async.c:361
#30 0x00007ffff76c0f4f in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#31 0x0000555555ef5058 in glib_pollfds_poll () at ../util/main-loop.c:287
#32 os_host_main_loop_wait (timeout=0) at ../util/main-loop.c:310
#33 main_loop_wait (nonblocking=nonblocking@entry=0) at ../util/main-loop.c:589
#34 0x0000555555af89b3 in qemu_main_loop () at ../system/runstate.c:905
#35 0x0000555555e4273c in qemu_default_main (opaque=opaque@entry=0x0) at ../system/main.c:50
#36 0x000055555589eddd in main (argc=<optimized out>, argv=<optimized out>) at ../system/main.c:93
next prev parent reply other threads:[~2025-08-08 12:33 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-08 11:59 [PATCH v9 0/7] Power11 support for QEMU [PowerNV] Aditya Gupta
2025-08-08 11:59 ` [PATCH v9 1/7] ppc/pnv: Introduce Pnv11Chip Aditya Gupta
2025-08-08 11:59 ` [PATCH v9 2/7] ppc/pnv: Introduce Power11 PowerNV machine Aditya Gupta
2025-08-08 11:59 ` [PATCH v9 3/7] ppc/pnv: Add XIVE2 controller to Power11 Aditya Gupta
2025-08-08 11:59 ` [PATCH v9 4/7] ppc/pnv: Add PHB5 PCIe Host bridge " Aditya Gupta
2025-08-08 11:59 ` [PATCH v9 5/7] ppc/pnv: Add ChipTOD model for Power11 Aditya Gupta
2025-08-08 11:59 ` [PATCH v9 6/7] tests/powernv: Switch to buildroot images instead of op-build Aditya Gupta
2025-08-08 11:59 ` [PATCH v9 7/7] tests/powernv: Add PowerNV test for Power11 Aditya Gupta
2025-08-08 12:32 ` Cédric Le Goater [this message]
2025-08-10 6:56 ` [PATCH v9 0/7] Power11 support for QEMU [PowerNV] Aditya Gupta
2025-08-10 10:45 ` Aditya Gupta
2025-08-10 12:46 ` Access to remote XIVE2 units (was Re: [PATCH v9 0/7] Power11 support for QEMU [PowerNV]) Cédric Le Goater
2025-08-11 15:17 ` Miles Glenn
2025-08-20 6:40 ` Aditya Gupta
2025-08-28 12:04 ` Aditya Gupta
2025-08-28 21:49 ` Cédric Le Goater
2025-09-24 12:14 ` Ganesh G R
2025-09-25 6:38 ` Cédric Le Goater
2025-09-25 12:51 ` Aditya Gupta
2025-08-11 12:16 ` [PATCH v9 0/7] Power11 support for QEMU [PowerNV] Cédric Le Goater
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=baf6c854-832b-4a2e-922f-d34e6dadf821@redhat.com \
--to=clg@redhat.com \
--cc=adityag@linux.ibm.com \
--cc=harshpb@linux.ibm.com \
--cc=maddy@linux.ibm.com \
--cc=mahesh@linux.ibm.com \
--cc=npiggin@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.