This patch series implements Xtensa debug option: debug interrupt, breakpoint opcodes, instruction breakpoint SRs, instruction counting SR, data breakpoint SRs.
This option enables native debugging, e.g. now guest linux GDB is functional. Three exec.c patches fixe watchpoints bits that nobody seems to use currently. There are still unresolved issue with data breakpoints on unmapped memory: Xtensa ISA says that data breakpoint exception has higher priority than TLB exception and thus accessing unmapped address that hits data breakpoint will raise debug exception. Watchpoint mapping is performed in the tlb_set_page, but it is not called in case of guest TLB miss. Any idea on how to resolve it is welcome. Max Filippov (9): target-xtensa: add DEBUGCAUSE SR and configuration target-xtensa: implement instruction breakpoints target-xtensa: add ICOUNT SR and debug exception exec: add missing breaks to the watch_mem_write exec: fix check_watchpoint exiting cpu_loop exec: let cpu_watchpoint_insert accept larger watchpoints target-xtensa: add DBREAK data breakpoints target-xtensa: add DEBUG_SECTION to overlay tool target-xtensa: add breakpoint tests exec.c | 18 +++- target-xtensa/core-dc232b.c | 1 + target-xtensa/core-fsf.c | 1 + target-xtensa/cpu.h | 42 ++++++++ target-xtensa/helper.c | 43 ++++++++ target-xtensa/helpers.h | 7 ++ target-xtensa/op_helper.c | 100 ++++++++++++++++++ target-xtensa/overlay_tool.h | 5 + target-xtensa/translate.c | 153 +++++++++++++++++++++++++++- tests/tcg/xtensa/Makefile | 1 + tests/tcg/xtensa/test_break.S | 223 +++++++++++++++++++++++++++++++++++++++++ 11 files changed, 585 insertions(+), 9 deletions(-) create mode 100644 tests/tcg/xtensa/test_break.S -- 1.7.7.6