On 13.09.2023 01:21, Andrew Cooper wrote: > We long ago fixed the emulator to not inject exceptions behind our back. > Therefore, assert that that a PV event (including interrupts, because that > would be buggy too) isn't pending, rather than skipping the #DB injection if > one is. > > On the other hand, the io_emul() stubs which use X86EMUL_DONE rather than > X86EMUL_OKAY may have pending breakpoints to inject after the IO access is > complete, not to mention a pending singlestep.
If you look at the uses of X86EMUL_DONE you'll see that this error code is not intended to ever come back from the emulator. It's solely used to communicate between hooks and the core emulator. Therefore I think this part of the description and the added case label are wrong here. With them dropped again ... > Signed-off-by: Andrew Cooper <[email protected]> Reviewed-by: Jan Beulich <[email protected]> Jan
