From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:45182) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uexnv-0005SO-GL for qemu-devel@nongnu.org; Tue, 21 May 2013 21:25:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Uexnq-000758-Uq for qemu-devel@nongnu.org; Tue, 21 May 2013 21:25:23 -0400 Received: from [222.73.24.84] (port=45376 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Uexnq-00074x-K2 for qemu-devel@nongnu.org; Tue, 21 May 2013 21:25:18 -0400 Message-ID: <519C1E87.5090205@cn.fujitsu.com> Date: Wed, 22 May 2013 09:25:27 +0800 From: Qiao Nuohan MIME-Version: 1.0 References: <1369105221-26307-1-git-send-email-qiaonuohan@cn.fujitsu.com> <519B112E.7040100@linux.vnet.ibm.com> <519B5B66.2000806@suse.de> <519B6326.1000607@cn.fujitsu.com> <519BA6A5.7090906@suse.de> <519C1D80.6090707@cn.fujitsu.com> In-Reply-To: <519C1D80.6090707@cn.fujitsu.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-8859-1; format=flowed Subject: Re: [Qemu-devel] [PATCH] Fix mask of pte index List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?ISO-8859-1?Q?Andreas_F=E4rber?= Cc: aliguori@us.ibm.com, Jesse Larrew , qemu-devel@nongnu.org On 05/22/2013 09:21 AM, Qiao Nuohan wrote: > Function walk_pte needs pte index to calculate virtual address. However, > pte > index of PAE paging or IA-32e paging is 9 bit, so the mask should be 0x1ff. > > Signed-off-by: Qiao Nuohan Reviewed by: Jesse Larrew > --- > target-i386/arch_memory_mapping.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/target-i386/arch_memory_mapping.c > b/target-i386/arch_memory_mapping.c > index 844893f..a2eb7e7 100644 > --- a/target-i386/arch_memory_mapping.c > +++ b/target-i386/arch_memory_mapping.c > @@ -38,7 +38,7 @@ static void walk_pte(MemoryMappingList *list, hwaddr > pte_start_addr, > continue; > } > > - start_vaddr = start_line_addr | ((i & 0x1fff) << 12); > + start_vaddr = start_line_addr | ((i & 0x1ff) << 12); > memory_mapping_list_add_merge_sorted(list, start_paddr, > start_vaddr, 1 << 12); > }