OSDN Git Service

riscv: Fixup obvious bug for fp-regs reset
authorGuo Ren <ren_guo@c-sky.com>
Sun, 5 Jan 2020 02:52:14 +0000 (10:52 +0800)
committerPaul Walmsley <paul.walmsley@sifive.com>
Sun, 12 Jan 2020 18:12:44 +0000 (10:12 -0800)
CSR_MISA is defined in Privileged Architectures' spec: 3.1.1 Machine
ISA Register misa. Every bit:1 indicate a feature, so we should beqz
reset_done when there is no F/D bit in csr_misa register.

Signed-off-by: Guo Ren <ren_guo@c-sky.com>
[paul.walmsley@sifive.com: fix typo in commit message]
Fixes: 9e80635619b51 ("riscv: clear the instruction cache and all registers when booting")
Signed-off-by: Paul Walmsley <paul.walmsley@sifive.com>
arch/riscv/kernel/head.S

index 797802c..2227db6 100644 (file)
@@ -251,7 +251,7 @@ ENTRY(reset_regs)
 #ifdef CONFIG_FPU
        csrr    t0, CSR_MISA
        andi    t0, t0, (COMPAT_HWCAP_ISA_F | COMPAT_HWCAP_ISA_D)
-       bnez    t0, .Lreset_regs_done
+       beqz    t0, .Lreset_regs_done
 
        li      t1, SR_FS
        csrs    CSR_STATUS, t1