Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965570AbbBCNAm (ORCPT ); Tue, 3 Feb 2015 08:00:42 -0500 Received: from mail-oi0-f50.google.com ([209.85.218.50]:44312 "EHLO mail-oi0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753698AbbBCNAk (ORCPT ); Tue, 3 Feb 2015 08:00:40 -0500 MIME-Version: 1.0 In-Reply-To: <54D0C234.8000203@scalemp.com> References: <87egq7dvwj.fsf@gmail.com> <54D0C234.8000203@scalemp.com> Date: Tue, 3 Feb 2015 19:00:39 +0600 Message-ID: Subject: Re: [x86_64] Question about early page tables initialization From: Alexander Kuleshov To: Oren Twaig Cc: linux-kernel@vger.kernel.org Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1607 Lines: 58 Hello Oren, Ah yes, absolutely right. I thought almost the same, just overlooked that pdp is right after pml4 in memory. Oren thank you for help. 2015-02-03 18:42 GMT+06:00 Oren Twaig : > Hi, > > This is the corresponding C code which can help you understand: > > u64 *pml4 = (u64*)pgtable; > u64 pdp = pgtable + 0x1000; > u64 pml4_entry = pdp | PTE_P | PTE_W | PTU; // present, write, userspace = 0x7 > pml4[0] = pml4_entry; > > The 0x1007 you see is just the calculation of the pml4_entry. > > Oren Twaig. > > On 02/03/2015 02:25 PM, Alex Kuleshov wrote: >> Hello All, >> >> I have a question about page tables initialization in the >> arch/x86/boot/compressed/head_64.S >> >> After we clear memory for page tables, there is code which >> build PML4: >> >> leal pgtable + 0(%ebx), %edi >> leal 0x1007(%edi), %eax >> movl %eax, 0(%edi) >> >> Why there is offset 0x1007 instead just 0x7? 0x1007 is >> 4k + 7bit (PML4E) flags as i understand correctly. But >> why we skip first 4k here? >> >> Thank you. >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ >> > > -- _________________________ 0xAX -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/