Implement IRQ software support for RISC-V.
authorSergiusz Bazanski <q3k@q3k.org>
Mon, 22 Jan 2018 18:31:18 +0000 (18:31 +0000)
committerSergiusz Bazanski <q3k@q3k.org>
Mon, 22 Jan 2018 18:50:26 +0000 (18:50 +0000)
commit6daf3eabc5e3596857fb789b3b82c7c8d663b241
treebe0b1af573e1dfb87ee3b3a0835a3c0fe0dce974
parent2108c97b9bc95d781227211bf8e5e5583ec7e82c
Implement IRQ software support for RISC-V.

Well, at least PicoRV32-specific. Turns out there is no RISC-V
specification for simple microcontroller-like interrupts, so PicoRV32
implements its' own based on custom opcodes.

It's somewhat esoteric, and for example doesn't offer a global interrupt
enable/disable. For this we implement a thin wrapper in assembly and
then expose it via a few helpers in irq.h.
litex/soc/software/include/base/irq.h
litex/soc/software/libbase/crt0-riscv32.S