H. Peter Anvin wrote:
> Just for fun, I tried to boot OS/2 Warp 4.0 under KVM (KVM-59 with the 
> latest git kernel from Linus as of yesterday, slightly post 2.6.24-rc8.) 
>    I found that it crashes very early, apparently because KVM doesn't 
> handle an #UD received in user mode.  It appears that OS/2 actually 
> provokes an #UD deliberately in real mode, from the disassembly it looks 
> like it's trying to probe for the 486 version of cmpxchg (which has a 
> different opcode than the 586+ version.)
>   

Strange, the manual lists 0f b0 and 0f b1 as compatible all the way back 
to the 486.  What opcode are you seeing?

> It looks like the kernel code filters out a very small number of 
> real-mode exceptions, and does a KVM exit for all the other ones; the 
> userspace code then unconditionally barfs.  This is presumably a 
> temporary hack; what is the intended behaviour - for this to be handled 
> in-kernel, or in userspace?
>   

In kernel.  I've never seen a #UD in real mode, that's why it isn't handled.

-- 
Any sufficiently difficult bug is indistinguishable from a feature.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to