From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41461) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBub9-0001ST-6V for qemu-devel@nongnu.org; Wed, 23 Dec 2015 20:21:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aBub4-0008IS-7X for qemu-devel@nongnu.org; Wed, 23 Dec 2015 20:21:43 -0500 Received: from out21.biz.mail.alibaba.com ([205.204.114.132]:51966) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBub3-0008HN-Gq for qemu-devel@nongnu.org; Wed, 23 Dec 2015 20:21:38 -0500 References: <1450919253-3237-1-git-send-email-chengang@emindsoft.com.cn> From: Chen Gang Message-ID: <567B4895.6070506@emindsoft.com.cn> Date: Thu, 24 Dec 2015 09:21:25 +0800 MIME-Version: 1.0 In-Reply-To: <1450919253-3237-1-git-send-email-chengang@emindsoft.com.cn> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH] linux-user/mmap.c: Use end instead of real_end in target_mmap List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: riku.voipio@iki.fi, laurent@vivier.eu Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org, rth@twiddle.net Hello all: After this patch, the i386 wine notepad.exe can be bootup and run under sw_64 host. - The initialization is very very slow (about 10 minutes), it is mainly running in find_vma_reserved (consume more than 95% time resource). I guess, it can be optimized. - After initialization, for real using, the performance is acceptable!! :-) - Next, I shall try the real Windows XP notepad.exe. I guess, we need not softmmu, at least, for wine, it is true (wine will mmap all memory areas during initializing, and manage them by itself when real running). Welcome any suggestions, ideas, and completions. BTW: Merry Christmas! :-) Thanks. On 2015年12月24日 09:07, chengang@emindsoft.com.cn wrote: > From: Chen Gang > > In this case, real_end is larger than end, which may cause mmap_frag > process the incorrect memory region. > > Signed-off-by: Chen Gang > --- > linux-user/mmap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/linux-user/mmap.c b/linux-user/mmap.c > index 7b459d5..57b0361 100644 > --- a/linux-user/mmap.c > +++ b/linux-user/mmap.c > @@ -536,7 +536,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, > /* handle the end of the mapping */ > if (end < real_end) { > ret = mmap_frag(real_end - qemu_host_page_size, > - real_end - qemu_host_page_size, real_end, > + real_end - qemu_host_page_size, end, > prot, flags, fd, > offset + real_end - qemu_host_page_size - start); > if (ret == -1) > -- Chen Gang (陈刚) Open, share, and attitude like air, water, and life which God blessed