Messages in this thread | | | Subject | Re: [PATCH] x86/i386: Check PSE bit before using PAGE_KERNEL_LARGE. | From | "H. Peter Anvin" <> | Date | Thu, 31 May 2012 16:02:11 -0700 |
| |
No, PAE kernels cannot boot on non-PAE hardware.
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> wrote:
>On Thu, May 31, 2012 at 01:21:02PM -0700, H. Peter Anvin wrote: >> On 05/31/2012 12:40 PM, Konrad Rzeszutek Wilk wrote: >> > During bootup we would unconditionally do this on any >> > machine that was built with CONFIG_NUMA=y on i386: >> > >> > setup_arch >> > \-initmem_init >> > \-x86_numa_init (with dummy_init as callback) >> > \- init_alloc_remap >> > \- set_pmd_pfn (with PAGE_PSE) >> > >> > without checking to see if the CPU supports PSE. This >> > patch adds that and also allows the init_alloc_remap function >> > to properly work by falling back on PTEs. >> > >> >> Well, the code looks like it is PAE-specific, and PAE implies PSE. > >I have to double check - but I think a kernel built with >CONFIG_HIGHMEM64=y >and CONFIG_NUMA=y would boot on a Pentium II which can't do PAE. > >But perhaps there are some other checks that would halt the kernel >before it even got there? > >> >> Xen breaks that, but that is a divergence of Xen from x86. > >It certainly does <sigh>. And that is how I spotted this - b/c the >PMD would fail (with tons of mutlicalls warnings) - and the PTE's >would still point to the old PFNs.
-- Sent from my mobile phone. Please excuse brevity and lack of formatting.
| |