Hi Kirill,

On 9/6/26 04:30, Kirill A. Korinsky wrote:
On Tue, 09 Jun 2026 04:19:45 +0200,
"Kirill A. Korinsky" <[email protected]> wrote:

OpenBSD/powernv programs PTCR for LPID 0 with a partition
table size exponent one smaller than QEMU's existing ISA v3.0
interpretation. Try QEMU's existing PATS interpretation first,
then fall back to the OpenBSD LPID 0 form; nonzero LPIDs keep
the old behaviour.

The PSI model now exposes POWER9 IRQ level and pending status
registers, and keeps both updated while delivering through the
existing XIVE LSI source. This lets guests that select the
POWER9 PSI LSI IRQ method continue to receive LPC interrupts.

The blast radius is probably minimal: the partition table
fallback is limited to bare metal LPID 0 after the original
lookup fails, while the PSI change only touches POWER9 PSI
state and reuses the existing delivery path.

Signed-off-by: Kirill A. Korinsky <[email protected]>


It was tested as:

qemu-system-ppc64 \
     -M powernv9 \
     -cpu power9 \
     -m 2G \
     -nographic \
     -kernel pnor.BOOTKERNEL \
     -device ich9-ahci,id=sata0,bus=pcie.0,addr=0x0 \
     -drive file=miniroot79.img,format=raw,if=none,id=bootdisk,snapshot=on \
     -device ide-hd,bus=sata0.0,unit=0,drive=bootdisk,bootindex=1

Cool. Could you add as a functional test in tests/functional/ppc64/? See
examples around this directory.


Where:

1. miniroot79.img from https://cdn.openbsd.org/pub/OpenBSD/snapshots/powerpc64/

2. pnor.BOOTKERNEL was extracted from talos-ii-v2.10.pnor which I get from
https://wiki.raptorcs.com/wiki/File:Talos-ii-pnor-v2.10-bundle.tar by
extract-pnor-bootkernel.pl which I attached.



Reply via email to