hal: fix planted break instruction for Xtensa targets

On Xtensa, "break 0, 0" encodes a software breakpoint which is placed
into the program by the debug monitor. Planted breakpoints (added in
the code to trap into debugger) should be encoded as "break 1, 15".
See table "Breakpoint Instruction Operand Conventions" in the ISA
Reference manual.
pull/6974/head
Ivan Grokhotkov 2020-12-01 23:28:59 +01:00
rodzic da90775d98
commit e449728b7d
3 zmienionych plików z 3 dodań i 3 usunięć

Wyświetl plik

@ -170,7 +170,7 @@ static inline bool cpu_ll_is_debugger_attached(void)
static inline void cpu_ll_break(void) static inline void cpu_ll_break(void)
{ {
__asm__ ("break 0,0"); __asm__ ("break 1,15");
} }
static inline void cpu_ll_set_vecbase(const void* vecbase) static inline void cpu_ll_set_vecbase(const void* vecbase)

Wyświetl plik

@ -165,7 +165,7 @@ static inline bool cpu_ll_is_debugger_attached(void)
static inline void cpu_ll_break(void) static inline void cpu_ll_break(void)
{ {
__asm__ ("break 0,0"); __asm__ ("break 1,15");
} }
static inline void cpu_ll_set_vecbase(const void* vecbase) static inline void cpu_ll_set_vecbase(const void* vecbase)

Wyświetl plik

@ -169,7 +169,7 @@ static inline bool cpu_ll_is_debugger_attached(void)
static inline void cpu_ll_break(void) static inline void cpu_ll_break(void)
{ {
__asm__ ("break 0,0"); __asm__ ("break 1,15");
} }
static inline void cpu_ll_set_vecbase(const void *vecbase) static inline void cpu_ll_set_vecbase(const void *vecbase)