Re: [GIT PULL] RISC-V Fixes for 5.9-rc2

From: Christoph Hellwig
Date: Fri Sep 04 2020 - 04:31:17 EST


On Fri, Aug 21, 2020 at 12:35:20PM -0700, Linus Torvalds wrote:
> On Fri, Aug 21, 2020 at 11:26 AM Palmer Dabbelt <palmer@xxxxxxxxxxx> wrote:
> >
> > * The CLINT driver has been split in two: one to handle the M-mode CLINT
> > (memory mapped and used on NOMMU systems) and one to handle the S-mode CLINT
> > (via SBI).
>
> This looks more like development than fixes.
>
> I guess I don't care deeply enough about it, but please don't do this.

Well, I care because this late pull requests completely breaks nommu
(nommu_virt_defconfig). More specifically commit 2bc3fc877aa9
("RISC-V: Remove CLINT related code from timer and arch") leas to this
spew when booting under qemu:

[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] riscv-intc: 64 local interrupts mapped
[ 0.000000] plic: interrupt-controller@c000000: mapped 53 interrupts with 2 handlers for 4 contexts.
[ 0.000000] Oops - illegal instruction [#1]
[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.9.0-rc1-00003-g2bc3fc877aa9c4 #609
[ 0.000000] epc: 000000008000de78 ra : 000000008000ddaa sp : 0000000080187f40
[ 0.000000] gp : 00000000801a3aa8 tp : 000000008018bd40 t0 : 0000000000000019
[ 0.000000] t1 : 0000000000000018 t2 : 0000000000000001 s0 : 0000000080187f80
[ 0.000000] s1 : 0000000000000200 a0 : 000000008019b738 a1 : 0000000000000000
[ 0.000000] a2 : ffffffff80187f50 a3 : 0000000000000000 a4 : 0000000000000000
[ 0.000000] a5 : 0000000080169018 a6 : 0000000000000000 a7 : 00000000000001e4
[ 0.000000] s2 : 00000000801a40a8 s3 : 00000000801a4068 s4 : 000000008fc7c040
[ 0.000000] s5 : 00000000801a4038 s6 : 00000000801a4030 s7 : 0000000080012da0
[ 0.000000] s8 : 0000000000000000 s9 : 0000000000000000 s10: 0000000000000000
[ 0.000000] s11: 0000000000000000 t3 : 00000000801c40d8 t4 : 0000000000000068
[ 0.000000] t5 : 000000000000004c t6 : 0000000000000033
[ 0.000000] status: 0000000000001800 badaddr: 0000000000000000 cause: 0000000000000002
[ 0.000000] random: get_random_bytes called from 0x00000000800210c4 with crng_init=0
[ 0.000000] ---[ end trace 0000000000000000 ]---
[ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]---