qemu/target-arm
Alex Bennée 34c45d5302 target-arm: kvm - re-inject guest debug exceptions
If we can't find details for the debug exception in our debug state
then we can assume the exception is due to debugging inside the guest.
To inject the exception into the guest state we re-use the TCG exception
code (do_interrupt).

However while guest debugging is in effect we currently can't handle the
guest using single step as we will keep trapping to back to userspace.
GDB makes heavy use of single-step behind the scenes which effectively
means the guest's ability to debug itself is disabled while it is being
debugged.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 1449599553-24713-6-git-send-email-alex.bennee@linaro.org
[PMM: Fixed a few typos in comments and commit message]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2015-12-17 13:37:15 +00:00
..
arm_ldst.h softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
arm-semi.c target-arm/arm-semi.c: SYS_EXIT on A64 takes a parameter block 2015-09-07 10:39:28 +01:00
cpu64.c target-arm: Fix REVIDR reset value 2015-06-15 18:06:08 +01:00
cpu-qom.h target-arm: Refactor CPU affinity handling 2015-09-07 10:39:31 +01:00
cpu.c target-arm: raise exception on misaligned LDREX operands 2015-12-17 13:37:13 +00:00
cpu.h target-arm: Add HPFAR_EL2 2015-10-27 15:59:46 +00:00
crypto_helper.c crypto: move built-in AES implementation into crypto/ 2015-07-07 12:04:13 +02:00
gdbstub64.c target-arm/gdbstub64.c: remove useless 'break' statement. 2014-04-17 21:34:06 +01:00
gdbstub.c cpu: Introduce CPUClass::gdb_{read,write}_register() 2013-07-27 00:04:17 +02:00
helper-a64.c target-arm: kvm - re-inject guest debug exceptions 2015-12-17 13:37:15 +00:00
helper-a64.h target-arm: A64: Implement CRC instructions 2014-06-09 16:06:12 +01:00
helper.c target-arm: raise exception on misaligned LDREX operands 2015-12-17 13:37:13 +00:00
helper.h target-arm: Fix CPU breakpoint handling 2015-10-16 14:48:56 +01:00
internals.h target-arm: raise exception on misaligned LDREX operands 2015-12-17 13:37:13 +00:00
iwmmxt_helper.c target-arm: Delete unused iwmmxt_msadb helper 2014-06-09 16:06:12 +01:00
kvm32.c target-arm: kvm - add support for HW assisted debug 2015-12-17 13:37:15 +00:00
kvm64.c target-arm: kvm - re-inject guest debug exceptions 2015-12-17 13:37:15 +00:00
kvm_arm.h target-arm: kvm - add support for HW assisted debug 2015-12-17 13:37:15 +00:00
kvm-consts.h target-arm/kvm64: Add cortex-a53 cpu support 2015-06-15 18:06:08 +01:00
kvm-stub.c target-arm: kvm: Differentiate registers based on write-back levels 2015-07-21 11:18:45 +01:00
kvm.c target-arm: kvm - add support for HW assisted debug 2015-12-17 13:37:15 +00:00
machine.c hw/intc: Initial implementation of vGICv3 2015-09-24 01:29:37 +01:00
Makefile.objs target-arm: add emulation of PSCI calls for system emulation 2014-10-24 12:19:13 +01:00
neon_helper.c target-arm: add support for v8 VMULL.P64 instruction 2014-06-09 16:06:11 +01:00
op_addsub.h
op_helper.c target-arm: raise exception on misaligned LDREX operands 2015-12-17 13:37:13 +00:00
psci.c target-arm: Use the kernel's idea of MPIDR if we're using KVM 2015-06-15 18:06:09 +01:00
translate-a64.c target-arm/translate-a64.c: Correct unallocated checks for ldst_excl 2015-11-24 14:12:15 +00:00
translate.c target-arm: Fix and improve AA32 singlestep translation completion code 2015-12-17 13:37:13 +00:00
translate.h tcg: Remove gen_intermediate_code_pc 2015-10-07 20:36:52 +11:00