]> git.baikalelectronics.ru Git - kernel.git/commitdiff
riscv: clear all pending interrupts when booting
authorChristoph Hellwig <hch@lst.de>
Mon, 15 Apr 2019 09:14:36 +0000 (11:14 +0200)
committerPalmer Dabbelt <palmer@sifive.com>
Thu, 25 Apr 2019 21:51:10 +0000 (14:51 -0700)
Just in case an old interrupt is pending make sure we clear everything
asserted before this kernel started.  Based on similar M-mode code in
opensbi.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Nick Kossifidis <mick@ics.forth.gr>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
arch/riscv/kernel/head.S

index fe884cd69abd8f0d7b3fe3a9e20b781937a32502..9e3840d84d3e49a1ce723864ad20fe731ea6f1fe 100644 (file)
@@ -22,8 +22,9 @@
 
 __INIT
 ENTRY(_start)
-       /* Mask all interrupts */
+       /* Mask and clear all interrupts */
        csrw sie, zero
+       csrw sip, zero
 
        /* Load the global pointer */
 .option push