[PATCH] ARM: Fix Keystone 2 kernel mapping regression

Nishanth Menon nm at ti.com
Wed Aug 4 09:40:33 PDT 2021


On 15:57-20210804, Linus Walleij wrote:
> This fixes a Keystone 2 regression discovered as a side effect of
> defining an passing the physical start/end sections of the kernel
> to the MMU remapping code.
> 
> As the Keystone applies an offset to all physical addresses,
> including those identified and patches by phys2virt, we fail to
> account for this offset in the kernel_sec_start and kernel_sec_end
> variables.
> 
> Further these offsets can extend into the 64bit range on LPAE
> systems such as the Keystone 2.
> 
> Fix it like this:
> - Extend kernel_sec_start and kernel_sec_end to be 64bit
> - Add the offset also to kernel_sec_start and kernel_sec_end
> 
> As passing kernel_sec_start and kernel_sec_end as 64bit invariably
> incurs endianness issues I have attempted to dry-code around
> these. Please review.
> 
> Tested on the Vexpress QEMU model both with and without LPAE
> enabled.
> 
> Fixes: 6e121df14ccd ("ARM: 9090/1: Map the lowmem and kernel separately")
> Reported-by: Nishanth Menon <nmenon at kernel.org>
> Suggested-by: Russell King <linux at armlinux.org.uk>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> Signed-off-by: Nishanth Menon <nm at ti.com>
> Link: https://lore.kernel.org/r/20210804135747.737233-1-linus.walleij@linaro.org
> ---
> Nishanth: Please test!
> Other smart folks: please have a look at my endianness compensation
> assembly.

Russell, Linus - awesome. thanks for looking at the right problem.

test log (two k2 platforms from two generations):
Baseline(good): v5.13
k2g-evm: https://pastebin.ubuntu.com/p/xnGy9fM6mj/
k2hk-evm: https://pastebin.ubuntu.com/p/gpX6bPsF2R/

Check base(bad): v5.14-rc4
k2g-evm: 
k2hk-evm: https://pastebin.ubuntu.com/p/ht7sTjyTD2/
k2g-evm: https://pastebin.ubuntu.com/p/skf8nsGqPZ/

Check patch: v5.14-rc4 + 20210804135747.737233-1-linus.walleij at linaro.org
k2hk-evm: https://pastebin.ubuntu.com/p/ycX7bmgcyT/
k2g-evm: https://pastebin.ubuntu.com/p/FgfZSwg7fY/

-- 
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3  1A34 DDB5 849D 1736 249D



More information about the linux-arm-kernel mailing list