aboutsummaryrefslogtreecommitdiff
path: root/hw/intc/intc.c
diff options
context:
space:
mode:
authorBenjamin Gray <bgray@linux.ibm.com>2024-03-20 12:50:25 +1100
committerNicholas Piggin <npiggin@gmail.com>2024-03-30 18:50:24 +1000
commited399ade3c85adf82fe507339560693e83a27020 (patch)
tree00efd4e1d0e90120e59b740f50aa9024dcbd1133 /hw/intc/intc.c
parent978897a572e975faad912a473815a668a43d9f1f (diff)
downloadqemu-ed399ade3c85adf82fe507339560693e83a27020.zip
qemu-ed399ade3c85adf82fe507339560693e83a27020.tar.gz
qemu-ed399ade3c85adf82fe507339560693e83a27020.tar.bz2
target/ppc: Fix GDB register indexing on secondary CPUs
The GDB server protocol assigns an arbitrary numbering of the SPRs. We track this correspondence on each SPR with gdb_id, using it to resolve any SPR requests GDB makes. Early on we generate an XML representation of the SPRs to give GDB, including this numbering. However the XML is cached globally, and we skip setting the SPR gdb_id values on subsequent threads if we detect it is cached. This causes QEMU to fail to resolve SPR requests against secondary CPUs because it cannot find the matching gdb_id value on that thread's SPRs. This is a minimal fix to first assign the gdb_id values, then return early if the XML is cached. Otherwise we generate the XML using the now already initialised gdb_id values. Fixes: 1b53948ff8f7 ("target/ppc: Use GDBFeature for dynamic XML") Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Benjamin Gray <bgray@linux.ibm.com> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Diffstat (limited to 'hw/intc/intc.c')
0 files changed, 0 insertions, 0 deletions