diff options
| author | Fuad Tabba <fuad.tabba@linux.dev> | 2026-07-26 15:36:42 +0100 |
|---|---|---|
| committer | Oliver Upton <oupton@kernel.org> | 2026-07-30 23:43:23 -0700 |
| commit | 119a9a23fbae4fefbb5cd4776547b3b6803a7eaa (patch) | |
| tree | d900e54c701aefa86f96849da2ef4a4bc54a8252 /tools/perf/scripts/python/stackcollapse.py | |
| parent | 81b2d03f8c86a1956606640794cafa6949fbc295 (diff) | |
KVM: arm64: Flush external_mdscr_el1 to the pKVM hyp vCPU
flush_debug_state() propagates the guest's debug_owner and the
owner-selected debug register state to the hyp vCPU, but not
external_mdscr_el1. While the host owns the debug registers, the world
switch loads MDSCR_EL1 from external_mdscr_el1 (ctxt_mdscr_el1()),
where the host's KDE/MDE/SS bits live. A non-protected guest under
KVM_GUESTDBG_USE_HW or single-step therefore runs with MDSCR_EL1.MDE/SS
clear in hardware, and its watchpoints, breakpoints and single-step
never fire.
Propagate external_mdscr_el1 to the hyp vCPU alongside the host-owned
debug state.
Fixes: 4ad3a0b87f2ec ("KVM: arm64: Don't hijack guest context MDSCR_EL1")
Signed-off-by: Fuad Tabba <fuad.tabba@linux.dev>
Link: https://patch.msgid.link/20260726143643.303456-2-fuad.tabba@linux.dev
Signed-off-by: Oliver Upton <oupton@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
