On 12/13/2009 08:14 PM, Richard Henderson wrote:
With host x86_64 target alpha, a trivial recompile started producing
"MMU faults". Eventually, I determined that adding "-B 0x100000000" was
enough to produce the fault with the original working executable. I
expect, but have not verified, that a similar failure can be elicited
with any 64-bit host and any target using such a large explicit base.
The cause is that the default address used by mmap_find_vma may not be
inside the area defined for use by the guest by GUEST_BASE. Certainly
this patch fixes the failure I was seeing.
I cannot see though all the macro ugliness to understand what happens
when GUEST_BASE is not in use to know what needs happening there. Please
feel free to edit the ??? comment to match reality.
... Well, while I do think this patch is still a good idea,
since one hardly likes to see things like
start_stack 0xffffffff04012000
it seems to simply have moved the MMU data fault around; it's back with
the rest of the patch set applied. :-(
r~