On 03.01.2013, at 18:19, Peter Maydell wrote: > On 3 January 2013 13:17, Alexander Graf <ag...@suse.de> wrote: >> MIPS only supports 31 bits of virtual address space for user space, so let's >> make sure we stay within that limit with our preallocated memory block. >> >> This fixes the MIPS user space targets when executed without command line >> option. > > This looks weird -- why should the guest care that we've reserved a > 4GB block which it only uses half of? Or is the problem that host > mmap() ends up handing out addresses from anywhere in the 4GB > reserved area?
Even worse, it starts from the top IIRC. MIPS uses the upper virtual address bit for kernel/user space indication. I'm not sure where exactly this logic falls apart in our case, but user space virtual addresses above 2GB are simple illegal in that world, so I wouldn't expect QEMU or a guest process to cope with them. Alex