ACPI currently accesses resources it should not when cores=1 and Hardware Reduced is set in FACP
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linaro-acpi |
Won't Fix
|
Medium
|
hanjun.guo |
Bug Description
When FACP Hardware Reduced flag is set ACPI drivers should not be accessing power management registers directly.
This bug only seems to trigger on arm when booting with a single core.
This produces an Ooops similar to
[ 37.822312] [<80229bb2>] (acpi_os_
[ 37.822549] [<80239dff>] (acpi_hw_
[ 37.822784] [<8023988b>] (acpi_hw_
[ 37.823025] [<802398a9>] (acpi_hw_
[ 37.823271] [<802399dd>] (acpi_hw_
[ 37.823503] [<80239eff>] (acpi_write_
[ 37.823719] [<80232913>] (acpi_ev_
[ 37.823936] [<80243da9>] (acpi_enable_
[ 37.824142] [<804876dd>] (acpi_init+
[ 37.824368] [<80008687>] (do_one_
[ 37.824596] [<8046d92b>] (kernel_
[ 37.824805] [<802f4475>] (kernel_
summary: |
- ACPI currently accesses resources it should not what cores=1 and + ACPI currently accesses resources it should not when cores=1 and Hardware Reduced is set in FACP |
Changed in linaro-acpi: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
assignee: | nobody → hanjun.guo (hanjun-guo) |
Changed in linaro-acpi: | |
status: | Confirmed → Won't Fix |
after a long discussion with Robert Moore and Lv Zheng form intel (they are ACPICA maintainer), they agreed to introduce a kernel config for the ACPI_HARDWARE_ REDUCED macro, some thing like:
From b10bc1d2f9a3ff0 9abfb6990412aa1 cf62d56937 Mon Sep 17 00:00:00 2001 ACPI_REDUCED_ HARDWARE to enable
From: Hanjun Guo <email address hidden>
Date: Wed, 18 Sep 2013 17:19:23 +0800
Subject: [PATCH] ACPI: Introduce CONFIG_
reduced hardware
If we want to enable reduced hardware ACPI on some platform (such as ARM), HARDWARE to TRUE.
we need to modify the kernel code and set ACPI_REDUCED_
This is not reasonable, so introduce a kernel config to enable it, and
no need for kernel modification when we use hardware-reduced ACPI.
Signed-off-by: Hanjun Guo <email address hidden> acpi/Kconfig | 8 ++++++++ acpi/acconfig. h | 4 ++++
---
drivers/
include/
2 files changed, 12 insertions(+)
diff --git a/drivers/ acpi/Kconfig b/drivers/ acpi/Kconfig acpi/Kconfig acpi/Kconfig
/sys/ firmware/ acpi/bgrt/ .
index 0d7f6eb..1232a7b 100644
--- a/drivers/
+++ b/drivers/
@@ -413,6 +413,14 @@ config ACPI_BGRT
data from the firmware boot splash. It will appear under
+config ACPI_REDUCED_ HARDWARE acpi/apei/ Kconfig"
+ bool "Hardware-reduced ACPI support"
+ depends on ARM || ARM64
+ help
+ This config adds support for Hardware-reduced ACPI. When this option
+ is selected, will generate a specialized version of ACPICA that ONLY
+ supports the ACPI 5.0 "reduced hardware".
+
source "drivers/
endif # ACPI acpi/acconfig. h b/include/ acpi/acconfig. h acpi/acconfig. h acpi/acconfig. h ACPI_REDUCED_ HARDWARE HARDWARE TRUE HARDWARE FALSE ACPI_REDUCED_ HARDWARE */
diff --git a/include/
index 1c16f82..15254f5 100644
--- a/include/
+++ b/include/
@@ -100,7 +100,11 @@
* ACPI PM timer
* FACS table (Waking vectors and Global Lock)
*/
+#ifdef CONFIG_
+#define ACPI_REDUCED_
+#else
#define ACPI_REDUCED_
+#endif /* CONFIG_
/***** ******* ******* ******* ******* ******* ******* ******* ******* ******* ******* ***
*
-- 1.7.9.5