Re: [PATCH] x86/i386: Check PSE bit before using PAGE_KERNEL_LARGE.

From: H. Peter Anvin
Date: Thu May 31 2012 - 19:03:06 EST


No, PAE kernels cannot boot on non-PAE hardware.

Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> 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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/