intel-ixp42x-welltech-epbx100 no longer boot due to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression")

Krzysztof Hałasa khalasa at piap.pl
Tue Sep 28 03:32:13 PDT 2021


Hello Corentin,

Corentin Labbe <clabbe.montjoie at gmail.com> writes:

> I am working on puting my ixp4xx board on kernelCI.
> But it no longer boot since 4.14.
> It only prints "Starting kernelUncompressing Linux... done, booting the kernel." then nothing.
>
> I bisected the break to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression")

I guess you build your kernel as big-endian.

These parts seem suspicious to me:

-    str r8, [r5]            @ Save physical start of kernel
+#ifdef CONFIG_CPU_ENDIAN_BE8
+    str r8, [r5, #4]            @ Save physical start of kernel (BE)
+#else
+    str r8, [r5]            @ Save physical start of kernel (LE)
+#endif

and

-    str r3, [r5]            @ Save physical end of kernel
+#ifdef CONFIG_CPU_ENDIAN_BE8
+    str r3, [r5, #4]            @ Save physical end of kernel (BE)
+#else
+    str r3, [r5]            @ Save physical end of kernel (LE)
+#endif

IXP4xx, being ARMv5, uses CONFIG_CPU_ENDIAN_BE32 (when configured as
BE), but it needs the ", #4" as well.

I'd test with: #if defined CONFIG_CPU_ENDIAN_BE8 || defined CONFIG_CPU_ENDIAN_BE32
--
Krzysztof "Chris" Hałasa

Sieć Badawcza Łukasiewicz
Przemysłowy Instytut Automatyki i Pomiarów PIAP
Al. Jerozolimskie 202, 02-486 Warszawa



More information about the linux-arm-kernel mailing list