[PATCH v1 00/14] riscv: introduce basic UART support and interrupts for hypervisor mode

Oleksii Kurochko posted 14 patches 10 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
xen/arch/riscv/Kconfig             |  13 +
xen/arch/riscv/Makefile            |   3 +
xen/arch/riscv/aplic.c             | 302 +++++++++++++++++++++++
xen/arch/riscv/imsic.c             | 374 +++++++++++++++++++++++++++++
xen/arch/riscv/include/asm/aplic.h |  89 +++++++
xen/arch/riscv/include/asm/imsic.h |  88 +++++++
xen/arch/riscv/include/asm/intc.h  |  31 +++
xen/arch/riscv/include/asm/irq.h   |  37 ++-
xen/arch/riscv/include/asm/smp.h   |   5 +
xen/arch/riscv/include/asm/time.h  |   6 +
xen/arch/riscv/intc.c              |  58 +++++
xen/arch/riscv/irq.c               | 223 +++++++++++++++++
xen/arch/riscv/pt.c                |  19 ++
xen/arch/riscv/setup.c             |  23 ++
xen/arch/riscv/smpboot.c           |  83 +++++++
xen/arch/riscv/stubs.c             |  16 --
xen/arch/riscv/time.c              |   7 +
xen/arch/riscv/traps.c             |  18 ++
xen/drivers/char/Kconfig           |   1 -
19 files changed, 1378 insertions(+), 18 deletions(-)
create mode 100644 xen/arch/riscv/imsic.c
create mode 100644 xen/arch/riscv/include/asm/aplic.h
create mode 100644 xen/arch/riscv/include/asm/imsic.h
create mode 100644 xen/arch/riscv/irq.c
create mode 100644 xen/arch/riscv/smpboot.c
[PATCH v1 00/14] riscv: introduce basic UART support and interrupts for hypervisor mode
Posted by Oleksii Kurochko 10 months ago
The patch series introduces basic UART support (in interrupt mode) and support of
interrupts for hypervisor mode.

To implement this the following has been added:
- APLIC and IMISC initialization.
- Introduce of intc_hw_operations abstraction.
- Introduce some APLIC and IMSIC operations.
- Introduce init_IRQ(), platform_get_irq() and setup_irq() functions.
- Update do_trap() handler to handle IRQ_S_EXT.
- Introduce some other functions such as: get_s_time(), smp_clear_cpu_maps(),
  ioremap().
- Enable UART. 

Oleksii Kurochko (14):
  xen/riscv: implement get_s_time()
  xen/riscv: introduce smp_clear_cpu_maps()
  xen/riscv: introduce ioremap()
  xen/riscv: introduce init_IRQ()
  xen/riscv: introduce platform_get_irq()
  xen/riscv: riscv_of_processor_hartid() implementation
  xen/riscv: Introduce intc_hw_operations abstraction
  xen/riscv: imsic_init() implementation
  xen/riscv: aplic_init() implementation
  xen/riscv: implementation of aplic and imsic operations
  xen/riscv: add external interrupt handling for hypervisor mode
  xen/riscv: implement setup_irq()
  xen/riscv: initialize interrupt controller
  xen/riscv: add basic UART support

 xen/arch/riscv/Kconfig             |  13 +
 xen/arch/riscv/Makefile            |   3 +
 xen/arch/riscv/aplic.c             | 302 +++++++++++++++++++++++
 xen/arch/riscv/imsic.c             | 374 +++++++++++++++++++++++++++++
 xen/arch/riscv/include/asm/aplic.h |  89 +++++++
 xen/arch/riscv/include/asm/imsic.h |  88 +++++++
 xen/arch/riscv/include/asm/intc.h  |  31 +++
 xen/arch/riscv/include/asm/irq.h   |  37 ++-
 xen/arch/riscv/include/asm/smp.h   |   5 +
 xen/arch/riscv/include/asm/time.h  |   6 +
 xen/arch/riscv/intc.c              |  58 +++++
 xen/arch/riscv/irq.c               | 223 +++++++++++++++++
 xen/arch/riscv/pt.c                |  19 ++
 xen/arch/riscv/setup.c             |  23 ++
 xen/arch/riscv/smpboot.c           |  83 +++++++
 xen/arch/riscv/stubs.c             |  16 --
 xen/arch/riscv/time.c              |   7 +
 xen/arch/riscv/traps.c             |  18 ++
 xen/drivers/char/Kconfig           |   1 -
 19 files changed, 1378 insertions(+), 18 deletions(-)
 create mode 100644 xen/arch/riscv/imsic.c
 create mode 100644 xen/arch/riscv/include/asm/aplic.h
 create mode 100644 xen/arch/riscv/include/asm/imsic.h
 create mode 100644 xen/arch/riscv/irq.c
 create mode 100644 xen/arch/riscv/smpboot.c

-- 
2.49.0