mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-11-09 02:51:11 +01:00
x86/acpi, x86/boot: Take RSDP address for 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. Signed-off-by: Juergen Gross <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: Andy Shevchenko <[email protected]> Cc: Baoquan He <[email protected]> Cc: Borislav Petkov <[email protected]> Cc: Jia Zhang <[email protected]> Cc: Len Brown <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Pavel Machek <[email protected]> Cc: Pavel Tatashin <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Rafael J. Wysocki <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
1 parent
ae7e1238e6
commit
e7b66d16fe
3 files changed
+14
-2
No files matched your search
@@ -142,6 +142,8 @@ static inline u64 acpi_arch_get_root_pointer(void)
|
||||
|
||||
void acpi_generic_reduced_hw_init(void);
|
||||
|
||||
u64 x86_default_get_root_pointer(void);
|
||||
|
||||
#else /* !CONFIG_ACPI */
|
||||
|
||||
#define acpi_lapic 0
|
||||
@@ -153,6 +155,11 @@ static inline void disable_acpi(void) { }
|
||||
|
||||
static inline void acpi_generic_reduced_hw_init(void) { }
|
||||
|
||||
static inline u64 x86_default_get_root_pointer(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif /* !CONFIG_ACPI */
|
||||
|
||||
#define ARCH_HAS_POWER_INIT 1
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <asm/mpspec.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/i8259.h>
|
||||
#include <asm/setup.h>
|
||||
|
||||
#include "sleep.h" /* To include x86_acpi_suspend_lowlevel */
|
||||
static int __initdata acpi_force = 0;
|
||||
@@ -1771,3 +1772,8 @@ void __init arch_reserve_mem_area(acpi_physical_address addr, size_t size)
|
||||
e820__range_add(addr, size, E820_TYPE_ACPI);
|
||||
e820__update_table_print();
|
||||
}
|
||||
|
||||
u64 x86_default_get_root_pointer(void)
|
||||
{
|
||||
return boot_params.hdr.acpi_rsdp_addr;
|
||||
}
|
||||
@@ -31,7 +31,6 @@ static int __init iommu_init_noop(void) { return 0; }
|
||||
static void iommu_shutdown_noop(void) { }
|
||||
static bool __init bool_x86_init_noop(void) { return false; }
|
||||
static void x86_op_int_noop(int cpu) { }
|
||||
static u64 u64_x86_init_noop(void) { return 0; }
|
||||
|
||||
/*
|
||||
* The platform setup functions are preset with the default functions
|
||||
@@ -96,7 +95,7 @@ struct x86_init_ops x86_init __initdata = {
|
||||
},
|
||||
|
||||
.acpi = {
|
||||
.get_root_pointer = u64_x86_init_noop,
|
||||
.get_root_pointer = x86_default_get_root_pointer,
|
||||
.reduced_hw_early_init = acpi_generic_reduced_hw_init,
|
||||
},
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user