On 9/30/19 8:42 AM, David Hildenbrand wrote: >> Of course, but it's no different with this case than any other. If the >> interrupt has already been handled, then we will simply restart the next TB >> as >> per normal. > Yeah, I was mostly concerned that "the next TB" will be "the next > instruction" and not "the original instruction again".
Ah, well, that's easy. The next TB will start from psw.addr, and when we cpu_loop_exit_restore(), psw.addr will be set to the current instruction. This is exactly the same as when we raise a PGM_ADDRESSING exception which needs to be restarted after the kernel swaps in the page. r~