QEMU uses this very hard to understand setjmp and longjmp to handle asynchronous interrupt. what i do not understand is that say one of the process is doing a context switching in the guest os. tlb_flush gets called, what if in the middle of tlb_flush, an interrupt comes in ( longjmp executed ). does not qemu need to rolled back and re-execute the context switch instruction ?
Thanks Xin