Re: [RFC] arm64: early_ioremap fails to map ACPI MADT on 64K pages
From: Will Deacon
Date: Tue Jun 23 2026 - 08:07:13 EST
On Tue, Jun 23, 2026 at 10:47:12AM +0800, Yu Peng wrote:
> Hi Lorenzo, Hanjun, Will,
>
> Thanks for confirming.
>
> I will send a proper patch for this. The change I plan to post is along
> these lines:
>
> diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h
> index ... .. ...
> --- a/arch/arm64/include/asm/fixmap.h
> +++ b/arch/arm64/include/asm/fixmap.h
> @@ -79,7 +79,11 @@ enum fixed_addresses {
> * Temporary boot-time mappings, used by early_ioremap(),
> * before ioremap() is functional.
> */
> +#ifdef CONFIG_ARM64_64K_PAGES
> +#define NR_FIX_BTMAPS (SZ_512K / PAGE_SIZE)
> +#else
> #define NR_FIX_BTMAPS (SZ_256K / PAGE_SIZE)
> +#endif
> #define FIX_BTMAPS_SLOTS 7
> #define TOTAL_FIX_BTMAPS (NR_FIX_BTMAPS * FIX_BTMAPS_SLOTS)
I still don't understand why this issue is specific to 64k pages, though.
In the example you gave, the thing wasn't even 4k aligned.
Will