qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 981562: target/ppc: gdbstub init spr gdb_id f


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 981562: target/ppc: gdbstub init spr gdb_id for all CPUs
Date: Sun, 25 Jun 2023 23:38:53 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 981562ed2baaa28067b7ba77fb579d0878782000
      
https://github.com/qemu/qemu/commit/981562ed2baaa28067b7ba77fb579d0878782000
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/gdbstub.c

  Log Message:
  -----------
  target/ppc: gdbstub init spr gdb_id for all CPUs

Make sure each CPU gets its state set up for gdb, not just the ones
before PowerPCCPUClass has had its gdb state set up.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: b08e8a837ec91fc8dd84aa487876b9f244fc2677
      
https://github.com/qemu/qemu/commit/b08e8a837ec91fc8dd84aa487876b9f244fc2677
  Author: Joel Stanley <joel@jms.id.au>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/pci-host/pnv_phb4.c

  Log Message:
  -----------
  ppc/pnv/pci: Clean up error messages

The phb error macros add a newline for you, so remove the second one to
avoid double whitespace.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 602b88ec8a204cc44821217c0ceff5a395cf820b
      
https://github.com/qemu/qemu/commit/602b88ec8a204cc44821217c0ceff5a395cf820b
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add reviewers for PowerNV baremetal emulation

Fred and Nick have been hacking baremetal POWER systems (OPAL) for
many years. They use and modify the QEMU models regularly. Add them as
PowerNV reviewers.

Cc: Frédéric Barrat <fbarrat@linux.ibm.com>
Cc: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Acked-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 58fc20f0e384177e78346630cdf8c72f538d167e
      
https://github.com/qemu/qemu/commit/58fc20f0e384177e78346630cdf8c72f538d167e
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add reviewer for PowerPC TCG CPUs

Nick has great knowledge of the PowerPC CPUs, software and hardware.
Add him as a reviewer on CPU TCG modeling.

Cc: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 4901a34d26a686d41647d34b04a4e0c6ea81bd6f
      
https://github.com/qemu/qemu/commit/4901a34d26a686d41647d34b04a4e0c6ea81bd6f
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add reviewer for XIVE

Fred discusses frequently with the IBM HW designers, he is fluent in
XIVE logic, add him as a reviewer.

Cc: Frédéric Barrat <fbarrat@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Acked-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 9df480db3bb89152821a74b28c8fb385956702a1
      
https://github.com/qemu/qemu/commit/9df480db3bb89152821a74b28c8fb385956702a1
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/prep.c

  Log Message:
  -----------
  ppc/prep: Report an error when run with KVM

The 'prep' machine never supported KVM. This piece of code was
probably inherited from another model.

Cc: Hervé Poussineau <hpoussin@reactos.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 74b2fd630761b3e3fe39a5314fcec04829060502
      
https://github.com/qemu/qemu/commit/74b2fd630761b3e3fe39a5314fcec04829060502
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/ppc440_bamboo.c

  Log Message:
  -----------
  ppc/bamboo: Report an error when run with KVM

The 'bamboo' machine was used as a KVM platform in the early days (~2008).
It clearly doesn't support it anymore.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 518f72ec4bb395647921d5091d85c7335c3968ac
      
https://github.com/qemu/qemu/commit/518f72ec4bb395647921d5091d85c7335c3968ac
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/pnv.c

  Log Message:
  -----------
  ppc/pnv: Rephrase error when run with KVM

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: c4550e6e9824c3fb5ee980cc8c9b175b8baf3d1a
      
https://github.com/qemu/qemu/commit/c4550e6e9824c3fb5ee980cc8c9b175b8baf3d1a
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/kvm.c

  Log Message:
  -----------
  target/ppc: Fix timer register accessors when !KVM

When the Timer Control and Timer Status registers are modified, avoid
calling the KVM backend when not available

Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: cb2f6c3d69ea5b5bdc37c8330266ab67db629fc5
      
https://github.com/qemu/qemu/commit/cb2f6c3d69ea5b5bdc37c8330266ab67db629fc5
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/spapr_hcall.c

  Log Message:
  -----------
  ppc/spapr: H_ENTER_NESTED should restore host XER ca field

Fix missing env->ca restore when going from L2 back to the host.

