C-SKY Architecture Approved For The Linux Kernel, Might Be The Last New CPU Arch
The Chinese C-SKY 32-bit CPU architecture looks now for sure that it will be added to the in-development Linux 4.20~5.0 kernel. This might also be the last new CPU architecture ever to be added to the mainline Linux kernel.
On Sunday before deciding on merging the new C-SKY CPU support code to the kernel, Linus Torvalds was looking for long-time low-level kernel developer Arnd Bergmann to comment on the code. He ended up giving his approval to these patches that add over 11k lines of code to enable this CPU architecture. With that sign-off, Torvalds now looks poised to merge the new architecture.
We have been covering C-SKY the past number of months as this code has gone through multiple rounds of revisions. If you missed the previous articles on it including the one just this past weekend, C-SKY is another domestic CPU effort in China and this architecture is intended for use in low-power SoCs like cameras, media boxes, DVRs, printers, and other consumer devices. The company has also been plumbing C-SKY support into the rest of the Linux/open-source stack including GCC, glibc, and other toolchain components. C-SKY is a member of the RISC-V Foundation but this architecture being added now is their own original design.
In commenting on C-SKY, Arnd Bergmann commented that C-SKY might end up being the last new CPU architecture added to the kernel... He rightfully points out that most vendors now not part of the ARM/x86/POWER bandwagon are pursuing RISC-V based designs, which is already part of the mainline kernel. For low-power devices ARM and RISC-V are likely the future and with those architectures there isn't much of an advantage for hardware vendors to pursue their own architectures from scratch. On the high performance computing front, nothing is expected to unseat x86_64 and POWER anytime soon... If any new CPU targets are added to the Linux kernel in the coming years, it's likely to be some virtual target. Arnd wrote:
On Sunday before deciding on merging the new C-SKY CPU support code to the kernel, Linus Torvalds was looking for long-time low-level kernel developer Arnd Bergmann to comment on the code. He ended up giving his approval to these patches that add over 11k lines of code to enable this CPU architecture. With that sign-off, Torvalds now looks poised to merge the new architecture.
We have been covering C-SKY the past number of months as this code has gone through multiple rounds of revisions. If you missed the previous articles on it including the one just this past weekend, C-SKY is another domestic CPU effort in China and this architecture is intended for use in low-power SoCs like cameras, media boxes, DVRs, printers, and other consumer devices. The company has also been plumbing C-SKY support into the rest of the Linux/open-source stack including GCC, glibc, and other toolchain components. C-SKY is a member of the RISC-V Foundation but this architecture being added now is their own original design.
The C-SKY CK810 SoC design, courtesy Hangzhou C-SKY Microsystems Co.
In commenting on C-SKY, Arnd Bergmann commented that C-SKY might end up being the last new CPU architecture added to the kernel... He rightfully points out that most vendors now not part of the ARM/x86/POWER bandwagon are pursuing RISC-V based designs, which is already part of the mainline kernel. For low-power devices ARM and RISC-V are likely the future and with those architectures there isn't much of an advantage for hardware vendors to pursue their own architectures from scratch. On the high performance computing front, nothing is expected to unseat x86_64 and POWER anytime soon... If any new CPU targets are added to the Linux kernel in the coming years, it's likely to be some virtual target. Arnd wrote:
One more general comment: I think this may well be the last new CPU architecture we ever add to the kernel. Both nds32 and c-sky are made by companies that also work on risc-v, and generally speaking risc-v seems to be killing off any of the minor licensable instruction set projects, just like ARM has mostly killed off the custom vendor-specific instruction sets already. If we add another architecture in the future, it may instead be something like the LLVM bitcode or WebAssembly, who knows?
17 Comments