We have a device using the Zynq 7010, that sometimes produces a hard lockup. The PS runs a linux distro built with buildroot-2018.02.7 and the PL runs some proprietary IPs, communication between both is done through registers and interrupts. We have setup debugging via JTAG, using gdb, openocd and a USB Digilent HS3, this allow us to break into the linux at any time, but when the lockup happens, the debugger is not able to halt the processor (setting the halt bit in the DSCR register did not halt the processor).
What can prevent the processor to be halted ? How can we debug this issue ?