Re: [Qemu-devel] linux-user mmap bug

2010-05-25 Thread Edgar E. Iglesias
On Mon, May 24, 2010 at 08:45:31AM -0700, Richard Henderson wrote: > On 05/24/2010 07:57 AM, Edgar E. Iglesias wrote: > > I took a look at the code again and I dont really understand how the > > particular case when we get a high address from the kernel while > > mmap_min_addr is busy case is suppo

Re: [Qemu-devel] linux-user mmap bug

2010-05-24 Thread Richard Henderson
On 05/24/2010 07:57 AM, Edgar E. Iglesias wrote: > I took a look at the code again and I dont really understand how the > particular case when we get a high address from the kernel while > mmap_min_addr is busy case is supposed to work :/ > In fact, for CRIS it never works on my host. Indeed, ther

Re: [Qemu-devel] linux-user mmap bug

2010-05-24 Thread Edgar E. Iglesias
On Fri, May 21, 2010 at 10:39:20AM -0700, Richard Henderson wrote: > On 05/21/2010 09:38 AM, Richard Henderson wrote: > > I have a patch series that attempts to clean this up, but it > > isn't quite optimal. I'll post it for reference, however. > > Bah, the patch sequence no longer applies since

Re: [Qemu-devel] linux-user mmap bug

2010-05-21 Thread Richard Henderson
On 05/21/2010 09:38 AM, Richard Henderson wrote: > I have a patch series that attempts to clean this up, but it > isn't quite optimal. I'll post it for reference, however. Bah, the patch sequence no longer applies since Paul removed PAGE_RESERVED. r~

Re: [Qemu-devel] linux-user mmap bug

2010-05-21 Thread Richard Henderson
On 05/21/2010 06:28 AM, Edgar E. Iglesias wrote: > ptr = mmap(g2h(addr), size, PROT_NONE, > - MAP_ANONYMOUS|MAP_PRIVATE|MAP_NORESERVE, -1, 0); > + /* When the kernel returns addresses that the guest > + cannot use we might need to fa

[Qemu-devel] linux-user mmap bug

2010-05-21 Thread Edgar E. Iglesias
Hi I ran into an mmap problem linux-user emulating CRIS (32bit) on x86_64 hosts. Guest asks for a non fixed mmap, QEMU tries the mmap but the kernel returns a high 64bit address. QEMU notices that it wont fit in the guests 32bit ptr size and retries with a low address but doesn't set the MAP_FIXED