Message ID | 20230608075826.86217-1-npiggin@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | powerpc: updates, P10, PNV support | expand |
On Thu, 8 Jun 2023 at 07:58, Nicholas Piggin <npiggin@gmail.com> wrote: > > Posting again, a couple of patches were merged and accounted for review > comments from last time. I saw some failures in the spr tests running on a power9 powernv system: $ TESTNAME=sprs TIMEOUT=90s ACCEL= ./powerpc/run powerpc/sprs.elf -smp 1 |grep FAIL FAIL: WORT ( 895): 0x00000000c0deba80 <==> 0x0000000000000000 $ MIGRATION=yes TESTNAME=sprs-migration TIMEOUT=90s ACCEL= ./powerpc/run powerpc/sprs.elf -smp 1 -append '-w' | grep FAIL FAIL: SRR0 ( 26): 0xcafefacec0debabc <==> 0x0000000000402244 FAIL: SRR1 ( 27): 0xc0000006409ebab6 <==> 0x8000000000001001 FAIL: CTRL ( 136): 0x00000000 <==> 0x00008001 FAIL: WORT ( 895): 0x00000000c0deba80 <==> 0x0000000000000000 FAIL: PIR (1023): 0x00000010 <==> 0x00000049 Linux 6.2.0-20-generic QEMU emulator version 7.2.0 (Debian 1:7.2+dfsg-5ubuntu2) On a power8 powernv: MIGRATION=yes TESTNAME=sprs-migration TIMEOUT=90s ACCEL= ./powerpc/run powerpc/sprs.elf -smp 1 -append '-w' |grep FAIL FAIL: SRR0 ( 26): 0xcafefacec0debabc <==> 0x0000000000402234 FAIL: SRR1 ( 27): 0xc0000006409ebab6 <==> 0x8000000000001000 FAIL: CTRL ( 136): 0x00000000 <==> 0x00008001 FAIL: PIR (1023): 0x00000060 <==> 0x00000030 Linux 5.4.0-146-generic QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.26) Cheers, Joel > > Thanks, > Nick > > Nicholas Piggin (12): > powerpc: Report instruction address and MSR in unhandled exception > error > powerpc: Add some checking to exception handler install > powerpc: Abstract H_CEDE calls into a sleep functions > powerpc: Add ISA v3.1 (POWER10) support to SPR test > powerpc: Extract some common helpers and defines to headers > powerpc/sprs: Specify SPRs with data rather than code > powerpc/spapr_vpa: Add basic VPA tests > powerpc: Expand exception handler vector granularity > powerpc: Add support for more interrupts including HV interrupts > powerpc: Discover runtime load address dynamically > powerpc: Support powernv machine with QEMU TCG > powerpc/sprs: Test hypervisor registers on powernv machine > > lib/powerpc/asm/handlers.h | 2 +- > lib/powerpc/asm/hcall.h | 1 + > lib/powerpc/asm/ppc_asm.h | 9 + > lib/powerpc/asm/processor.h | 55 ++- > lib/powerpc/handlers.c | 10 +- > lib/powerpc/hcall.c | 4 +- > lib/powerpc/io.c | 27 +- > lib/powerpc/io.h | 6 + > lib/powerpc/processor.c | 79 ++++- > lib/powerpc/setup.c | 8 +- > lib/ppc64/asm/opal.h | 15 + > lib/ppc64/asm/vpa.h | 62 ++++ > lib/ppc64/opal-calls.S | 46 +++ > lib/ppc64/opal.c | 74 +++++ > powerpc/Makefile.ppc64 | 4 +- > powerpc/cstart64.S | 105 ++++-- > powerpc/run | 35 +- > powerpc/spapr_hcall.c | 9 +- > powerpc/spapr_vpa.c | 172 ++++++++++ > powerpc/sprs.c | 645 ++++++++++++++++++++++++++---------- > powerpc/tm.c | 20 +- > powerpc/unittests.cfg | 3 + > 22 files changed, 1133 insertions(+), 258 deletions(-) > create mode 100644 lib/ppc64/asm/opal.h > create mode 100644 lib/ppc64/asm/vpa.h > create mode 100644 lib/ppc64/opal-calls.S > create mode 100644 lib/ppc64/opal.c > create mode 100644 powerpc/spapr_vpa.c > > -- > 2.40.1 >
On Wed Jun 14, 2023 at 11:09 AM AEST, Joel Stanley wrote: > On Thu, 8 Jun 2023 at 07:58, Nicholas Piggin <npiggin@gmail.com> wrote: > > > > Posting again, a couple of patches were merged and accounted for review > > comments from last time. > > I saw some failures in the spr tests running on a power9 powernv system: > > $ TESTNAME=sprs TIMEOUT=90s ACCEL= ./powerpc/run powerpc/sprs.elf -smp > 1 |grep FAIL > FAIL: WORT ( 895): 0x00000000c0deba80 <==> 0x0000000000000000 This is just TCG machine? I'm not sure why WORT fails, AFAIKS it's the same on POWER8 and doesn't do anything just a simple register. I think on real hardware WORT may not have any bits implemented on POWER9 though. > $ MIGRATION=yes TESTNAME=sprs-migration TIMEOUT=90s ACCEL= > ./powerpc/run powerpc/sprs.elf -smp 1 -append '-w' | grep FAIL > FAIL: SRR0 ( 26): 0xcafefacec0debabc <==> 0x0000000000402244 > FAIL: SRR1 ( 27): 0xc0000006409ebab6 <==> 0x8000000000001001 > FAIL: CTRL ( 136): 0x00000000 <==> 0x00008001 > FAIL: WORT ( 895): 0x00000000c0deba80 <==> 0x0000000000000000 > FAIL: PIR (1023): 0x00000010 <==> 0x00000049 > > Linux 6.2.0-20-generic > QEMU emulator version 7.2.0 (Debian 1:7.2+dfsg-5ubuntu2) > > On a power8 powernv: > > MIGRATION=yes TESTNAME=sprs-migration TIMEOUT=90s ACCEL= ./powerpc/run > powerpc/sprs.elf -smp 1 -append '-w' |grep FAIL > FAIL: SRR0 ( 26): 0xcafefacec0debabc <==> 0x0000000000402234 > FAIL: SRR1 ( 27): 0xc0000006409ebab6 <==> 0x8000000000001000 > FAIL: CTRL ( 136): 0x00000000 <==> 0x00008001 > FAIL: PIR (1023): 0x00000060 <==> 0x00000030 Hmm, seems we take some interrupt over migration test that is not accounted for (could check the address in SRR0 to see where it is). Either need to prevent that interrupt or avoid failing on SRR0/1 on this test. Interesting about CTRL, I wonder if that not migrating correctly. PIR looks like a migration issue as well, it can't be changed so destination CPU has got a different PIR. I would be inclined to leave those as failing to remind us to look into them. I'll take a look at the others though. Thanks, Nick
On Thu, 15 Jun 2023 at 03:02, Nicholas Piggin <npiggin@gmail.com> wrote: > > On Wed Jun 14, 2023 at 11:09 AM AEST, Joel Stanley wrote: > > On Thu, 8 Jun 2023 at 07:58, Nicholas Piggin <npiggin@gmail.com> wrote: > > > > > > Posting again, a couple of patches were merged and accounted for review > > > comments from last time. > > > > I saw some failures in the spr tests running on a power9 powernv system: > > > > $ TESTNAME=sprs TIMEOUT=90s ACCEL= ./powerpc/run powerpc/sprs.elf -smp > > 1 |grep FAIL > > FAIL: WORT ( 895): 0x00000000c0deba80 <==> 0x0000000000000000 > > This is just TCG machine? I'm not sure why WORT fails, AFAIKS it's the > same on POWER8 and doesn't do anything just a simple register. I think > on real hardware WORT may not have any bits implemented on POWER9 > though. Yeah, just the TCG machine. Now that you point it out all of the failures I reported are for ACCEL=<blank>, so they are running in tcg mode. run_migration timeout -k 1s --foreground 90s /usr/bin/qemu-system-ppc64 -nodefaults -machine pseries,accel=tcg -bios powerpc/boot_rom.bin -display none -serial stdio -kernel powerpc/sprs.elf -smp 1 -append -w # -initrd /tmp/tmp.61XhbvCGcb > > > $ MIGRATION=yes TESTNAME=sprs-migration TIMEOUT=90s ACCEL= > > ./powerpc/run powerpc/sprs.elf -smp 1 -append '-w' | grep FAIL > > FAIL: SRR0 ( 26): 0xcafefacec0debabc <==> 0x0000000000402244 > > FAIL: SRR1 ( 27): 0xc0000006409ebab6 <==> 0x8000000000001001 > > FAIL: CTRL ( 136): 0x00000000 <==> 0x00008001 > > FAIL: WORT ( 895): 0x00000000c0deba80 <==> 0x0000000000000000 > > FAIL: PIR (1023): 0x00000010 <==> 0x00000049 > > > > Linux 6.2.0-20-generic > > QEMU emulator version 7.2.0 (Debian 1:7.2+dfsg-5ubuntu2) > > > > On a power8 powernv: > > > > MIGRATION=yes TESTNAME=sprs-migration TIMEOUT=90s ACCEL= ./powerpc/run > > powerpc/sprs.elf -smp 1 -append '-w' |grep FAIL > > FAIL: SRR0 ( 26): 0xcafefacec0debabc <==> 0x0000000000402234 > > FAIL: SRR1 ( 27): 0xc0000006409ebab6 <==> 0x8000000000001000 > > FAIL: CTRL ( 136): 0x00000000 <==> 0x00008001 > > FAIL: PIR (1023): 0x00000060 <==> 0x00000030 > > Hmm, seems we take some interrupt over migration test that is not > accounted for (could check the address in SRR0 to see where it is). > Either need to prevent that interrupt or avoid failing on SRR0/1 on > this test. > > Interesting about CTRL, I wonder if that not migrating correctly. > PIR looks like a migration issue as well, it can't be changed so > destination CPU has got a different PIR. I would be inclined to > leave those as failing to remind us to look into them. > > I'll take a look at the others though. > > Thanks, > Nick
On 08/06/2023 09.58, Nicholas Piggin wrote: > Posting again, a couple of patches were merged and accounted for review > comments from last time. Sorry for not being very responsive ... it's been a busy month. Anyway, I've now merged the first 5 patches and the VPA test since they look fine to me. As Joel already wrote, there is an issue with the sprs patch, I also get an error with the PIR register on the P8 box that I have access to as soon as I apply the "Specify SPRs with data rather than code" patch. It would be good to get that problem resolved before merging the remaining patches... Thomas
On Mon Jul 3, 2023 at 11:27 PM AEST, Thomas Huth wrote: > On 08/06/2023 09.58, Nicholas Piggin wrote: > > Posting again, a couple of patches were merged and accounted for review > > comments from last time. > > Sorry for not being very responsive ... it's been a busy month. Hah that's okay, I'll say the same thing. I was meaning to get back to Joel and your comments but lots on all of a sudden, sigh. > Anyway, I've now merged the first 5 patches and the VPA test since they look > fine to me. > > As Joel already wrote, there is an issue with the sprs patch, I also get an > error with the PIR register on the P8 box that I have access to as soon as I > apply the "Specify SPRs with data rather than code" patch. It would be good > to get that problem resolved before merging the remaining patches... Thanks for this, yes needs a bit more polish. I'll try to get to it now that qemu is mostly done for 8.1. Thanks, Nick