Hi, This is an attempt to fix debugging of AArch32 binaries when running under KVM on AArch64 hardware. There are two parts to this, the first is a handling the possibility of AArch32 software breakpoints with a heuristic based on the current execution mode. The second part is delaying the setup of aarch64 debugging until the shared arm_cpu_realize function is run by which point we have parsed and decoded the actual execution mode of the guest. This doesn't solve the problem of split mode guests which switch between an AA64 EL1 and an AA32 EL0 though.
I still ran into a problem with single-step. Even with Mark's single-step fixup series: To: linux-arm-ker...@lists.infradead.org Cc: kvm...@lists.cs.columbia.edu, Subject: [PATCH 0/2] kvm/arm: make singlestep behaviour consistent Date: Fri, 9 Nov 2018 15:07:09 +0000 Message-Id: <20181109150711.45864-1-mark.rutl...@arm.com> some instructions do single-step but sometimes the single-step doesn't return leading to a runaway until it hits a breakpoint. I'm not sure why this is the case because the SS state machine shouldn't be instruction sensitive. However these two patches at least make it possible to debug an AArch32 guest. Alex Bennée (2): target/arm: kvm64 make guest debug AA32 break point aware target/arm: defer setting up of aarch64 gdb until arm_cpu_realize include/hw/arm/arm.h | 2 ++ target/arm/cpu.c | 4 ++++ target/arm/cpu64.c | 20 +++++++++++++++----- target/arm/kvm64.c | 13 ++++++++++--- 4 files changed, 31 insertions(+), 8 deletions(-) -- 2.17.1