• Linus Torvalds's avatar
    Merge tag 'csky-for-linus-4.20' of https://github.com/c-sky/csky-linux · ac435075
    Linus Torvalds authored
    Pull C-SKY architecture port from Guo Ren:
     "This contains the Linux port for C-SKY(csky) based on linux-4.19
      Release, which has been through 10 rounds of review on mailing list.
    
      More information:
    
        http://en.c-sky.com
    
      The development repo:
    
        https://github.com/c-sky/csky-linux
    
      ABI Documentation:
    
        https://github.com/c-sky/csky-doc
    
      Here is the pre-built cross compiler for fast test from our CI:
    
        https://gitlab.com/c-sky/buildroot/-/jobs/101608095/artifacts/file/output/images/csky_toolchain_qemu_csky_ck807f_4.18_glibc_defconfig_482b221e52908be1c9b2ccb444255e1562bb7025.tar.xz
    
      We use buildroot as our CI-test enviornment. "LTP, Lmbench ..." will
      be tested for every commit. See here for more details:
    
        https://gitlab.com/c-sky/buildroot/pipelines
    
      We'll continouslly improve csky subsystem in future"
    
    Arnd acks, and adds the following notes:
     "I did a thorough review of the ABI, which as usual mainly consists of
      spotting any files that don't use the asm-generic ABI itself, and
      having it changed to it matches exactly what we do on other new
      architectures.
    
      I also looked at every other patch and commented on maybe half of them
      where I saw something that did not quite seem right. Others have
      reviewed specific patches in greater depth. I'm sure that one could
      fine more of the minor details, but as long as they are not ABI
      relevant, they can be fixed later.
    
      The only patch that is part of the ABI and that nobody reviewed is the
      signal handling. This is one of the areas I never worked on in much
      detail. I did not see anything wrong with it, but I also don't know
      what the problems with the other architectures are here, and we seem
      to be hitting issues occasionally, and we never managed to generalize
      this enough for new architectures to have a trivial implementation.
    
      I was originally hoping that we could have the 64-bit time_t
      interfaces ready in time to completely drop the 32-bit ones, but that
      did not happen. We might still remove them in the next merge window
      depending on whether the libc upstream people prefer to keep them or
      not.
    
      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?"
    
    To which Geert Uytterhoeven pipes in about another architecture still in
    the pipeline: Kalray MPPA.
    
    * tag 'csky-for-linus-4.20' of https://github.com/c-sky/csky-linux: (24 commits)
      dt-bindings: interrupt-controller: C-SKY APB intc
      irqchip: add C-SKY APB bus interrupt controller
      dt-bindings: interrupt-controller: C-SKY SMP intc
      irqchip: add C-SKY SMP interrupt controller
      MAINTAINERS: Add csky
      dt-bindings: Add vendor prefix for csky
      dt-bindings: csky CPU Bindings
      csky: Misc headers
      csky: SMP support
      csky: Debug and Ptrace GDB
      csky: User access
      csky: Library functions
      csky: ELF and module probe
      csky: Atomic operations
      csky: IRQ handling
      csky: VDSO and rt_sigreturn
      csky: Process management and Signal
      csky: MMU and page table management
      csky: Cache and TLB routines
      csky: System Call
      ...
    ac435075
Kconfig 7.75 KB