[GIT PULL] RISC-V Patches for the 5.8 Merge Window, Part 2

From: Palmer Dabbelt
Date: Thu Jun 11 2020 - 13:54:03 EST


The following changes since commit 084623e468d535d98f883cc2ccf2c4fdf2108556:

Merge tag 'modules-for-v5.8' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux (2020-06-05 12:31:16 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux.git tags/riscv-for-linus-5.8-mw1

for you to fetch changes up to 01f76386b0ac0b1c1094456c8f43ea6085fc49d2:

riscv: set the permission of vdso_data to read-only (2020-06-10 19:47:35 -0700)

----------------------------------------------------------------
RISC-V Patches for the 5.8 Merge Window, Part 2

* Select statements are now sorted alphanumerically.
* Our first-level interrupts are now handled via a full irqchip driver.
* CPU hotplug is fixed.
* Our vDSO calls now use the common vDSO infrastructure.

----------------------------------------------------------------
Anup Patel (7):
RISC-V: self-contained IPI handling routine
RISC-V: Rename and move plic_find_hart_id() to arch directory
irqchip: RISC-V per-HART local interrupt controller driver
clocksource/drivers/timer-riscv: Use per-CPU timer interrupt
RISC-V: Remove do_IRQ() function
RISC-V: Force select RISCV_INTC for CONFIG_RISCV
RISC-V: Don't mark init section as non-executable

Palmer Dabbelt (1):
RISC-V: Sort select statements alphanumerically

Vincent Chen (2):
riscv: use vDSO common flow to reduce the latency of the time-related functions
riscv: set the permission of vdso_data to read-only

Zong Li (1):
riscv: fix build warning of missing prototypes

arch/riscv/Kconfig | 74 +++++++++-------
arch/riscv/include/asm/clocksource.h | 7 ++
arch/riscv/include/asm/irq.h | 5 --
arch/riscv/include/asm/processor.h | 13 +--
arch/riscv/include/asm/smp.h | 3 +
arch/riscv/include/asm/vdso.h | 2 +
arch/riscv/include/asm/vdso/clocksource.h | 8 ++
arch/riscv/include/asm/vdso/gettimeofday.h | 79 +++++++++++++++++
arch/riscv/include/asm/vdso/processor.h | 19 ++++
arch/riscv/include/asm/vdso/vsyscall.h | 27 ++++++
arch/riscv/kernel/cpu.c | 16 ++++
arch/riscv/kernel/entry.S | 4 +-
arch/riscv/kernel/irq.c | 33 +------
arch/riscv/kernel/patch.c | 1 +
arch/riscv/kernel/smp.c | 11 ++-
arch/riscv/kernel/time.c | 9 ++
arch/riscv/kernel/traps.c | 2 -
arch/riscv/kernel/vdso.c | 24 ++++-
arch/riscv/kernel/vdso/Makefile | 12 ++-
arch/riscv/kernel/vdso/clock_getres.S | 18 ----
arch/riscv/kernel/vdso/clock_gettime.S | 18 ----
arch/riscv/kernel/vdso/gettimeofday.S | 18 ----
arch/riscv/kernel/vdso/vdso.lds.S | 2 +
arch/riscv/kernel/vdso/vgettimeofday.c | 25 ++++++
arch/riscv/mm/init.c | 11 ---
drivers/clocksource/timer-riscv.c | 43 ++++++++-
drivers/irqchip/Kconfig | 13 +++
drivers/irqchip/Makefile | 1 +
drivers/irqchip/irq-riscv-intc.c | 138 +++++++++++++++++++++++++++++
drivers/irqchip/irq-sifive-plic.c | 46 +++++-----
include/linux/cpuhotplug.h | 1 +
31 files changed, 500 insertions(+), 183 deletions(-)
create mode 100644 arch/riscv/include/asm/clocksource.h
create mode 100644 arch/riscv/include/asm/vdso/clocksource.h
create mode 100644 arch/riscv/include/asm/vdso/gettimeofday.h
create mode 100644 arch/riscv/include/asm/vdso/processor.h
create mode 100644 arch/riscv/include/asm/vdso/vsyscall.h
delete mode 100644 arch/riscv/kernel/vdso/clock_getres.S
delete mode 100644 arch/riscv/kernel/vdso/clock_gettime.S
delete mode 100644 arch/riscv/kernel/vdso/gettimeofday.S
create mode 100644 arch/riscv/kernel/vdso/vgettimeofday.c
create mode 100644 drivers/irqchip/irq-riscv-intc.c