Re: [PATCH] arm64: allow late use of early_ioremap

From: Hanjun Guo
Date: Wed Jan 14 2015 - 03:22:30 EST


Hi Mark,

On 2015å01æ13æ 03:09, Mark Salter wrote:
On Mon, 2015-01-12 at 17:25 +0000, Will Deacon wrote:
On Mon, Jan 12, 2015 at 04:55:11PM +0000, Mark Salter wrote:
Commit 0e63ea48b4d8 (arm64/efi: add missing call to early_ioremap_reset())
added a missing call to early_ioremap_reset(). This triggers a BUG if code
tries using early_ioremap() after the early_ioremap_reset(). This is a
problem for some ACPI code which needs short-lived temporary mappings
after paging_init() but before mm_init(). This patch adds definitions for

Minor update:
... after paging_init() but before acpi_early_init() in start_kernel().

In ACPI, permanent mapping will be used after acpi_gbl_permanent_mmap
set to 1 in acpi_early_init(), since GIC init and Arch timer init will
be called before acpi_early_init(), early_ioremap() is still needed
after mm_init().

the __late_set_fixmap() and __late_clear_fixmap() which avoids the BUG
by allowing later use of early_ioremap().

Signed-off-by: Mark Salter <msalter@xxxxxxxxxx>
CC: Leif Lindholm <leif.lindholm@xxxxxxxxxx>
CC: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
---
arch/arm64/include/asm/fixmap.h | 3 +++
1 file changed, 3 insertions(+)

Given that we don't support ACPI on arm64 in mainline, I assume this can
wait until at least 3.20?

Sure. Just needs it to go in before ACPI code. And tbh, the ACPI code
could change and make this unneeded.

This is the best solution for now, so I need to add this patch as the first one for ACPI core patch set, is it ok for you?

Thanks
Hanjun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/