target-arm: Fix GDB breakpoint handling

GDB breakpoints have higher priority so they have to be checked first.
Should GDB breakpoint match, just return from the debug exception
handler.

Backports commit e63a2d4d9ed73e33a0b7483085808048be8bbcb1 from qemu
This commit is contained in:
Sergey Fedorov 2018-02-16 14:49:46 -05:00 committed by Lioncash
parent cb04e919ab
commit 4706e10887
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -894,6 +894,13 @@ void arm_debug_excp_handler(CPUState *cs)
} }
} }
} else { } else {
/* Unicorn: commented out
uint64_t pc = is_a64(env) ? env->pc : env->regs[15];
if (cpu_breakpoint_test(cs, pc, BP_GDB)) {
return;
}*/
if (check_breakpoints(cpu)) { if (check_breakpoints(cpu)) {
bool same_el = (arm_debug_target_el(env) == arm_current_el(env)); bool same_el = (arm_debug_target_el(env) == arm_current_el(env));
if (extended_addresses_enabled(env)) { if (extended_addresses_enabled(env)) {