On 20.03.2010, at 08:49, Avi Kivity wrote: > On 03/19/2010 05:29 PM, Mohammed Gamal wrote: >> Hello all, >> As some of you might know, I've worked on supporting big real mode >> emulation on VMX back in GSoC 2008. Looking at the Qemu GSoC ideas >> list for this year, I found it among the possible ideas for a GSoC >> project. I'd be interested in driving this feature towards completion, >> and I have a few questions about it. >> >> - The kernel-space modifications needed to detect an invalid guest >> state on VMX and drive emulation from that point was almost complete. >> The part that was missing the most, is that the kvm x86 emulator >> wasn't complete and didn't support the entire instruction set. I've >> seen that the emulator has been the focus of some recent patches >> (namely by Gleb Natapov). Is there anything else required to get big >> real mode to work correctly on KVM? >> > > IIRC there are some bugs in invalid guest state detection, so it may need > some work. We don't support interrupt injection during invalid guest state, > that will be tricky since it needs access to memory and interrupt injection > currently happens from atomic context. Finally, there may still be missing > instructions. > >> - Do we have other problems supporting big real mode on non-VMX >> instruction sets? And do we have problems supporting it on the >> userspace side? >> > > No.
Interestingly enough Hannes just tried to boot a Windows 98 VM on SVM yesterday and failed, while the same VM worked (mostly) with -no-kvm. So apparently there's more missing to it than just big real mode. I'd say that a GSoC project would rather focus on making a guest OS work than working on generic big real mode. Having Windows 98 support is way more visible to the users. And hopefully more fun to implement too, as it's a visible goal :-). Alex