dingusppc/cpu/ppc
joevt 177098c957 debugger: Fix interrupt signal.
Typing Control-C in Terminal app causes an interrupt signal that should enter the DPPC debugger but this only worked once since the signal handler never returned. Even if the signal handler reenabled the signal somehow, it calls enter_debugger recursively which is strange since the earlier calls to enter_debugger would never return.

Now the signal handler just sets a flag (power_on) which can be used to exit any loop (emulator loops, stepping loops, disassembly loops, dumping loops).

Main always calls enter_debugger now which calls the ppc_exec loop. The power_on flag will exit the ppc_exec loop to return to the debugger. Recursion of enter_debugger is eliminated except for calls to loguru's ABORT_F.

An enum power_off_reason is used to indicate why the power_on flag is set to false and to determine what happens next.
2024-03-02 12:57:02 -07:00
..
test ppctest: Fix floating-point tests. 2024-02-10 14:56:21 -07:00
CMakeLists.txt cmake: Add header files in CMakeLists.txt. 2024-03-01 19:41:43 -07:00
poweropcodes.cpp poweropcodes: lscbx cleanup. 2024-03-01 07:46:04 -07:00
ppcdisasm.cpp debugger: Improve my_sprintf for short strings. 2024-03-02 07:24:17 -07:00
ppcdisasm.h Add missing licence headers, update license date. 2021-10-23 21:00:31 +02:00
ppcemu.h debugger: Fix interrupt signal. 2024-03-02 12:57:02 -07:00
ppcexceptions.cpp Revert Memory exceptions use mmu handler. 2024-02-20 18:22:55 -07:00
ppcexec.cpp debugger: Fix interrupt signal. 2024-03-02 12:57:02 -07:00
ppcfpopcodes.cpp Clean-up for loading instructions 2024-03-01 07:57:46 -07:00
ppcmmu.cpp ppcmmu: Move defines to the top. 2024-03-02 07:58:25 -07:00
ppcmmu.h ppcmmu: Add a function to get phys address. 2024-03-01 19:48:52 -07:00
ppcopcodes.cpp More opcode clean-up 2024-03-02 07:57:15 -07:00