On 04/06/2010 02:18 AM, Aurelien Jarno wrote:
(1) Enable softmmu for userland. This is of course the highest overhead, but will work for all combinations.This option would solve a lot of problems and simplify a lot of code: unaligned access on hosts requiring strict alignements, different page size between host and guest, self-modifying code, 64-bit user land on 32-bit host, etc... That's what currently comes to my mind, but that would solve a lot more problems. It will clearly have a high overhead, but it might be interesting to quantify it, to see if we should continue to add tons of code/workaround to linux-user instead of switching to softmmu for userland. It could also be optimized, for example by increasing the TLB size compared to system mode, and doing TLB preallocation on mmap calls.
You could reduce the overhead somewhat by using kvm for memory translation on hosts that support it. Of course tcg translation and syscall costs will grow by the exit overhead.
-- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.
