• Linus Torvalds's avatar
    Merge tag 'riscv-for-linus-4.19-mw0' of... · 1009aa12
    Linus Torvalds authored
    Merge tag 'riscv-for-linus-4.19-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux
    
    Pull RISC-V updates from Palmer Dabbelt:
     "This contains some major improvements to the RISC-V port, including
      the necessary interrupt controller and timer support to actually make
      it to userspace. Support for three devices has been added:
    
       - the ISA-mandated timers on RISC-V systems.
    
       - the ISA-mandated first-level interrupt controller on RISC-V
         systems, which is handled as part of our core arch code because
         it's very small and tightly tied to the ISA.
    
       - SiFive's platform-level interrupt controller, which talks to the
         actual devices.
    
      In addition to these new devices, there are a handful of cleanups all
      over the RISC-V tree:
    
       - build fixes for various configurations:
          * A fix to the vDSO build's makefile so it respects CFLAGS.
          * The addition of __lshrti3, a libgcc derived function necessary
            for some 32-bit configurations.
          * !SMP && PERF_EVENTS
    
       - Cleanups to the arch code to remove the remnants of old versions of
         the drivers that were just properly submitted.
          * Some dead code from the timer driver, most of which wasn't ever
            even compiled.
          * Cleanups of some interrupt #defines, which are now local to the
            interrupt handling code.
    
       - Fixes to ptrace(), which while not being sufficient to fully make
         GDB work are at least sufficient to get simple GDB tasks to work.
    
       - Early printk support via RISC-V's architecturally mandated SBI
         console device.
    
       - A fix to our early debug trap handler to ensure it's always
         aligned.
    
      These patches have all been through a fairly extensive review process,
      but as this enables a whole pile of functionality (ie, userspace) I'm
      confident we'll need to submit a few more patches. The only concrete
      issues I know about are the sys_riscv_flush_icache patches, but as I
      managed to screw those up on Friday I figured it'd be best to let them
      bake another week.
    
      This tag boots a Fedora root filesystem on QEMU's master branch for
      me, and before this morning's rebase (from 4.18-rc8 to 4.18) it booted
      on the HiFive Unleashed.
    
      Thanks to Christoph Hellwig and the other guys at WD for getting the
      new drivers in shape!"
    
    * tag 'riscv-for-linus-4.19-mw0' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
      dt-bindings: interrupt-controller: SiFive Plaform Level Interrupt Controller
      dt-bindings: interrupt-controller: RISC-V local interrupt controller
      RISC-V: Fix !CONFIG_SMP compilation error
      irqchip: add a SiFive PLIC driver
      RISC-V: Add the directive for alignment of stvec's value
      clocksource: new RISC-V SBI timer driver
      RISC-V: implement low-level interrupt handling
      RISC-V: add a definition for the SIE SEIE bit
      RISC-V: remove INTERRUPT_CAUSE_* defines from asm/irq.h
      RISC-V: simplify software interrupt / IPI code
      RISC-V: remove timer leftovers
      RISC-V: Add early printk support via the SBI console
      RISC-V: Don't increment sepc after breakpoint.
      RISC-V: implement __lshrti3.
      RISC-V: Use KBUILD_CFLAGS instead of KCFLAGS when building the vDSO
    1009aa12
Kconfig 7.19 KB