From: Zachary Amsden <zach@vmware.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Adrian Bunk <bunk@stusta.de>,
Rusty Russell <rusty@rustcorp.com.au>,
linux-kernel@vger.kernel.org,
"virtualization@lists.osdl.org" <virtualization@lists.osdl.org>
Subject: Re: 2.6.19-rc5-mm2: paravirt X86_PAE=y compile error
Date: Wed, 15 Nov 2006 17:30:32 -0800 [thread overview]
Message-ID: <455BBF38.5030503@vmware.com> (raw)
In-Reply-To: <20061115153614.a71f944d.akpm@osdl.org>
[-- Attachment #1: Type: text/plain, Size: 1265 bytes --]
Andrew Morton wrote:
> On Thu, 16 Nov 2006 00:16:26 +0100
> Adrian Bunk <bunk@stusta.de> wrote:
>
>
>> Paravirt breaks CONFIG_X86_PAE=y compilation:
>>
>> <-- snip -->
>>
>> ...
>> CC init/main.o
>> In file included from include2/asm/pgtable.h:245,
>> from
>> /home/bunk/linux/kernel-2.6/linux-2.6.19-rc5-mm2/include/linux/mm.h:40,
>> from
>> /home/bunk/linux/kernel-2.6/linux-2.6.19-rc5-mm2/include/linux/poll.h:11,
>> from
>> /home/bunk/linux/kernel-2.6/linux-2.6.19-rc5-mm2/include/linux/rtc.h:113,
>> from
>> /home/bunk/linux/kernel-2.6/linux-2.6.19-rc5-mm2/include/linux/efi.h:19,
>> from
>> /home/bunk/linux/kernel-2.6/linux-2.6.19-rc5-mm2/init/main.c:43:
>> include2/asm/pgtable-3level.h:108: error: redefinition of 'pte_clear'
>> include2/asm/paravirt.h:365: error: previous definition of 'pte_clear' was here
>> include2/asm/pgtable-3level.h:115: error: redefinition of 'pmd_clear'
>> include2/asm/paravirt.h:370: error: previous definition of 'pmd_clear' was here
>> make[2]: *** [init/main.o] Error 1
>>
>>
>
> So it does. Zach will save us.
>
>
Well that shouldn't have happened. Must have been some reject that went
unnoticed? Try this.
[-- Attachment #2: pae-fix.patch --]
[-- Type: text/plain, Size: 2118 bytes --]
Save big on PAE patches, now cheaper by the dozen!
I hope this doesn't trip someone's ham filter.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Index: linux-2.6.18/include/asm-i386/pgtable-3level.h
===================================================================
--- linux-2.6.18.orig/include/asm-i386/pgtable-3level.h 2006-11-10 14:49:51.000000000 -0800
+++ linux-2.6.18/include/asm-i386/pgtable-3level.h 2006-11-15 17:26:54.000000000 -0800
@@ -78,26 +78,6 @@ static inline void set_pte_present(struc
set_64bit((unsigned long long *)(pmdptr),pmd_val(pmdval))
#define set_pud(pudptr,pudval) \
(*(pudptr) = (pudval))
-#endif
-
-/*
- * Pentium-II erratum A13: in PAE mode we explicitly have to flush
- * the TLB via cr3 if the top-level pgd is changed...
- * We do not let the generic code free and clear pgd entries due to
- * this erratum.
- */
-static inline void pud_clear (pud_t * pud) { }
-
-#define pud_page(pud) \
-((struct page *) __va(pud_val(pud) & PAGE_MASK))
-
-#define pud_page_vaddr(pud) \
-((unsigned long) __va(pud_val(pud) & PAGE_MASK))
-
-
-/* Find an entry in the second-level page table.. */
-#define pmd_offset(pud, address) ((pmd_t *) pud_page(*(pud)) + \
- pmd_index(address))
/*
* For PTEs and PDEs, we must clear the P-bit first when clearing a page table
@@ -118,6 +98,26 @@ static inline void pmd_clear(pmd_t *pmd)
smp_wmb();
*(tmp + 1) = 0;
}
+#endif
+
+/*
+ * Pentium-II erratum A13: in PAE mode we explicitly have to flush
+ * the TLB via cr3 if the top-level pgd is changed...
+ * We do not let the generic code free and clear pgd entries due to
+ * this erratum.
+ */
+static inline void pud_clear (pud_t * pud) { }
+
+#define pud_page(pud) \
+((struct page *) __va(pud_val(pud) & PAGE_MASK))
+
+#define pud_page_vaddr(pud) \
+((unsigned long) __va(pud_val(pud) & PAGE_MASK))
+
+
+/* Find an entry in the second-level page table.. */
+#define pmd_offset(pud, address) ((pmd_t *) pud_page(*(pud)) + \
+ pmd_index(address))
#define __HAVE_ARCH_PTEP_GET_AND_CLEAR
static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
next prev parent reply other threads:[~2006-11-16 1:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20061114014125.dd315fff.akpm@osdl.org>
[not found] ` <20061114225622.GO22565@stusta.de>
2006-11-14 23:09 ` 2.6.19-rc5-mm2: warnings in MODPOST and later Andrew Morton
2006-11-15 7:42 ` Arjan van de Ven
[not found] ` <20061115231626.GC31879@stusta.de>
2006-11-15 23:36 ` 2.6.19-rc5-mm2: paravirt X86_PAE=y compile error Andrew Morton
2006-11-16 1:30 ` Zachary Amsden [this message]
2006-11-16 2:27 ` Chris Wright
2006-11-16 7:05 ` Andi Kleen
2006-11-28 23:36 ` Randy Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=455BBF38.5030503@vmware.com \
--to=zach@vmware.com \
--cc=akpm@osdl.org \
--cc=bunk@stusta.de \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=virtualization@lists.osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).