On 08/07/2016 06:20 AM, Benjamin Herrenschmidt wrote:
On Sat, 2016-08-06 at 15:23 +0530, Richard Henderson wrote:
On 08/03/2016 05:09 PM, Benjamin Herrenschmidt wrote:
As far user-with-softmmu, I'm not too sure... softmmu significantly
increases the overhead of load and stores. Maybe after we add 128-bit
integers to TGC to alleviate that a bit ? :-)
It wouldn't be mandatory, but there are certain bugs we can't fix without it.
The big issues to be fixed with softmmu are
(1) Host page size > guest page size.
E.g. there are many programs (i386, sparc, etc, all with 4k pages) that you
can't even load, much less run, on a ppc64 host using a 64k page size.
Can't we advertise the host page size to the guest ? Or there are too many
compiled-in assumptions ?
Sometimes. However:
Each guest has a set of page sizes that are legal. The largest of these is
baked into the static linker via MAXPAGESIZE. If the host page size is larger
than this guest maximum, the layout of the guest binary may be impossible to
satisfy on the host. There are examples of this even within linux-user-test-0.3.
For those guests whose set of page sizes contains only one size, the page size
is often baked into executables via the constant PAGE_SIZE, rather than
performing a runtime query on getpagesize(2).
r~