[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m3r1d9ng7m.fsf@t19.piap.pl>
Date: Tue, 28 Sep 2021 12:32:13 +0200
From: Krzysztof Hałasa <khalasa@...p.pl>
To: Corentin Labbe <clabbe.montjoie@...il.com>
Cc: linusw@...nel.org, kaloz@...nwrt.org, linux@...linux.org.uk,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: intel-ixp42x-welltech-epbx100 no longer boot due to
463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression")
Hello Corentin,
Corentin Labbe <clabbe.montjoie@...il.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
Powered by blists - more mailing lists