Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
On Fri, 19 Jun 2020 at 11:02, Michael Ellerman wrote: > > Nathan Chancellor writes: > >> It's kind of nuts that the zImage points to some arbitrary image > >> depending on what's configured and the order of things in the Makefile. > >> But I'm not sure how we make it less nuts without risking breaking > >> people's existing setups. > > > > Hi Michael, > > > > For what it's worth, this is squared this away in terms of our CI by > > just building and booting the uImage directly, rather than implicitly > > using the zImage: > > > > https://github.com/ClangBuiltLinux/continuous-integration/pull/282 > > https://github.com/ClangBuiltLinux/boot-utils/pull/22 > > Great. > > > We were only using the zImage because that is what Joel Stanley intially > > set us up with when PowerPC 32-bit was added to our CI: > > > > https://github.com/ClangBuiltLinux/continuous-integration/pull/100 > > Ah, so Joel owes us all beers then ;) Hey, you owe me beers for finding broken machines! This machine was picked from a vague discussion on an internal chat. The two requirements were that it would build, and boot in qemu. If there's a better supported 32 bit machine then we should switch the CI over. We don't want the Clang CI to be the only user and give the false impression that someone out there is still booting upstream kernels on it. > > Admittedly, we really do not have many PowerPC experts in our > > organization so we are supporting it on a "best effort" basis, which > > often involves using whatever knowledge is floating around or can be > > gained from interactions such as this :) so thank you for that! > > No worries. I definitely don't expect you folks to invest much effort in > powerpc, especially the old 32-bit stuff, so always happy to help debug > things, and really appreciate the testing you do. +1 Cheers, Joel
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
Nathan Chancellor writes: > On Thu, Jun 18, 2020 at 10:48:21AM +1000, Michael Ellerman wrote: >> Nick Desaulniers writes: >> > On Wed, Jun 17, 2020 at 3:20 AM Michael Ellerman >> > wrote: >> >> Michael Ellerman writes: >> >> > Michal Simek writes: >> >> >> >> >> >> >> Or if bamboo requires uImage to be built by default you can do it via >> >> >> Kconfig. >> >> >> >> >> >> diff --git a/arch/powerpc/platforms/44x/Kconfig >> >> >> b/arch/powerpc/platforms/44x/Kconfig >> >> >> index 39e93d23fb38..300864d7b8c9 100644 >> >> >> --- a/arch/powerpc/platforms/44x/Kconfig >> >> >> +++ b/arch/powerpc/platforms/44x/Kconfig >> >> >> @@ -13,6 +13,7 @@ config BAMBOO >> >> >> select PPC44x_SIMPLE >> >> >> select 440EP >> >> >> select FORCE_PCI >> >> >> + select DEFAULT_UIMAGE >> >> >> help >> >> >> This option enables support for the IBM PPC440EP evaluation >> >> >> board. >> >> > >> >> > Who knows what the actual bamboo board used. But I'd be happy to take a >> >> > SOB'ed patch to do the above, because these days the qemu emulation is >> >> > much more likely to be used than the actual board. >> >> >> >> I just went to see why my CI boot of 44x didn't catch this, and it's >> >> because I don't use the uImage, I just boot the vmlinux directly: >> >> >> >> $ qemu-system-ppc -M bamboo -m 128m -display none -kernel >> >> build~/vmlinux -append "console=ttyS0" -display none -nodefaults -serial >> >> mon:stdio >> >> Linux version 5.8.0-rc1-00118-g69119673bd50 (michael@alpine1-p1) (gcc >> >> (Ubuntu 9.3.0-10ubuntu2) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #4 >> >> Wed Jun 17 20:19:22 AEST 2020 >> >> Using PowerPC 44x Platform machine description >> >> ioremap() called early from find_legacy_serial_ports+0x690/0x770. Use >> >> early_ioremap() instead >> >> printk: bootconsole [udbg0] enabled >> >> >> >> >> >> So that's probably the simplest solution? >> > >> > If the uImage or zImage self decompresses, I would prefer to test that as >> > well. >> >> The uImage is decompressed by qemu AIUI. >> >> >> That means previously arch/powerpc/boot/zImage was just a hardlink to >> >> the uImage: >> > >> > It sounds like we can just boot the zImage, or is that no longer >> > created with the uImage? >> >> The zImage won't boot on bamboo. >> >> Because of the vagaries of the arch/powerpc/boot/Makefile the zImage >> ends up pointing to treeImage.ebony, which is for a different board. >> >> The zImage link is made to the first item in $(image-y): >> >> $(obj)/zImage: $(addprefix $(obj)/, $(image-y)) >> $(Q)rm -f $@; ln $< $@ >> ^ >> first preqrequisite >> >> Which for this defconfig happens to be: >> >> image-$(CONFIG_EBONY)+= treeImage.ebony cuImage.ebony >> >> If you turned off CONFIG_EBONY then the zImage will be a link to >> treeImage.bamboo, but qemu can't boot that either. >> >> It's kind of nuts that the zImage points to some arbitrary image >> depending on what's configured and the order of things in the Makefile. >> But I'm not sure how we make it less nuts without risking breaking >> people's existing setups. > > Hi Michael, > > For what it's worth, this is squared this away in terms of our CI by > just building and booting the uImage directly, rather than implicitly > using the zImage: > > https://github.com/ClangBuiltLinux/continuous-integration/pull/282 > https://github.com/ClangBuiltLinux/boot-utils/pull/22 Great. > We were only using the zImage because that is what Joel Stanley intially > set us up with when PowerPC 32-bit was added to our CI: > > https://github.com/ClangBuiltLinux/continuous-integration/pull/100 Ah, so Joel owes us all beers then ;) > Admittedly, we really do not have many PowerPC experts in our > organization so we are supporting it on a "best effort" basis, which > often involves using whatever knowledge is floating around or can be > gained from interactions such as this :) so thank you for that! No worries. I definitely don't expect you folks to invest much effort in powerpc, especially the old 32-bit stuff, so always happy to help debug things, and really appreciate the testing you do. cheers
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
On Thu, Jun 18, 2020 at 10:48:21AM +1000, Michael Ellerman wrote: > Nick Desaulniers writes: > > On Wed, Jun 17, 2020 at 3:20 AM Michael Ellerman > > wrote: > >> Michael Ellerman writes: > >> > Michal Simek writes: > >> > >> > >> >> Or if bamboo requires uImage to be built by default you can do it via > >> >> Kconfig. > >> >> > >> >> diff --git a/arch/powerpc/platforms/44x/Kconfig > >> >> b/arch/powerpc/platforms/44x/Kconfig > >> >> index 39e93d23fb38..300864d7b8c9 100644 > >> >> --- a/arch/powerpc/platforms/44x/Kconfig > >> >> +++ b/arch/powerpc/platforms/44x/Kconfig > >> >> @@ -13,6 +13,7 @@ config BAMBOO > >> >> select PPC44x_SIMPLE > >> >> select 440EP > >> >> select FORCE_PCI > >> >> + select DEFAULT_UIMAGE > >> >> help > >> >> This option enables support for the IBM PPC440EP evaluation > >> >> board. > >> > > >> > Who knows what the actual bamboo board used. But I'd be happy to take a > >> > SOB'ed patch to do the above, because these days the qemu emulation is > >> > much more likely to be used than the actual board. > >> > >> I just went to see why my CI boot of 44x didn't catch this, and it's > >> because I don't use the uImage, I just boot the vmlinux directly: > >> > >> $ qemu-system-ppc -M bamboo -m 128m -display none -kernel build~/vmlinux > >> -append "console=ttyS0" -display none -nodefaults -serial mon:stdio > >> Linux version 5.8.0-rc1-00118-g69119673bd50 (michael@alpine1-p1) (gcc > >> (Ubuntu 9.3.0-10ubuntu2) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #4 > >> Wed Jun 17 20:19:22 AEST 2020 > >> Using PowerPC 44x Platform machine description > >> ioremap() called early from find_legacy_serial_ports+0x690/0x770. Use > >> early_ioremap() instead > >> printk: bootconsole [udbg0] enabled > >> > >> > >> So that's probably the simplest solution? > > > > If the uImage or zImage self decompresses, I would prefer to test that as > > well. > > The uImage is decompressed by qemu AIUI. > > >> That means previously arch/powerpc/boot/zImage was just a hardlink to > >> the uImage: > > > > It sounds like we can just boot the zImage, or is that no longer > > created with the uImage? > > The zImage won't boot on bamboo. > > Because of the vagaries of the arch/powerpc/boot/Makefile the zImage > ends up pointing to treeImage.ebony, which is for a different board. > > The zImage link is made to the first item in $(image-y): > > $(obj)/zImage:$(addprefix $(obj)/, $(image-y)) > $(Q)rm -f $@; ln $< $@ > ^ > first preqrequisite > > Which for this defconfig happens to be: > > image-$(CONFIG_EBONY) += treeImage.ebony cuImage.ebony > > If you turned off CONFIG_EBONY then the zImage will be a link to > treeImage.bamboo, but qemu can't boot that either. > > It's kind of nuts that the zImage points to some arbitrary image > depending on what's configured and the order of things in the Makefile. > But I'm not sure how we make it less nuts without risking breaking > people's existing setups. > > cheers Hi Michael, For what it's worth, this is squared this away in terms of our CI by just building and booting the uImage directly, rather than implicitly using the zImage: https://github.com/ClangBuiltLinux/continuous-integration/pull/282 https://github.com/ClangBuiltLinux/boot-utils/pull/22 We were only using the zImage because that is what Joel Stanley intially set us up with when PowerPC 32-bit was added to our CI: https://github.com/ClangBuiltLinux/continuous-integration/pull/100 Admittedly, we really do not have many PowerPC experts in our organization so we are supporting it on a "best effort" basis, which often involves using whatever knowledge is floating around or can be gained from interactions such as this :) so thank you for that! Cheers, Nathan
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
Nick Desaulniers writes: > On Wed, Jun 17, 2020 at 3:20 AM Michael Ellerman wrote: >> Michael Ellerman writes: >> > Michal Simek writes: >> >> >> >> Or if bamboo requires uImage to be built by default you can do it via >> >> Kconfig. >> >> >> >> diff --git a/arch/powerpc/platforms/44x/Kconfig >> >> b/arch/powerpc/platforms/44x/Kconfig >> >> index 39e93d23fb38..300864d7b8c9 100644 >> >> --- a/arch/powerpc/platforms/44x/Kconfig >> >> +++ b/arch/powerpc/platforms/44x/Kconfig >> >> @@ -13,6 +13,7 @@ config BAMBOO >> >> select PPC44x_SIMPLE >> >> select 440EP >> >> select FORCE_PCI >> >> + select DEFAULT_UIMAGE >> >> help >> >> This option enables support for the IBM PPC440EP evaluation >> >> board. >> > >> > Who knows what the actual bamboo board used. But I'd be happy to take a >> > SOB'ed patch to do the above, because these days the qemu emulation is >> > much more likely to be used than the actual board. >> >> I just went to see why my CI boot of 44x didn't catch this, and it's >> because I don't use the uImage, I just boot the vmlinux directly: >> >> $ qemu-system-ppc -M bamboo -m 128m -display none -kernel build~/vmlinux >> -append "console=ttyS0" -display none -nodefaults -serial mon:stdio >> Linux version 5.8.0-rc1-00118-g69119673bd50 (michael@alpine1-p1) (gcc >> (Ubuntu 9.3.0-10ubuntu2) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #4 >> Wed Jun 17 20:19:22 AEST 2020 >> Using PowerPC 44x Platform machine description >> ioremap() called early from find_legacy_serial_ports+0x690/0x770. Use >> early_ioremap() instead >> printk: bootconsole [udbg0] enabled >> >> >> So that's probably the simplest solution? > > If the uImage or zImage self decompresses, I would prefer to test that as > well. The uImage is decompressed by qemu AIUI. >> That means previously arch/powerpc/boot/zImage was just a hardlink to >> the uImage: > > It sounds like we can just boot the zImage, or is that no longer > created with the uImage? The zImage won't boot on bamboo. Because of the vagaries of the arch/powerpc/boot/Makefile the zImage ends up pointing to treeImage.ebony, which is for a different board. The zImage link is made to the first item in $(image-y): $(obj)/zImage: $(addprefix $(obj)/, $(image-y)) $(Q)rm -f $@; ln $< $@ ^ first preqrequisite Which for this defconfig happens to be: image-$(CONFIG_EBONY) += treeImage.ebony cuImage.ebony If you turned off CONFIG_EBONY then the zImage will be a link to treeImage.bamboo, but qemu can't boot that either. It's kind of nuts that the zImage points to some arbitrary image depending on what's configured and the order of things in the Makefile. But I'm not sure how we make it less nuts without risking breaking people's existing setups. cheers
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
>> Or if bamboo requires uImage to be built by default you can do it via >> Kconfig. >> >> diff --git a/arch/powerpc/platforms/44x/Kconfig >> b/arch/powerpc/platforms/44x/Kconfig >> index 39e93d23fb38..300864d7b8c9 100644 >> --- a/arch/powerpc/platforms/44x/Kconfig >> +++ b/arch/powerpc/platforms/44x/Kconfig >> @@ -13,6 +13,7 @@ config BAMBOO >> select PPC44x_SIMPLE >> select 440EP >> select FORCE_PCI >> + select DEFAULT_UIMAGE >> help >> This option enables support for the IBM PPC440EP evaluation board. > > Who knows what the actual bamboo board used. But I'd be happy to take a > SOB'ed patch to do the above, because these days the qemu emulation is > much more likely to be used than the actual board. I have no problem to send this as regular patch but someone with more bamboo experience should tell if this is correct configuration. But truth is if that symlink was there for quite a long time it should likely stay there. Thanks, Michal
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
Michael Ellerman writes: > Michal Simek writes: >> Or if bamboo requires uImage to be built by default you can do it via >> Kconfig. >> >> diff --git a/arch/powerpc/platforms/44x/Kconfig >> b/arch/powerpc/platforms/44x/Kconfig >> index 39e93d23fb38..300864d7b8c9 100644 >> --- a/arch/powerpc/platforms/44x/Kconfig >> +++ b/arch/powerpc/platforms/44x/Kconfig >> @@ -13,6 +13,7 @@ config BAMBOO >> select PPC44x_SIMPLE >> select 440EP >> select FORCE_PCI >> + select DEFAULT_UIMAGE >> help >> This option enables support for the IBM PPC440EP evaluation board. > > Who knows what the actual bamboo board used. But I'd be happy to take a > SOB'ed patch to do the above, because these days the qemu emulation is > much more likely to be used than the actual board. I just went to see why my CI boot of 44x didn't catch this, and it's because I don't use the uImage, I just boot the vmlinux directly: $ qemu-system-ppc -M bamboo -m 128m -display none -kernel build~/vmlinux -append "console=ttyS0" -display none -nodefaults -serial mon:stdio Linux version 5.8.0-rc1-00118-g69119673bd50 (michael@alpine1-p1) (gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #4 Wed Jun 17 20:19:22 AEST 2020 Using PowerPC 44x Platform machine description ioremap() called early from find_legacy_serial_ports+0x690/0x770. Use early_ioremap() instead printk: bootconsole [udbg0] enabled So that's probably the simplest solution? cheers
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
Michal Simek writes: > On 16. 06. 20 20:16, Nathan Chancellor wrote: >> On Tue, Jun 16, 2020 at 04:45:20PM +0200, Michal Simek wrote: >>> On 16. 06. 20 2:27, Nathan Chancellor wrote: On Thu, May 21, 2020 at 04:55:52PM +, Christophe Leroy wrote: > From: Michal Simek > > The latest Xilinx design tools called ISE and EDK has been released in > October 2013. New tool doesn't support any PPC405/PPC440 new designs. > These platforms are no longer supported and tested. > > PowerPC 405/440 port is orphan from 2013 by > commit cdeb89943bfc ("MAINTAINERS: Fix incorrect status tag") and > commit 19624236cce1 ("MAINTAINERS: Update Grant's email address and > maintainership") > that's why it is time to remove the support fot these platforms. > > Signed-off-by: Michal Simek > Acked-by: Arnd Bergmann > Signed-off-by: Christophe Leroy This patch causes qemu-system-ppc to fail to load ppc44x_defconfig: > I have took a look at it and was able to run qemu and also saw your > issue. What happened is that when xilinx platforms were removed zImage > is generated but it is not u-boot legacy image. > Don't know details about zImage/uImage in ppc world but if you dump > zImage you should see this. > It means only Xilinx platforms have been asking for uImage format and > bamboo doesn't require it. It also looks like that qemu expect uImage > format. Yeah, prior to the patch the result of make ppc44x_defconfig contains CONFIG_DEFAULT_UIMAGE, afterward it doesn't. That means previously arch/powerpc/boot/zImage was just a hardlink to the uImage: $ ls -li build~/arch/powerpc/boot/{z,u}Image 7472 -rw-rw-r-- 2 michael michael 3073824 Jun 17 20:02 build~/arch/powerpc/boot/uImage 7472 -rw-rw-r-- 2 michael michael 3073824 Jun 17 20:02 build~/arch/powerpc/boot/zImage $ file build~/arch/powerpc/boot/zImage build~/arch/powerpc/boot/zImage: u-boot legacy uImage, Linux-5.7.0-rc2-00247-g0bdad33d6\037\213\010, Linux/PowerPC, OS Kernel Image (gzip), 3073760 bytes, Wed Jun 17 10:14:32 2020, Load Address: 0x, Entry Point: 0x, Header CRC: 0xF0283815, Data CRC: 0x5E5A4D98 > You should know what format qemu expects. > Anyway if you build it by make uImage and then pass it to qemu you > should boot just fine. Yep so you can explicitly build the uImage with: $ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc-linux- O=out/ppc distclean ppc44x_defconfig uImage > Or if bamboo requires uImage to be built by default you can do it via > Kconfig. > > diff --git a/arch/powerpc/platforms/44x/Kconfig > b/arch/powerpc/platforms/44x/Kconfig > index 39e93d23fb38..300864d7b8c9 100644 > --- a/arch/powerpc/platforms/44x/Kconfig > +++ b/arch/powerpc/platforms/44x/Kconfig > @@ -13,6 +13,7 @@ config BAMBOO > select PPC44x_SIMPLE > select 440EP > select FORCE_PCI > + select DEFAULT_UIMAGE > help > This option enables support for the IBM PPC440EP evaluation board. Who knows what the actual bamboo board used. But I'd be happy to take a SOB'ed patch to do the above, because these days the qemu emulation is much more likely to be used than the actual board. cheers
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
Hi Nathan, On 16. 06. 20 20:16, Nathan Chancellor wrote: > Hi Michal, > > On Tue, Jun 16, 2020 at 04:45:20PM +0200, Michal Simek wrote: >> >> >> On 16. 06. 20 2:27, Nathan Chancellor wrote: >>> On Thu, May 21, 2020 at 04:55:52PM +, Christophe Leroy wrote: From: Michal Simek The latest Xilinx design tools called ISE and EDK has been released in October 2013. New tool doesn't support any PPC405/PPC440 new designs. These platforms are no longer supported and tested. PowerPC 405/440 port is orphan from 2013 by commit cdeb89943bfc ("MAINTAINERS: Fix incorrect status tag") and commit 19624236cce1 ("MAINTAINERS: Update Grant's email address and maintainership") that's why it is time to remove the support fot these platforms. Signed-off-by: Michal Simek Acked-by: Arnd Bergmann Signed-off-by: Christophe Leroy >>> >>> This patch causes qemu-system-ppc to fail to load ppc44x_defconfig: >>> >>> $ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc-linux- O=out/ppc >>> distclean ppc44x_defconfig zImage >>> >>> $ timeout --foreground 30s unbuffer \ >>> qemu-system-ppc \ >>> -machine bamboo \ >> >> Did you bisect it that you found that this patch is causing problem for >> you on any bamboo machine? >> >> Or this was caused by the whole series? >> >> Thanks, >> Michal > > Yes, this conclusion was the result of the following bisect: > > $ cat test.sh > #!/usr/bin/env bash > > cd "${HOME}"/src/linux || exit 125 > > set -x > > PATH=${HOME}/toolchains/gcc/10.1.0/bin:${PATH} \ > make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc-linux- O=out/ppc32 > distclean ppc44x_defconfig zImage || exit 125 > > "${HOME}"/cbl/github/boot-utils/boot-qemu.sh -a ppc32 -k out/ppc32 -t 30s > > $ git bisect start v5.8-rc1 v5.7 > ... > > $ git bisect run test.sh > ... > > $ git bisect log > # bad: [b3a9e3b9622ae10064826dccb4f7a52bd88c7407] Linux 5.8-rc1 > # good: [3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162] Linux 5.7 > git bisect start 'v5.8-rc1' 'v5.7' > # good: [ee01c4d72adffb7d424535adf630f2955748fa8b] Merge branch 'akpm' > (patches from Andrew) > git bisect good ee01c4d72adffb7d424535adf630f2955748fa8b > # bad: [6f2dc3d335457d9c815be9f4fd3dc8eff92fcef7] Merge tag > 'dma-mapping-5.8-2' of git://git.infradead.org/users/hch/dma-mapping > git bisect bad 6f2dc3d335457d9c815be9f4fd3dc8eff92fcef7 > # skip: [828f3e18e1cb98c68fc6db4d5113513d4a267775] Merge tag > 'arm-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc > git bisect skip 828f3e18e1cb98c68fc6db4d5113513d4a267775 > # good: [c46241a370a61f0f264791abb9fc869016e749ce] powerpc/pkeys: Check vma > before returning key fault error to the user > git bisect good c46241a370a61f0f264791abb9fc869016e749ce > # good: [3f0be4df50a7854a831c80a74d7cf2cfd61f2fde] Merge tag > 'versatile-dts-v5.8-1' of > git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into > arm/dt > git bisect good 3f0be4df50a7854a831c80a74d7cf2cfd61f2fde > # bad: [bd55e792de0844631d34487d43eaf3f13294ebfe] powerpc/module_64: Use > special stub for _mcount() with -mprofile-kernel > git bisect bad bd55e792de0844631d34487d43eaf3f13294ebfe > # good: [303e6a9ddcdc168e92253c78cdb4bbe1e10d78b3] powerpc/watchpoint: > Convert thread_struct->hw_brk to an array > git bisect good 303e6a9ddcdc168e92253c78cdb4bbe1e10d78b3 > # good: [0755e85570a4615ca674ad6489d44d63916f1f3e] powerpc/xive: Do not > expose a debugfs file when XIVE is disabled > git bisect good 0755e85570a4615ca674ad6489d44d63916f1f3e > # bad: [b4ac18eead28611ff470d0f47a35c4e0ac080d9c] powerpc/perf/hv-24x7: Fix > inconsistent output values incase multiple hv-24x7 events run > git bisect bad b4ac18eead28611ff470d0f47a35c4e0ac080d9c > # bad: [3aacaa719b7bf135551cabde2480e8f7bfdf7c7d] powerpc/40x: Don't save CR > in SPRN_SPRG_SCRATCH6 > git bisect bad 3aacaa719b7bf135551cabde2480e8f7bfdf7c7d > # bad: [1b5c0967ab8aa9424cdd5108de4e055d8aeaa9d0] powerpc/40x: Remove support > for IBM 403GCX > git bisect bad 1b5c0967ab8aa9424cdd5108de4e055d8aeaa9d0 > # good: [0bdad33d6bd7b80722e2f9e588d3d7c6d6e34978] powerpc/64: Refactor > interrupt exit irq disabling sequence > git bisect good 0bdad33d6bd7b80722e2f9e588d3d7c6d6e34978 > # bad: [2c74e2586bb96012ffc05f1c819b05d9cad86d6e] powerpc/40x: Rework 40x PTE > access and TLB miss > git bisect bad 2c74e2586bb96012ffc05f1c819b05d9cad86d6e > # bad: [7ade8495dcfd788a76e6877c9ea86f5207369ea4] powerpc: Remove Xilinx > PPC405/PPC440 support > git bisect bad 7ade8495dcfd788a76e6877c9ea86f5207369ea4 > # first bad commit: [7ade8495dcfd788a76e6877c9ea86f5207369ea4] powerpc: > Remove Xilinx PPC405/PPC440 support > I have took a look at it and was able to run qemu and also saw your issue. What happened is that when xilinx platforms were removed zImage is generated but it is not u-boot legacy image. Don't know details about zImage/uImage in ppc world but if you dump zImage you should see this. Before this patch:
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
Hi Michal, On Tue, Jun 16, 2020 at 04:45:20PM +0200, Michal Simek wrote: > > > On 16. 06. 20 2:27, Nathan Chancellor wrote: > > On Thu, May 21, 2020 at 04:55:52PM +, Christophe Leroy wrote: > >> From: Michal Simek > >> > >> The latest Xilinx design tools called ISE and EDK has been released in > >> October 2013. New tool doesn't support any PPC405/PPC440 new designs. > >> These platforms are no longer supported and tested. > >> > >> PowerPC 405/440 port is orphan from 2013 by > >> commit cdeb89943bfc ("MAINTAINERS: Fix incorrect status tag") and > >> commit 19624236cce1 ("MAINTAINERS: Update Grant's email address and > >> maintainership") > >> that's why it is time to remove the support fot these platforms. > >> > >> Signed-off-by: Michal Simek > >> Acked-by: Arnd Bergmann > >> Signed-off-by: Christophe Leroy > > > > This patch causes qemu-system-ppc to fail to load ppc44x_defconfig: > > > > $ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc-linux- O=out/ppc > > distclean ppc44x_defconfig zImage > > > > $ timeout --foreground 30s unbuffer \ > > qemu-system-ppc \ > > -machine bamboo \ > > Did you bisect it that you found that this patch is causing problem for > you on any bamboo machine? > > Or this was caused by the whole series? > > Thanks, > Michal Yes, this conclusion was the result of the following bisect: $ cat test.sh #!/usr/bin/env bash cd "${HOME}"/src/linux || exit 125 set -x PATH=${HOME}/toolchains/gcc/10.1.0/bin:${PATH} \ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc-linux- O=out/ppc32 distclean ppc44x_defconfig zImage || exit 125 "${HOME}"/cbl/github/boot-utils/boot-qemu.sh -a ppc32 -k out/ppc32 -t 30s $ git bisect start v5.8-rc1 v5.7 ... $ git bisect run test.sh ... $ git bisect log # bad: [b3a9e3b9622ae10064826dccb4f7a52bd88c7407] Linux 5.8-rc1 # good: [3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162] Linux 5.7 git bisect start 'v5.8-rc1' 'v5.7' # good: [ee01c4d72adffb7d424535adf630f2955748fa8b] Merge branch 'akpm' (patches from Andrew) git bisect good ee01c4d72adffb7d424535adf630f2955748fa8b # bad: [6f2dc3d335457d9c815be9f4fd3dc8eff92fcef7] Merge tag 'dma-mapping-5.8-2' of git://git.infradead.org/users/hch/dma-mapping git bisect bad 6f2dc3d335457d9c815be9f4fd3dc8eff92fcef7 # skip: [828f3e18e1cb98c68fc6db4d5113513d4a267775] Merge tag 'arm-drivers-5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc git bisect skip 828f3e18e1cb98c68fc6db4d5113513d4a267775 # good: [c46241a370a61f0f264791abb9fc869016e749ce] powerpc/pkeys: Check vma before returning key fault error to the user git bisect good c46241a370a61f0f264791abb9fc869016e749ce # good: [3f0be4df50a7854a831c80a74d7cf2cfd61f2fde] Merge tag 'versatile-dts-v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into arm/dt git bisect good 3f0be4df50a7854a831c80a74d7cf2cfd61f2fde # bad: [bd55e792de0844631d34487d43eaf3f13294ebfe] powerpc/module_64: Use special stub for _mcount() with -mprofile-kernel git bisect bad bd55e792de0844631d34487d43eaf3f13294ebfe # good: [303e6a9ddcdc168e92253c78cdb4bbe1e10d78b3] powerpc/watchpoint: Convert thread_struct->hw_brk to an array git bisect good 303e6a9ddcdc168e92253c78cdb4bbe1e10d78b3 # good: [0755e85570a4615ca674ad6489d44d63916f1f3e] powerpc/xive: Do not expose a debugfs file when XIVE is disabled git bisect good 0755e85570a4615ca674ad6489d44d63916f1f3e # bad: [b4ac18eead28611ff470d0f47a35c4e0ac080d9c] powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run git bisect bad b4ac18eead28611ff470d0f47a35c4e0ac080d9c # bad: [3aacaa719b7bf135551cabde2480e8f7bfdf7c7d] powerpc/40x: Don't save CR in SPRN_SPRG_SCRATCH6 git bisect bad 3aacaa719b7bf135551cabde2480e8f7bfdf7c7d # bad: [1b5c0967ab8aa9424cdd5108de4e055d8aeaa9d0] powerpc/40x: Remove support for IBM 403GCX git bisect bad 1b5c0967ab8aa9424cdd5108de4e055d8aeaa9d0 # good: [0bdad33d6bd7b80722e2f9e588d3d7c6d6e34978] powerpc/64: Refactor interrupt exit irq disabling sequence git bisect good 0bdad33d6bd7b80722e2f9e588d3d7c6d6e34978 # bad: [2c74e2586bb96012ffc05f1c819b05d9cad86d6e] powerpc/40x: Rework 40x PTE access and TLB miss git bisect bad 2c74e2586bb96012ffc05f1c819b05d9cad86d6e # bad: [7ade8495dcfd788a76e6877c9ea86f5207369ea4] powerpc: Remove Xilinx PPC405/PPC440 support git bisect bad 7ade8495dcfd788a76e6877c9ea86f5207369ea4 # first bad commit: [7ade8495dcfd788a76e6877c9ea86f5207369ea4] powerpc: Remove Xilinx PPC405/PPC440 support
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
On 16. 06. 20 2:27, Nathan Chancellor wrote: > On Thu, May 21, 2020 at 04:55:52PM +, Christophe Leroy wrote: >> From: Michal Simek >> >> The latest Xilinx design tools called ISE and EDK has been released in >> October 2013. New tool doesn't support any PPC405/PPC440 new designs. >> These platforms are no longer supported and tested. >> >> PowerPC 405/440 port is orphan from 2013 by >> commit cdeb89943bfc ("MAINTAINERS: Fix incorrect status tag") and >> commit 19624236cce1 ("MAINTAINERS: Update Grant's email address and >> maintainership") >> that's why it is time to remove the support fot these platforms. >> >> Signed-off-by: Michal Simek >> Acked-by: Arnd Bergmann >> Signed-off-by: Christophe Leroy > > This patch causes qemu-system-ppc to fail to load ppc44x_defconfig: > > $ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc-linux- O=out/ppc > distclean ppc44x_defconfig zImage > > $ timeout --foreground 30s unbuffer \ > qemu-system-ppc \ > -machine bamboo \ Did you bisect it that you found that this patch is causing problem for you on any bamboo machine? Or this was caused by the whole series? Thanks, Michal
Re: [PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
On Thu, May 21, 2020 at 04:55:52PM +, Christophe Leroy wrote: > From: Michal Simek > > The latest Xilinx design tools called ISE and EDK has been released in > October 2013. New tool doesn't support any PPC405/PPC440 new designs. > These platforms are no longer supported and tested. > > PowerPC 405/440 port is orphan from 2013 by > commit cdeb89943bfc ("MAINTAINERS: Fix incorrect status tag") and > commit 19624236cce1 ("MAINTAINERS: Update Grant's email address and > maintainership") > that's why it is time to remove the support fot these platforms. > > Signed-off-by: Michal Simek > Acked-by: Arnd Bergmann > Signed-off-by: Christophe Leroy This patch causes qemu-system-ppc to fail to load ppc44x_defconfig: $ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc-linux- O=out/ppc distclean ppc44x_defconfig zImage $ timeout --foreground 30s unbuffer \ qemu-system-ppc \ -machine bamboo \ -no-reboot \ -append "console=ttyS0" \ -display none \ -initrd ../../cbl/github/boot-utils/images/ppc32/rootfs.cpio \ -kernel out/ppc/arch/powerpc/boot/zImage \ -m 128m \ -nodefaults \ -serial mon:stdio qemu-system-ppc: could not load kernel 'out/ppc/arch/powerpc/boot/zImage' $ ls out/ppc/arch/powerpc/boot/zImage out/ppc/arch/powerpc/boot/zImage Is this expected? Is there some other config or machine that we should be testing instead? Cheers, Nathan
[PATCH v5 01/13] powerpc: Remove Xilinx PPC405/PPC440 support
From: Michal Simek The latest Xilinx design tools called ISE and EDK has been released in October 2013. New tool doesn't support any PPC405/PPC440 new designs. These platforms are no longer supported and tested. PowerPC 405/440 port is orphan from 2013 by commit cdeb89943bfc ("MAINTAINERS: Fix incorrect status tag") and commit 19624236cce1 ("MAINTAINERS: Update Grant's email address and maintainership") that's why it is time to remove the support fot these platforms. Signed-off-by: Michal Simek Acked-by: Arnd Bergmann Signed-off-by: Christophe Leroy --- Documentation/devicetree/bindings/xilinx.txt | 143 -- Documentation/powerpc/bootwrapper.rst| 28 +- arch/powerpc/Kconfig.debug | 2 +- arch/powerpc/boot/Makefile | 7 +- arch/powerpc/boot/dts/Makefile | 1 - arch/powerpc/boot/dts/virtex440-ml507.dts| 406 arch/powerpc/boot/dts/virtex440-ml510.dts| 466 --- arch/powerpc/boot/ops.h | 1 - arch/powerpc/boot/serial.c | 5 - arch/powerpc/boot/uartlite.c | 79 arch/powerpc/boot/virtex.c | 97 arch/powerpc/boot/virtex405-head.S | 31 -- arch/powerpc/boot/wrapper| 8 - arch/powerpc/configs/40x/virtex_defconfig| 75 --- arch/powerpc/configs/44x/virtex5_defconfig | 74 --- arch/powerpc/configs/ppc40x_defconfig| 8 - arch/powerpc/configs/ppc44x_defconfig| 8 - arch/powerpc/include/asm/xilinx_intc.h | 16 - arch/powerpc/include/asm/xilinx_pci.h| 21 - arch/powerpc/kernel/cputable.c | 39 -- arch/powerpc/platforms/40x/Kconfig | 31 -- arch/powerpc/platforms/40x/Makefile | 1 - arch/powerpc/platforms/40x/virtex.c | 54 --- arch/powerpc/platforms/44x/Kconfig | 37 -- arch/powerpc/platforms/44x/Makefile | 2 - arch/powerpc/platforms/44x/virtex.c | 60 --- arch/powerpc/platforms/44x/virtex_ml510.c| 30 -- arch/powerpc/platforms/Kconfig | 4 - arch/powerpc/sysdev/Makefile | 2 - arch/powerpc/sysdev/xilinx_intc.c| 88 arch/powerpc/sysdev/xilinx_pci.c | 132 -- drivers/char/Kconfig | 2 +- drivers/video/fbdev/Kconfig | 2 +- 33 files changed, 7 insertions(+), 1953 deletions(-) delete mode 100644 arch/powerpc/boot/dts/virtex440-ml507.dts delete mode 100644 arch/powerpc/boot/dts/virtex440-ml510.dts delete mode 100644 arch/powerpc/boot/uartlite.c delete mode 100644 arch/powerpc/boot/virtex.c delete mode 100644 arch/powerpc/boot/virtex405-head.S delete mode 100644 arch/powerpc/configs/40x/virtex_defconfig delete mode 100644 arch/powerpc/configs/44x/virtex5_defconfig delete mode 100644 arch/powerpc/include/asm/xilinx_intc.h delete mode 100644 arch/powerpc/include/asm/xilinx_pci.h delete mode 100644 arch/powerpc/platforms/40x/virtex.c delete mode 100644 arch/powerpc/platforms/44x/virtex.c delete mode 100644 arch/powerpc/platforms/44x/virtex_ml510.c delete mode 100644 arch/powerpc/sysdev/xilinx_intc.c delete mode 100644 arch/powerpc/sysdev/xilinx_pci.c diff --git a/Documentation/devicetree/bindings/xilinx.txt b/Documentation/devicetree/bindings/xilinx.txt index d058ace29345..28199b31fe5e 100644 --- a/Documentation/devicetree/bindings/xilinx.txt +++ b/Documentation/devicetree/bindings/xilinx.txt @@ -86,149 +86,6 @@ xlnx,use-parity = <0>; }; - Some IP cores actually implement 2 or more logical devices. In - this case, the device should still describe the whole IP core with - a single node and add a child node for each logical device. The - ranges property can be used to translate from parent IP-core to the - registers of each device. In addition, the parent node should be - compatible with the bus type 'xlnx,compound', and should contain - #address-cells and #size-cells, as with any other bus. (Note: this - makes the assumption that both logical devices have the same bus - binding. If this is not true, then separate nodes should be used - for each logical device). The 'cell-index' property can be used to - enumerate logical devices within an IP core. For example, the - following is the system.mhs entry for the dual ps2 controller found - on the ml403 reference design. - - BEGIN opb_ps2_dual_ref - PARAMETER INSTANCE = opb_ps2_dual_ref_0 - PARAMETER HW_VER = 1.00.a - PARAMETER C_BASEADDR = 0xA900 - PARAMETER C_HIGHADDR = 0xA9001FFF - BUS_INTERFACE SOPB = opb_v20_0 - PORT Sys_Intr1 = ps2_1_intr - PORT Sys_Intr2 = ps2_2_intr - PORT Clkin1 = ps2_clk_rx_1 - PORT Clkin2 = ps2_clk_rx_2 - PORT Clkpd1 = ps2_clk_tx_1 - PORT Clkpd2 =