Skip to content

Commit e6e094e

Browse files
jgross1Ingo Molnar
authored andcommitted
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: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Juergen 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.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
1 parent 3841840 commit e6e094e

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

arch/x86/include/uapi/asm/bootparam.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,8 @@ struct boot_params {
155155
__u8 _pad2[4]; /* 0x054 */
156156
__u64 tboot_addr; /* 0x058 */
157157
struct ist_info ist_info; /* 0x060 */
158-
__u8 _pad3[16]; /* 0x070 */
158+
__u64 acpi_rsdp_addr; /* 0x070 */
159+
__u8 _pad3[8]; /* 0x078 */
159160
__u8 hd0_info[16]; /* obsolete! */ /* 0x080 */
160161
__u8 hd1_info[16]; /* obsolete! */ /* 0x090 */
161162
struct sys_desc_table sys_desc_table; /* obsolete! */ /* 0x0a0 */

arch/x86/kernel/acpi/boot.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1776,5 +1776,5 @@ void __init arch_reserve_mem_area(acpi_physical_address addr, size_t size)
17761776

17771777
u64 x86_default_get_root_pointer(void)
17781778
{
1779-
return 0;
1779+
return boot_params.acpi_rsdp_addr;
17801780
}

0 commit comments

Comments
 (0)