Antonio Borneo - 2023-05-27

Daniel,
the issue is caused by the code in aarch64_step() that at the end does not check the status of the core and does not call the event TARGET_EVENT_HALTED.
You can compare the code with the one in cortex_m.c and cortex_a.c. cortex_a_step() directly calls cortex_a_poll().

The former incorrect implementation was running a polling of all targets after each TCL command.
This causes huge performance degradation and does not comply with the design of having a time-based polling.