Enable SIE in MSTATUS too
This commit is contained in:
parent
60631ec37f
commit
a858b3548e
@ -1,24 +1,26 @@
|
|||||||
diff --git a/lib/sbi/sbi_irqchip.c b/lib/sbi/sbi_irqchip.c
|
diff --git a/lib/sbi/sbi_irqchip.c b/lib/sbi/sbi_irqchip.c
|
||||||
index 0ae604a..dd4592a 100644
|
index 0ae604a..94832c8 100644
|
||||||
--- a/lib/sbi/sbi_irqchip.c
|
--- a/lib/sbi/sbi_irqchip.c
|
||||||
+++ b/lib/sbi/sbi_irqchip.c
|
+++ b/lib/sbi/sbi_irqchip.c
|
||||||
@@ -37,8 +37,7 @@ int sbi_irqchip_init(struct sbi_scratch *scratch, bool cold_boot)
|
@@ -37,8 +37,8 @@ int sbi_irqchip_init(struct sbi_scratch *scratch, bool cold_boot)
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
- if (ext_irqfn != default_irqfn)
|
- if (ext_irqfn != default_irqfn)
|
||||||
- csr_set(CSR_MIE, MIP_MEIP);
|
- csr_set(CSR_MIE, MIP_MEIP);
|
||||||
+ csr_set(CSR_MIE, MIP_SEIP);
|
+ csr_set(CSR_MIE, MIP_SEIP);
|
||||||
|
+ csr_set(CSR_MSTATUS, MSTATUS_SIE);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -47,8 +46,7 @@ void sbi_irqchip_exit(struct sbi_scratch *scratch)
|
@@ -47,8 +47,8 @@ void sbi_irqchip_exit(struct sbi_scratch *scratch)
|
||||||
{
|
{
|
||||||
const struct sbi_platform *plat = sbi_platform_ptr(scratch);
|
const struct sbi_platform *plat = sbi_platform_ptr(scratch);
|
||||||
|
|
||||||
- if (ext_irqfn != default_irqfn)
|
- if (ext_irqfn != default_irqfn)
|
||||||
- csr_clear(CSR_MIE, MIP_MEIP);
|
- csr_clear(CSR_MIE, MIP_MEIP);
|
||||||
+ csr_clear(CSR_MIE, MIP_SEIP);
|
+ csr_clear(CSR_MIE, MIP_SEIP);
|
||||||
|
+ csr_clear(CSR_MSTATUS, MSTATUS_SIE);
|
||||||
|
|
||||||
sbi_platform_irqchip_exit(plat);
|
sbi_platform_irqchip_exit(plat);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user