x86: fix Intel Mac booting with EFI
authorHugh Dickins <hugh@veritas.com>
Wed, 2 Jul 2008 21:48:03 +0000 (22:48 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 3 Jul 2008 06:19:18 +0000 (08:19 +0200)
commit216705d2720dedf630b55d641737f430ead0c228
tree7de026a8524bb63f11e35713e69568ede674a49e
parentefac41894df57d32b483ac622d03541b5b2692c0
x86: fix Intel Mac booting with EFI

Fedora reports that mem_init()'s zap_low_mappings(), extended to SMP in
61165d7a035f6571c7576e7f51e7230157724c8d x86: fix app crashes after SMP
resume causes 32-bit Intel Mac machines to reboot very early when
booting with EFI.

The EFI code appears to manage low mappings for itself when needed; but
like many before it, confuses PSE with PAE.  So it has only been mapping
half the space it needed when PSE but not PAE.  This remained unnoticed
until we moved the SMP zap_low_mappings() before
efi_enter_virtual_mode().  Presumably could have been noticed years ago
if anyone ran a UP kernel on such machines?

Reported-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Cc: Peter Jones <pjones@redhat.com>
Cc: Glauber Costa <gcosta@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Tested-by: Peter Jones <pjones@redhat.com>
arch/x86/kernel/efi_32.c