* intel-ixp42x-welltech-epbx100 no longer boot due to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression") @ 2021-09-28 7:27 ` Corentin Labbe 0 siblings, 0 replies; 6+ messages in thread From: Corentin Labbe @ 2021-09-28 7:27 UTC (permalink / raw) To: linusw, kaloz, khalasa, linux; +Cc: linux-arm-kernel, linux-kernel Hello 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") With this patch reverted on top of 4.14, 5.15-rc3 and next-20210927, the board boot successfully. Regards ^ permalink raw reply [flat|nested] 6+ messages in thread
* intel-ixp42x-welltech-epbx100 no longer boot due to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression") @ 2021-09-28 7:27 ` Corentin Labbe 0 siblings, 0 replies; 6+ messages in thread From: Corentin Labbe @ 2021-09-28 7:27 UTC (permalink / raw) To: linusw, kaloz, khalasa, linux; +Cc: linux-arm-kernel, linux-kernel Hello 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") With this patch reverted on top of 4.14, 5.15-rc3 and next-20210927, the board boot successfully. Regards _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: intel-ixp42x-welltech-epbx100 no longer boot due to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression") 2021-09-28 7:27 ` Corentin Labbe @ 2021-09-28 10:32 ` Krzysztof Hałasa -1 siblings, 0 replies; 6+ messages in thread From: Krzysztof Hałasa @ 2021-09-28 10:32 UTC (permalink / raw) To: Corentin Labbe; +Cc: linusw, kaloz, linux, linux-arm-kernel, linux-kernel Hello Corentin, Corentin Labbe <clabbe.montjoie@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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: intel-ixp42x-welltech-epbx100 no longer boot due to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression") @ 2021-09-28 10:32 ` Krzysztof Hałasa 0 siblings, 0 replies; 6+ messages in thread From: Krzysztof Hałasa @ 2021-09-28 10:32 UTC (permalink / raw) To: Corentin Labbe; +Cc: linusw, kaloz, linux, linux-arm-kernel, linux-kernel Hello Corentin, Corentin Labbe <clabbe.montjoie@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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: intel-ixp42x-welltech-epbx100 no longer boot due to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression") 2021-09-28 10:32 ` Krzysztof Hałasa @ 2021-09-28 11:38 ` Corentin Labbe -1 siblings, 0 replies; 6+ messages in thread From: Corentin Labbe @ 2021-09-28 11:38 UTC (permalink / raw) To: Krzysztof Hałasa Cc: linusw, kaloz, linux, linux-arm-kernel, linux-kernel Le Tue, Sep 28, 2021 at 12:32:13PM +0200, Krzysztof Hałasa a écrit : > Hello Corentin, > > Corentin Labbe <clabbe.montjoie@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. Hello Yes, IXP4XX is by default BE. > > 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 Thanks, with the following patch, my boards boots diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 29070eb8df7d..3fc7f9750ce4 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S @@ -253,7 +253,7 @@ __create_page_tables: add r0, r4, #KERNEL_OFFSET >> (SECTION_SHIFT - PMD_ORDER) ldr r6, =(_end - 1) adr_l r5, kernel_sec_start @ _pa(kernel_sec_start) -#ifdef CONFIG_CPU_ENDIAN_BE8 +#if defined CONFIG_CPU_ENDIAN_BE8 || defined CONFIG_CPU_ENDIAN_BE32 str r8, [r5, #4] @ Save physical start of kernel (BE) #else str r8, [r5] @ Save physical start of kernel (LE) @@ -266,7 +266,7 @@ __create_page_tables: bls 1b eor r3, r3, r7 @ Remove the MMU flags adr_l r5, kernel_sec_end @ _pa(kernel_sec_end) -#ifdef CONFIG_CPU_ENDIAN_BE8 +#if defined CONFIG_CPU_ENDIAN_BE8 || defined CONFIG_CPU_ENDIAN_BE32 str r3, [r5, #4] @ Save physical end of kernel (BE) #else str r3, [r5] @ Save physical end of kernel (LE) Regards ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: intel-ixp42x-welltech-epbx100 no longer boot due to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression") @ 2021-09-28 11:38 ` Corentin Labbe 0 siblings, 0 replies; 6+ messages in thread From: Corentin Labbe @ 2021-09-28 11:38 UTC (permalink / raw) To: Krzysztof Hałasa Cc: linusw, kaloz, linux, linux-arm-kernel, linux-kernel Le Tue, Sep 28, 2021 at 12:32:13PM +0200, Krzysztof Hałasa a écrit : > Hello Corentin, > > Corentin Labbe <clabbe.montjoie@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. Hello Yes, IXP4XX is by default BE. > > 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 Thanks, with the following patch, my boards boots diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 29070eb8df7d..3fc7f9750ce4 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S @@ -253,7 +253,7 @@ __create_page_tables: add r0, r4, #KERNEL_OFFSET >> (SECTION_SHIFT - PMD_ORDER) ldr r6, =(_end - 1) adr_l r5, kernel_sec_start @ _pa(kernel_sec_start) -#ifdef CONFIG_CPU_ENDIAN_BE8 +#if defined CONFIG_CPU_ENDIAN_BE8 || defined CONFIG_CPU_ENDIAN_BE32 str r8, [r5, #4] @ Save physical start of kernel (BE) #else str r8, [r5] @ Save physical start of kernel (LE) @@ -266,7 +266,7 @@ __create_page_tables: bls 1b eor r3, r3, r7 @ Remove the MMU flags adr_l r5, kernel_sec_end @ _pa(kernel_sec_end) -#ifdef CONFIG_CPU_ENDIAN_BE8 +#if defined CONFIG_CPU_ENDIAN_BE8 || defined CONFIG_CPU_ENDIAN_BE32 str r3, [r5, #4] @ Save physical end of kernel (BE) #else str r3, [r5] @ Save physical end of kernel (LE) Regards _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-09-28 11:41 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-09-28 7:27 intel-ixp42x-welltech-epbx100 no longer boot due to 463dbba4d189 ("ARM: 9104/2: Fix Keystone 2 kernel mapping regression") Corentin Labbe 2021-09-28 7:27 ` Corentin Labbe 2021-09-28 10:32 ` Krzysztof Hałasa 2021-09-28 10:32 ` Krzysztof Hałasa 2021-09-28 11:38 ` Corentin Labbe 2021-09-28 11:38 ` Corentin Labbe
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.