On Thu, 2022-07-14 at 15:50 +0200, Maciej S. Szmigiero wrote:
On 14.07.2022 14:44, Maxim Levitsky wrote:
Recently KVM's SVM code switched to re-injecting software interrupt events,
if something prevented their delivery.
Task switch due to task gate in the IDT, however is an exception
to this rule, because in this case, INTn instruction causes
a task switch intercept and its emulation completes the INTn
emulation as well.
Add a missing case to task_switch_interception for that.
This fixes 32 bit kvm unit test taskswitch2.
Fixes: 7e5b5ef8dca322 ("KVM: SVM: Re-inject INTn instead of retrying the insn on "failure"")
Signed-off-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx>
---
That's a good catch, your patch looks totally sensible to me.
People running Win 3.x or OS/2 on top of KVM will surely be grateful for it :)
Yes and also people who run 32 bit kvm unit tests :)
BTW, I do have a win98 VM which I run once in a while under KVM.
On Intel it works very well, on AMD, only works without NPT and without MMU
pre-fetching, due to fact that the OS doesn't correctly invalidate TLB entries.
I do need to test KVM with OS/2 on one of the weekends.... ;-)
Thanks for the review,
Best regards,
Maxim Levitsky