Some more fixes for the task switch emulation.

> I think the problem is in seg_desct_to_kvm_desct() (besides the extra
> T's).  It copies the limit from the descriptor directly to the kvm_segment
> structure.

You're right.

After fixing that 2003 Server task switches successfully to an EIP that
contains junk, a few UD's are injected and then a GP, which BSOD's
asking for a reboot.

All task switch state is valid, can't find anything that would generate
any exception. And even if it did, #GP and #TS are handled with a BSOD.

Xen has this special case for when the TSS's first 104 bytes cross a page
boundary (docs mention this should be avoided since processor uses the
physical addresses as base), but not the case with 2003.

XP sets CR3 with invalid bits. Xen simply resets the guest in that case,
KVM could do the same.


-- 

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to