diff options
author | Greg Pearson <greg.pearson@hp.com> | 2012-07-30 14:39:05 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-15 12:04:10 -0700 |
commit | 83c0c5e47281e4fb3eedf56fa8cf8b895aede0e0 (patch) | |
tree | e9a3e34bcf59c68c71111b8eb8013afe64b6a5e9 /mm | |
parent | 85e937dcf1cc31e7f649c200ac3c3def01b54766 (diff) | |
download | kernel_samsung_tuna-83c0c5e47281e4fb3eedf56fa8cf8b895aede0e0.zip kernel_samsung_tuna-83c0c5e47281e4fb3eedf56fa8cf8b895aede0e0.tar.gz kernel_samsung_tuna-83c0c5e47281e4fb3eedf56fa8cf8b895aede0e0.tar.bz2 |
pcdp: use early_ioremap/early_iounmap to access pcdp table
commit 6c4088ac3a4d82779903433bcd5f048c58fb1aca upstream.
efi_setup_pcdp_console() is called during boot to parse the HCDP/PCDP
EFI system table and setup an early console for printk output. The
routine uses ioremap/iounmap to setup access to the HCDP/PCDP table
information.
The call to ioremap is happening early in the boot process which leads
to a panic on x86_64 systems:
panic+0x01ca
do_exit+0x043c
oops_end+0x00a7
no_context+0x0119
__bad_area_nosemaphore+0x0138
bad_area_nosemaphore+0x000e
do_page_fault+0x0321
page_fault+0x0020
reserve_memtype+0x02a1
__ioremap_caller+0x0123
ioremap_nocache+0x0012
efi_setup_pcdp_console+0x002b
setup_arch+0x03a9
start_kernel+0x00d4
x86_64_start_reservations+0x012c
x86_64_start_kernel+0x00fe
This replaces the calls to ioremap/iounmap in efi_setup_pcdp_console()
with calls to early_ioremap/early_iounmap which can be called during
early boot.
This patch was tested on an x86_64 prototype system which uses the
HCDP/PCDP table for early console setup.
Signed-off-by: Greg Pearson <greg.pearson@hp.com>
Acked-by: Khalid Aziz <khalid.aziz@hp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm')
0 files changed, 0 insertions, 0 deletions