aboutsummaryrefslogtreecommitdiff
path: root/rust/qemu-api
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2025-05-12 13:10:42 +1000
committerCédric Le Goater <clg@redhat.com>2025-07-21 08:03:53 +0200
commit581bec5a04c5c27a86cfae93ca531c101f2df2ec (patch)
tree90d09526cc95ef89b4bd168d6c1333d6d0ba3e8e /rust/qemu-api
parent3516b9b6739714068d83bb5ed9ce25cc1b20be8d (diff)
downloadqemu-581bec5a04c5c27a86cfae93ca531c101f2df2ec.zip
qemu-581bec5a04c5c27a86cfae93ca531c101f2df2ec.tar.gz
qemu-581bec5a04c5c27a86cfae93ca531c101f2df2ec.tar.bz2
ppc/xive: tctx signaling registers rework
The tctx "signaling" registers (PIPR, CPPR, NSR) raise an interrupt on the target CPU thread. The POOL and PHYS rings both raise hypervisor interrupts, so they both share one set of signaling registers in the PHYS ring. The PHYS NSR register contains a field that indicates which ring has presented the interrupt being signaled to the CPU. This sharing results in all the "alt_regs" throughout the code. alt_regs is not very descriptive, and worse is that the name is used for conversions in both directions, i.e., to find the presenting ring from the signaling ring, and the signaling ring from the presenting ring. Instead of alt_regs, use the names sig_regs and sig_ring, and regs and ring for the presenting ring being worked on. Add a helper function to get the sign_regs, and add some asserts to ensure the POOL regs are never used to signal interrupts. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Glenn Miles <milesg@linux.ibm.com> Reviewed-by: Michael Kowal <kowal@linux.ibm.com> Tested-by: Gautam Menghani <gautam@linux.ibm.com> Link: https://lore.kernel.org/qemu-devel/20250512031100.439842-34-npiggin@gmail.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
Diffstat (limited to 'rust/qemu-api')
0 files changed, 0 insertions, 0 deletions