Commit e6e094e0 authored by Juergen Gross's avatar Juergen Gross Committed by Ingo Molnar

x86/acpi, x86/boot: Take RSDP address from boot params if available

In case the RSDP address in struct boot_params is specified don't try
to find the table by searching, but take the address directly as set
by the boot loader.
Suggested-by: default avatar"H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: boris.ostrovsky@oracle.com
Cc: bp@alien8.de
Cc: daniel.kiper@oracle.com
Cc: sstabellini@kernel.org
Cc: xen-devel@lists.xenproject.org
Link: http://lkml.kernel.org/r/20181120072529.5489-3-jgross@suse.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 38418404
...@@ -155,7 +155,8 @@ struct boot_params { ...@@ -155,7 +155,8 @@ struct boot_params {
__u8 _pad2[4]; /* 0x054 */ __u8 _pad2[4]; /* 0x054 */
__u64 tboot_addr; /* 0x058 */ __u64 tboot_addr; /* 0x058 */
struct ist_info ist_info; /* 0x060 */ struct ist_info ist_info; /* 0x060 */
__u8 _pad3[16]; /* 0x070 */ __u64 acpi_rsdp_addr; /* 0x070 */
__u8 _pad3[8]; /* 0x078 */
__u8 hd0_info[16]; /* obsolete! */ /* 0x080 */ __u8 hd0_info[16]; /* obsolete! */ /* 0x080 */
__u8 hd1_info[16]; /* obsolete! */ /* 0x090 */ __u8 hd1_info[16]; /* obsolete! */ /* 0x090 */
struct sys_desc_table sys_desc_table; /* obsolete! */ /* 0x0a0 */ struct sys_desc_table sys_desc_table; /* obsolete! */ /* 0x0a0 */
......
...@@ -1776,5 +1776,5 @@ void __init arch_reserve_mem_area(acpi_physical_address addr, size_t size) ...@@ -1776,5 +1776,5 @@ void __init arch_reserve_mem_area(acpi_physical_address addr, size_t size)
u64 x86_default_get_root_pointer(void) u64 x86_default_get_root_pointer(void)
{ {
return 0; return boot_params.acpi_rsdp_addr;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment