Linus Torvalds released the final kernel 4.15
Summary of the development of the kernel 4.15 (X1000 and X5000 specific topics)
The first alpha version didn't boot on the X5000. I reported the X5000 boot issue on the Linuxppc mailing list. I figured out which commit is responsible for the X5000 boot issue. I created the spinlock patch
. With this patch the X5000 booted without any problems. I disabled PREEMPT
and after that the X5000 boots without the spinlock patch
(Thanks to Michael Ellerman).
The X1000 didn't have hardware 3D acceleration with the alpha2. I reverted the first DRM updates and after that the hardware 3D acceleration works again on the X1000. I reported the issue with the hardware 3D acceleration on the DRI devel mailing list. I enabled SWIOTLB
and the hardware 3D acceleration works again on my AmigaOne X1000 (Thanks to Ilia). Christian released a new drm ttm patch
so I was able to disable SWIOTLB
. Later, the DRM TTM (Direct Rendering Manager Translation Table Maps) have been fixed in the official kernel source code so we don't need the drm ttm patch
Julian wasn't able to boot the alpha3 on his X5000 because of wrong Radeon firmwares. I added the correct firmwares and some new firmwares to the X5000 and X1000 Linux kernel (Thanks to Julian). After that, Julian was able to boot the kernel on his X5000.
Bjorn Helgaas released the probe.c patch
for the X1000 for scanning all possible devices below PCIe root ports, not just device 0. Therefore we were able to remove the probe.c code from the Nemo patch but we needed to add 'pci=pcie_scan_all
' to the kernel boot arguments. Fortunately Olof Johansson helped us with a patch for the additional scan of the devices below the SB600. The first version of Olof's patch didn't compile. I modified Olof's patch and after that the kernel compiled. With this new patch we don’t need the additional boot argument 'pci=pcie_scan_all
With the RC3 we added an uInitrd
for the X5000 for booting with a UUID or with a LABEL.
We were able to remove the pata_of_platform.c code from the Nemo patch with enabling the kernel config options CONFIG_PATA_PCMCIA
, and CONFIG_ELECTRA_CF
(Thanks to Darren).
We added the QorIQ DPAA Ethernet driver to the X5000 Linux kernel and Darren's new Cyrus eth dtb to the Linux kernel package. Unfortunately the QorIQ DPAA Ethernet driver has some problems. Jamie and Skateman have tested a lot the DPAA Ethernet and have found some issues. They figured out that we have to configure the MAC addresses in U-Boot because there aren't any MAC addresses configured. It seems the serial eeprom on the Cyrus board wasn't programmed with MAC addresses. This is where U-Boot gets its MAC addresses from if you haven't programmed the U-Boot variables. Darren told us that Linux looks in the device tree to see which ethernet ports to attach. On the earlier kernels (based on the SDK) we had no problems, as the aliases used to link dTSEC's to eth ports was in the board description file, however at some point Freescale moved the p5020 board aliases to the p5020si-pre.dtsi file, which messes up our system as we include that too meaning conflicts. It seems we need to get the device tree fixed, that's where the problem is. I figured out that the DPAA Ethernet driver has only been available since the mainline vanilla kernel 4.10. This driver isn't available for older kernels like 4.9, 4.8, etc.
Jamie and Skateman have posted the issue on the linuxppc-dev mailing list. Madalin Bucur created a mdio patch
to avoid MDIO bus removal when a PHY is missing. This patch was added to the RC9. We had a little success with disabling the PAMU support in the X5000 kernel. Without the PAMU support, Skateman was able to configure a manual IP address and he was also able to ping his gateway, and even DNS queries work without any problems. Unfortunately if he generates to much packets, then all traffic dies because it isn't enough buffer space available. He was able to increase the buffer space with 'ip link set eth0 qlen 10000
'. Jamie's X5000 was able to obtain an IP address via DHCP. He captured with Wireshark which showed a successful DHCP request/response for the X5000/20, followed by some failed ping attempts. Even when the interface does obtain an IP address via DHCP (about half the time), subsequent traffic still fails to receive responses. I hope we can solve the issue with the DPAA Ethernet driver.
I added the poweroff support to Darren's Cyrus eth dtb file.
We had to remove the gameport support as it that caused an oops with a Sound blaster Live sound card (Thanks to Julian).
Unfortunately, since the RC9 of kernel 4.15, we know that the P.A. Semi PWRficient PA6T-1682M CPU has the meltdown vulnerability.
BTW, Darren has submitted some Nemo patches for the kernel 4.16 to the kernel developers.
Many thanks to Darren!
Thanks a lot to Tom and TearsOfMe for testing the test kernels on theirs X1000 and many thanks to Casey for testing the kernels on the X5000.
Kernel 4.15 PowerPC final with ARM and x86 emulation: