On 12.04.2010, at 17:49, Avi Kivity wrote: > On 04/12/2010 06:39 PM, Alexander Graf wrote: >> >>> Pass everything through memory; will there be many transitions apart from >>> trapping instructions and missing translations? >>> >> I don't see how that would help with the 64-on-32 issue. You still don't get >> a 64 bit address space from running inside KVM. >> > > True. Like the other options, it's just another tool in the toolbox and > doesn't solve all problems. > > You could cheat and have a 64-bit kernel under a 32-bit qemu.
For fully system emulation on the other hand I can imagine quite some nice tricks one could pull. On PPC hosts you get a huge number of VSIDs that are basically like tags on the TLB. So if you'd give every x86 page table one VSID you'd potentially have really great and fast shadow PTEs. On x86 hosts you can just keep several page tables around. You can then map for example every combination of guest VSIDs to one page table each. I'm sure there are similar fun things you can do with the other supported archs. The hard part is to come up with something generic enough so it works on all hosts and guests with little effort. Oh well :) Alex