There is only one change in this since V2. It turns out we only have
a 2MB window in early boot in which to play with. So move the ACPI
blob to within 1M of the FDT putting it inside the window.
This is just me giving a headsup on the current progress of getting armv7
ACPI prototype stuff into armv8.
Currently it can see the linux,acpi-start and linux,acpi-len values
passed from bootwrapper but when I try and access the address given
by virt_to_phys on that it locks up the model.
Thanks
Graeme
This patch set is about to implement the CPU topology support for
ACPI processor driver, which includes the os lever code and the ASL code.
both are compiled ok, but not tested on the hardware;
For the ACPI processor driver, when cpu is hot added, arch_fix_phys_package_id(),
acpi_map_lsapic() and arch_register_cpu() are arch specific; When cpu is hot
removed, arch_unregister_cpu()/acpi_unmap_lsapic() is arch specific.
arch_register_cpu() will register the logic cpu on sysfs, create topology
information interface, and create online/offline interface for cpu hotplug.
unregister is doing the reverse.
For the ASL part, I implement the proto code for the CPU topology with one
physical CPU and two cpu cores.
Hanjun Guo (5):
ARM:ACPI: introduce arch_fix_phys_package_id() for armv7
ARM:ACPI: move topology_init() to arch/arm/kernel/topology.c
ARM:ACPI: introduce arch_register_cpu() and arch_unregister_cpu()
ARM:ACPI: remove CONFIG_X86 in processor_driver.c
ASL code for CPU topology support for ACPI processor driver
arch/arm/boot/asl/exynos5250-arndale.acpi/dsdt.asl | 106 +++++++++++++++++++-
arch/arm/include/asm/cpu.h | 6 ++
arch/arm/include/asm/topology.h | 1 +
arch/arm/kernel/setup.c | 21 ----
arch/arm/kernel/topology.c | 54 ++++++++++
drivers/acpi/processor_driver.c | 9 --
6 files changed, 165 insertions(+), 32 deletions(-)
--
1.7.9.5
This patch set is about to implement the CPU topology support for
ACPI processor driver, it is compiled ok, but not tested on the hardware;
This part of the patch set is the os lever code for ACPI processor driver,
and ASL code will send out in another patch set. (not finished yet)
For the ACPI processor driver, when cpu is hot added, arch_fix_phys_package_id(),
acpi_map_lsapic() and arch_register_cpu() are arch specific; When cpu is hot
removed, arch_unregister_cpu()/acpi_unmap_lsapic() are arch specific.
arch_register_cpu() will register the logic cpu on sysfs, create topology
information interface, and create online/offline interface for cpu hotplug.
unregister is doing the reverse.
Hanjun Guo (4):
ARM:ACPI: introduce arch_fix_phys_package_id() for armv7
ARM:ACPI: move topology_init() to arch/arm/kernel/topology.c
ARM:ACPI: introduce arch_register_cpu() and arch_unregister_cpu()
ARM:ACPI: remove CONFIG_X86 in processor_driver.c
arch/arm/include/asm/cpu.h | 6 ++++
arch/arm/include/asm/topology.h | 1 +
arch/arm/kernel/setup.c | 21 ---------------
arch/arm/kernel/topology.c | 54 +++++++++++++++++++++++++++++++++++++++
drivers/acpi/processor_driver.c | 9 ------
5 files changed, 61 insertions(+), 30 deletions(-)
There were three fields used in the DT version of probing this driver which
were not yet in ACPI so handle those fields as well.
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <20000>;
samsung,i2c-slave-addr = <0x66>;
becomes
Method (DLAY, 0x0, NotSerialized) {
Return (100)
}
Method (SADD, 0x0, NotSerialized) {
Return (0x66)
}
Method (FREQ, 0x0, NotSerialized) {
Return (20000)
}
Thanks
Graeme
In commit 0377b5acba2 (ACPICA: Merge all debug output macros into
a single file, acoutput.), the patch introdices redundant macro
defines for ACPI_DEBUG_PRINT() and ACPI_DEBUG_PRINT_RAW(), just
remove it.
I will send this to upstream.
Signed-off-by: Hanjun Guo <hanjun.guo(a)linaro.org>
---
include/acpi/acoutput.h | 2 --
1 file changed, 2 deletions(-)
diff --git a/include/acpi/acoutput.h b/include/acpi/acoutput.h
index 4f52ea7..e1c7474 100644
--- a/include/acpi/acoutput.h
+++ b/include/acpi/acoutput.h
@@ -447,8 +447,6 @@
#define ACPI_DUMP_TABLES(a, b)
#define ACPI_DUMP_PATHNAME(a, b, c, d)
#define ACPI_DUMP_BUFFER(a, b)
-#define ACPI_DEBUG_PRINT(pl)
-#define ACPI_DEBUG_PRINT_RAW(pl)
#define ACPI_IS_DEBUG_ENABLED(level, component) 0
/* Return macros must have a return statement at the minimum */
-- 1.8.2.1
This series is just a start of attaching the ACPI code to the IRQ domain
so we map IRQs in a method compatible with FDT booting.
Firstly get the GIC to register itself as the default domain.
Then change the ARM ACPI code to use default domain to map IRQs.
Graeme
Hi Al,
These two patches will give some extra ACPI debug output in u-boot so you can
see the start/end of the ACPI address allocation. You can also see the size
and physical address of each ram bank.
Hopefully this helps you track down the issue. My DSDT changes are not big
enough to cross the 0x50000000 boundary yet.
Thanks
Graeme