Re: [Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-28 Thread Chen Gang
On 2016年01月28日 22:54, Peter Maydell wrote: > On 27 January 2016 at 01:37, Chen Gang wrote: >> Within one single call to target_mmap(), it should be OK. >> >> But multiple call to target_mmap(), may call mmap_frag() multiple times >> for the same host page (also for the

Re: [Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-28 Thread Peter Maydell
On 27 January 2016 at 01:37, Chen Gang wrote: > Within one single call to target_mmap(), it should be OK. > > But multiple call to target_mmap(), may call mmap_frag() multiple times > for the same host page (also for the same target page). In our case: > > - 4600 >

Re: [Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-26 Thread Peter Maydell
On 26 January 2016 at 02:58, Chen Gang wrote: > The related comments for "if (prot1 == 0)" code block is "no page was > there, so we allocate one". > > So I guess this code block is not only allocate page for guest, but also > for host. So prot1 is not only for the

Re: [Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-26 Thread Chen Gang
On 2016年01月26日 17:11, Peter Maydell wrote: > On 26 January 2016 at 02:58, Chen Gang wrote: >> The related comments for "if (prot1 == 0)" code block is "no page was >> there, so we allocate one". >> >> So I guess this code block is not only allocate page for guest, but

Re: [Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-26 Thread Peter Maydell
On 26 January 2016 at 10:19, Chen Gang wrote: > When I run WeChat.exe with i386 wine with qemu-i386 under sw_64 arch. > > - The related command: > >"./i386-linux-user/qemu-i386 -strace -L /upstream/i386_wine > /upstream/i386_wine/usr/local/bin/wine "C:\\Program >

Re: [Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-26 Thread Chen Gang
On 2016年01月26日 18:26, Peter Maydell wrote: > On 26 January 2016 at 10:19, Chen Gang wrote: >> When I run WeChat.exe with i386 wine with qemu-i386 under sw_64 arch. >> >> - The related command: >> >>"./i386-linux-user/qemu-i386 -strace -L /upstream/i386_wine >>

Re: [Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-25 Thread Peter Maydell
On 11 January 2016 at 09:01, wrote: > From: Chen Gang > > mmap() size in mmap_frag() is qemu_host_page_size, but the outside calls > page_set_flags() may be not with qemu_host_page_size. So after mmap(), > call page_set_flags() in time. > >

Re: [Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-25 Thread Chen Gang
Firstly, thank you very much to still focus on this patch, which will be much helpful for my current work! And I modified some code, but did not send patches to upstream, e.g. sw_64 related code, use TARGET_PAGE_SIZE instead of HOST_PAGE_SIZE ...). I skipped MAP_SHARED with PROT_WRITE check

[Qemu-devel] [PATCH v2 1/3] linux-user/mmap.c: Set prot page flags for the correct region in mmap_frag()

2016-01-11 Thread chengang
From: Chen Gang mmap() size in mmap_frag() is qemu_host_page_size, but the outside calls page_set_flags() may be not with qemu_host_page_size. So after mmap(), call page_set_flags() in time. After this fix, for the next call for the same region, prot1 will be