Fixes: 120f738a467 ("spapr: implement nested-hv capability for the virtual 
hypervisor")
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: c709e8eacd5578f84c0dffbfe65a743a281d1d46
      
https://github.com/qemu/qemu/commit/c709e8eacd5578f84c0dffbfe65a743a281d1d46
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/spapr_hcall.c
    M include/hw/ppc/spapr_cpu_core.h

  Log Message:
  -----------
  ppc/spapr: Add a nested state struct

Rather than use a copy of CPUPPCState to store the host state while
the environment has been switched to the L2, use a new struct for
this purpose.

Have helper functions to save and load this host state.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: cb4e61a33b7585642a8a7ff9e5b3b78599bcc582
      
https://github.com/qemu/qemu/commit/cb4e61a33b7585642a8a7ff9e5b3b78599bcc582
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/spapr_hcall.c

  Log Message:
  -----------
  ppc/spapr: load and store l2 state with helper functions

Arguably this is just shuffling around register accesses, but one nice
thing it does is allow the exit to save away the L2 state then switch
the environment to the L1 before copying L2 data back to the L1, which
logically flows more naturally and simplifies the error paths.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 6b8a05373bf142fe5fd3839c3675da005bfc9b49
      
https://github.com/qemu/qemu/commit/6b8a05373bf142fe5fd3839c3675da005bfc9b49
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/meson.build
    M hw/ppc/spapr.c
    M hw/ppc/spapr_hcall.c
    A hw/ppc/spapr_nested.c
    M include/hw/ppc/spapr.h
    A include/hw/ppc/spapr_nested.h

  Log Message:
  -----------
  ppc/spapr: Move spapr nested HV to a new file

Create spapr_nested.c for most of the nested HV implementation.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 888050cf519eb5995424cf415f4f8f269de96824
      
https://github.com/qemu/qemu/commit/888050cf519eb5995424cf415f4f8f269de96824
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: Fix instruction loading endianness in alignment interrupt

powerpc ifetch endianness depends on MSR[LE] so it has to byteswap
after cpu_ldl_code(). This corrects DSISR bits in alignment
interrupts when running in little endian mode.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 74574c3845a046174993092cdc3c03f481dc2cf3
      
https://github.com/qemu/qemu/commit/74574c3845a046174993092cdc3c03f481dc2cf3
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/mmu-radix64.c

  Log Message:
  -----------
  target/ppc: Change partition-scope translate interface

Rather than always performing partition scope page table translation
with access type of 0 (MMU_DATA_LOAD), pass through the processor
access type which first initiated the translation sequence. Process-
scoped page table loads are then set to MMU_DATA_LOAD access type in
the xlate function.

This will allow more information to be passed to the exception
handler in the next patch.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 5a5d3b23cb281d99ee6dd74afa41864428e35241
      
https://github.com/qemu/qemu/commit/5a5d3b23cb281d99ee6dd74afa41864428e35241
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/excp_helper.c
    M target/ppc/mmu-radix64.c

  Log Message:
  -----------
  target/ppc: Add SRR1 prefix indication to interrupt handlers

ISA v3.1 introduced prefix instructions. Among the changes, various
synchronous interrupts report whether they were caused by a prefix
instruction in (H)SRR1.

The case of instruction fetch that causes an HDSI due to access of a
process-scoped table faulting on the partition scoped translation is the
tricky one. As with ISIs and HISIs, this does not try to set the prefix
bit because there is no instruction image to be loaded. The HDSI needs
the originating access type to be passed through to the handler to
distinguish this from HDSIs that fault translating process scoped tables
originating from a load or store instruction (in that case the prefix
bit should be provided).

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[ clg: checkpatch issues ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: a3c020d85ea721fc2a57b28f305a532b2c388f7c
      
https://github.com/qemu/qemu/commit/a3c020d85ea721fc2a57b28f305a532b2c388f7c
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: Implement HEIR SPR

The hypervisor emulation assistance interrupt modifies HEIR to
contain the value of the instruction which caused the exception.

Only TCG raises HEAI interrupts so this can be made TCG-only.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: eb701f30120d899bdaa202c3cbd9219055fccae0
      
https://github.com/qemu/qemu/commit/eb701f30120d899bdaa202c3cbd9219055fccae0
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/excp_helper.c

  Log Message:
  -----------
  target/ppc: Add ISA v3.1 LEV indication in SRR1 for system call interrupts

System call interrupts in ISA v3.1 CPUs add a LEV indication in SRR1
that corresponds with the LEV field of the instruction that caused the
interrupt.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 488aad116651f9838767fd53d5660e6702925c14
      
https://github.com/qemu/qemu/commit/488aad116651f9838767fd53d5660e6702925c14
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Better CTRL SPR implementation

The CTRL register is able to write the bit in the RUN field, which gets
reflected into the TS field which is read-only and contains the state of
the RUN field for all threads in the core.

TCG does not implement SMT, so the correct implementation just requires
mirroring the RUN bit into the first bit of the TS field.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 984eda58f20763ffb56b7aff34ad60bdeb118eb1
      
https://github.com/qemu/qemu/commit/984eda58f20763ffb56b7aff34ad60bdeb118eb1
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Fix sc instruction handling of LEV field

The top bits of the LEV field of the sc instruction are to be treated as
as a reserved field rather than a reserved value, meaning LEV is
effectively the bottom bit. LEV=0xF should be treated as LEV=1 and be
a hypercall, for example.

This changes the instruction execution to just set lev from the low bit
of the field. Processors which don't support the LEV field will continue
to ignore it.

ISA v3.1 defines LEV to be 2 bits, in order to add the 'sc 2' ultracall
instruction. TCG does not support Ultravisor, so don't worry about
that bit.

Suggested-by: "Harsh Prateek Bora" <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: b769d4c8f4c67e794444a6376b849db2caeeff3e
      
https://github.com/qemu/qemu/commit/b769d4c8f4c67e794444a6376b849db2caeeff3e
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Add initial flags and helpers for SMT support

TGC SMT emulation needs to know whether it is running with SMT siblings,
to be able to iterate over siblings in a core, and to serialise
threads to access per-core shared SPRs. Add infrastructure to do these
things.

For now the sibling iteration and serialisation are implemented in a
simple but inefficient way. SMT shared state and sibling access is not
too common, and SMT configurations are mainly useful to test system
code, so performance is not to critical.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
[ clg: fix build breakage with clang ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: c5d98a7b3d455204e24212cb769dec8f490e4e1c
      
https://github.com/qemu/qemu/commit/c5d98a7b3d455204e24212cb769dec8f490e4e1c
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/misc_helper.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Add support for SMT CTRL register

A relatively simple case to begin with, CTRL is a SMT shared register
where reads and writes need to synchronise against state changes by
other threads in the core.

Atomic serialisation operations are used to achieve this.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: d24e80b2ae3e061a200178d679711b5538479a72
      
https://github.com/qemu/qemu/commit/d24e80b2ae3e061a200178d679711b5538479a72
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/ppc.c
    M include/hw/ppc/ppc.h
    M target/ppc/excp_helper.c
    M target/ppc/misc_helper.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Add msgsnd/p and DPDES SMT support

Doorbells in SMT need to coordinate msgsnd/msgclr and DPDES access from
multiple threads that affect the same state.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 516cd737330a9b4d90a66136ebf738c4653b4e78
      
https://github.com/qemu/qemu/commit/516cd737330a9b4d90a66136ebf738c4653b4e78
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  hw/ppc/spapr: Test whether TCG is enabled with tcg_enabled()

Although the PPC target only supports the TCG and KVM
accelerators, QEMU supports more. We can not assume that
'!kvm == tcg', so test for the correct accelerator. This
also eases code review, because here we don't care about
KVM, we really want to test for TCG.

Reviewed-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
[np: Fix changelog typo noticed by Zoltan]
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: dc5e072188ea622071bab47c4f899817d6ef1295
      
https://github.com/qemu/qemu/commit/dc5e072188ea622071bab47c4f899817d6ef1295
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/ppc/spapr.c
    M hw/ppc/spapr_caps.c
    M hw/ppc/spapr_cpu_core.c

  Log Message:
  -----------
  spapr: TCG allow up to 8-thread SMT on POWER8 and newer CPUs

PPC TCG supports SMT CPU configurations for non-hypervisor state, so
permit POWER8-10 pseries machines to enable SMT.

This requires PIR and TIR be set, because that's how sibling thread
matching is done by TCG.

spapr's nested-HV capability does not currently coexist with SMT, so
that combination is prohibited (interestingly somewhat analogous to
LPAR-per-core mode on real hardware which also does not support KVM).

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
[ clg: Also test smp_threads when checking for POWER8 CPU and above ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 8f4c627b2f1479c15822ab2123ff4bdd63c24417
      
https://github.com/qemu/qemu/commit/8f4c627b2f1479c15822ab2123ff4bdd63c24417
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M tests/avocado/ppc_pseries.py

  Log Message:
  -----------
  tests/avocado: boot ppc64 pseries to Linux VFS mount

This machine can boot Linux to VFS mount, so don't stop in early boot.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 242e8b4dca60574a81c92ba4b8bcb538550c6cfc
      
https://github.com/qemu/qemu/commit/242e8b4dca60574a81c92ba4b8bcb538550c6cfc
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M tests/avocado/ppc_pseries.py

  Log Message:
  -----------
  tests/avocado: Add ppc64 pseries multiprocessor boot tests

Add mult-thread/core/socket Linux boot tests that ensure the right
topology comes up. Of particular note is a SMT test, which is a new
capability for TCG.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 2a24e6e394c0badefd1c6b1ecf571f3663236300
      
https://github.com/qemu/qemu/commit/2a24e6e394c0badefd1c6b1ecf571f3663236300
  Author: Frederic Barrat <fbarrat@linux.ibm.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/intc/pnv_xive.c
    M hw/intc/pnv_xive2.c
    M hw/intc/spapr_xive.c
    M hw/intc/xive.c
    M include/hw/ppc/xive.h

  Log Message:
  -----------
  pnv/xive2: Add a get_config() method on the presenter class

The presenters for xive on P9 and P10 are mostly similar but the
behavior can be tuned through a few CQ registers. This patch adds a
"get_config" method, which will allow to access that config from the
presenter in a later patch.
For now, just define the config for the TIMA version.

Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 177835304b39b6ed6a7c51fd19263ac10995dbec
      
https://github.com/qemu/qemu/commit/177835304b39b6ed6a7c51fd19263ac10995dbec
  Author: Frederic Barrat <fbarrat@linux.ibm.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M hw/intc/pnv_xive2.c
    M hw/intc/xive.c

  Log Message:
  -----------
  pnv/xive2: Check TIMA special ops against a dedicated array for P10

Accessing the TIMA from some specific ring/offset combination can
trigger a special operation, with or without side effects. It is
implemented in qemu with an array of special operations to compare
accesses against. Since the presenter on P10 is pretty similar to P9,
we had the full array defined for P9 and we just had a special case
for P10 to treat one access differently. With a recent change,
6f2cbd133d4 ("pnv/xive2: Handle TIMA access through all ports"), we
now ignore some of the bits of the TIMA address, but that patch
managed to botch the detection of the special case for P10.

To clean that up, this patch introduces a full array of special ops to
be used for P10. The code to detect a special access is common with
P9, only the array of operations differs. The presenter can pick the
correct array of special ops based on its configuration introduced in
a previous patch.

Fixes: Coverity CID 1512997, 1512998
Fixes: 6f2cbd133d4 ("pnv/xive2: Handle TIMA access through all ports")
Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 5eb63b88d0ac259c2f49e62b6dcc6527a5caf255
      
https://github.com/qemu/qemu/commit/5eb63b88d0ac259c2f49e62b6dcc6527a5caf255
  Author: Nicholas Piggin <npiggin@gmail.com>
  Date:   2023-06-25 (Sun, 25 Jun 2023)

  Changed paths:
    M tests/avocado/ppc_pseries.py

  Log Message:
  -----------
  tests/avocado: ppc test VOF bios Linux boot

VOF is the new lightweight fast pseries bios. Add a Linux boot test
using VOF.

More tests could be moved to use VOF becasue it's much faster, but
just dip one toe in the water first here. SLOF should continue to be
tested too.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: f9925abbda1c324d901d8e7fe63bad09a35ae740
      
https://github.com/qemu/qemu/commit/f9925abbda1c324d901d8e7fe63bad09a35ae740
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-06-26 (Mon, 26 Jun 2023)

  Changed paths:
    M MAINTAINERS
    M hw/intc/pnv_xive.c
    M hw/intc/pnv_xive2.c
    M hw/intc/spapr_xive.c
    M hw/intc/xive.c
    M hw/pci-host/pnv_phb4.c
    M hw/ppc/meson.build
    M hw/ppc/pnv.c
    M hw/ppc/ppc.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/prep.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_caps.c
    M hw/ppc/spapr_cpu_core.c
    M hw/ppc/spapr_hcall.c
    A hw/ppc/spapr_nested.c
    M include/hw/ppc/ppc.h
    M include/hw/ppc/spapr.h
    M include/hw/ppc/spapr_cpu_core.h
    A include/hw/ppc/spapr_nested.h
    M include/hw/ppc/xive.h
    M target/ppc/cpu.h
    M target/ppc/cpu_init.c
    M target/ppc/excp_helper.c
    M target/ppc/gdbstub.c
    M target/ppc/helper.h
    M target/ppc/kvm.c
    M target/ppc/misc_helper.c
    M target/ppc/mmu-radix64.c
    M target/ppc/translate.c
    M tests/avocado/ppc_pseries.py

  Log Message:
  -----------
  Merge tag 'pull-ppc-20230626' of https://github.com/legoater/qemu into staging

ppc queue:

* New maintainers
* Nested implementation cleanups
* Various cleanups of the CPU implementation
* SMT support for pseries
* Improvements of the XIVE2 TIMA modeling
* Extra avocado tests for pseries

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEoPZlSPBIlev+awtgUaNDx8/77KEFAmSZKF8ACgkQUaNDx8/7
# 7KGSiBAAlHC4S9J5ujzTIojaWY72d2ZinkC+WpBus9Wr91DqaUSUd/JbzDxQCvXh
# dBWEbcyQ+abb8M3OQ3fMq9TfD2/LhxxXb+uwHIJ+ylITBnsRVCQv/4/gi3EkpRid
# h4q3wYH8OYNfCQd/cWYXNgCSNj1nS9sRrEKFXaB0JeQWHzHxriJS/SoIhilqvUru
# LFEytWNb3bxRkEkt8oAetOa9+DNLowUQ9IdzswqGcib09po3b1k4+ThfcvzU9nAc
# ek31/h1W6cJbOJcgRO2dhWUZYp7cfmcnOa02E84tGFvvY/kYbjzPZZnoniSXD4uf
# YWFCoB3VxUoZ/YKCT/pDKHVdXmLLrfckNbo9vQNEcwmjr8m0Q3d1ewD5O9oNRpgN
# H0QMENfsdojztosOm3KPQ20aqNf1R7rQegYTiWf3B2fKZ6PIqnn3tBPxaEDkH7NC
# GTAKnBhF48lcHSF/4XOfGdmqhGgPRWX/Tv0wia7RY/A4NEfiIImIu+nYSGNBbu3y
# 7xlmtcumTlsRityOZnYI3bN5ubv++XPwU5NIJPACqvAbhif2rf1vQ9rMkkK785GL
# ciJ/5f6zXsLU7DfWP+qbTBizchQgigXnRZEEc7Seo6Bwtru22oxug0qQZ5QCgyXl
# Fg5Xuoq/6T4JC75pvxh1BjVlZc3Okzbfmsj+aZNrXO581HVJ2JI=
# =XLtJ
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 26 Jun 2023 07:55:43 AM CEST
# gpg:                using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
# gpg: Good signature from "Cédric Le Goater <clg@kaod.org>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: A0F6 6548 F048 95EB FE6B  0B60 51A3 43C7 CFFB ECA1

* tag 'pull-ppc-20230626' of https://github.com/legoater/qemu: (30 commits)
  tests/avocado: ppc test VOF bios Linux boot
  pnv/xive2: Check TIMA special ops against a dedicated array for P10
  pnv/xive2: Add a get_config() method on the presenter class
  tests/avocado: Add ppc64 pseries multiprocessor boot tests
  tests/avocado: boot ppc64 pseries to Linux VFS mount
  spapr: TCG allow up to 8-thread SMT on POWER8 and newer CPUs
  hw/ppc/spapr: Test whether TCG is enabled with tcg_enabled()
  target/ppc: Add msgsnd/p and DPDES SMT support
  target/ppc: Add support for SMT CTRL register
  target/ppc: Add initial flags and helpers for SMT support
  target/ppc: Fix sc instruction handling of LEV field
  target/ppc: Better CTRL SPR implementation
  target/ppc: Add ISA v3.1 LEV indication in SRR1 for system call interrupts
  target/ppc: Implement HEIR SPR
  target/ppc: Add SRR1 prefix indication to interrupt handlers
  target/ppc: Change partition-scope translate interface
  target/ppc: Fix instruction loading endianness in alignment interrupt
  ppc/spapr: Move spapr nested HV to a new file
  ppc/spapr: load and store l2 state with helper functions
  ppc/spapr: Add a nested state struct
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/79dbd910c9ea...f9925abbda1c



reply via email to

[Prev in Thread] Current Thread [Next in Thread]