On 10/15/13 15:19, Graeme Gregory wrote:
On Tue, Oct 15, 2013 at 02:44:02PM +0200, Tomasz Nowicki wrote:
On 10/15/13 12:58, Graeme Gregory wrote:
This was already done for arm, do for arm64 to re-order the calls so they can make use of ioremap_early.
Signed-off-by: Graeme Gregory graeme.gregory@linaro.org
arch/arm64/kernel/setup.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index 21950b6..2e90956 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@ -273,17 +273,20 @@ void __init setup_arch(char **cmdline_p) #ifdef CONFIG_ACPI arm_acpi_reserve_memory(); #endif
- paging_init();
- request_standard_resources();
- #ifdef CONFIG_ACPI /*
*/ acpi_boot_table_init(); early_acpi_boot_init();
- Parse the ACPI tables for possible boot-time configuration
boot_cpu_apic_id = read_cpuid_mpidr() & MPIDR_HWID_BITMASK;
acpi_boot_init();
prefill_possible_map(); #endif
paging_init();
You forgot:
#ifdef CONFIG_EARLY_IOREMAP early_ioremap_reset(); #endif
I did not forget it, I was trusting Mark's patch!
Best ask him if it is actually missing or arm64 does it different.
OK I will. I just thought that reordering (putting paging_init() after ACPI table parsing) require switching off early mapping mechanism.
Tomasz
Graeme
at the end of paging_init();
request_standard_resources();
unflatten_device_tree();
psci_init();
@@ -300,12 +303,6 @@ void __init setup_arch(char **cmdline_p) conswitchp = &dummy_con; #endif #endif
-#ifdef CONFIG_ACPI
- boot_cpu_apic_id = read_cpuid_mpidr() & MPIDR_HWID_BITMASK;
- acpi_boot_init();
- prefill_possible_map();
-#endif }
static int __init arm64_device_init(void)