forked from rarias/nixos-riscv
Move patches to its own directory
This commit is contained in:
37
patches/opensbi-dont-delegate.patch
Normal file
37
patches/opensbi-dont-delegate.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
diff --git a/lib/sbi/sbi_hart.c b/lib/sbi/sbi_hart.c
|
||||
index c366701..c5b5249 100644
|
||||
--- a/lib/sbi/sbi_hart.c
|
||||
+++ b/lib/sbi/sbi_hart.c
|
||||
@@ -199,7 +199,7 @@ static int delegate_traps(struct sbi_scratch *scratch)
|
||||
return 0;
|
||||
|
||||
/* Send M-mode interrupts and most exceptions to S-mode */
|
||||
- interrupts = MIP_SSIP | MIP_STIP | MIP_SEIP;
|
||||
+ interrupts = MIP_SSIP | MIP_STIP;
|
||||
interrupts |= sbi_pmu_irq_bit();
|
||||
|
||||
exceptions = (1U << CAUSE_MISALIGNED_FETCH) | (1U << CAUSE_BREAKPOINT) |
|
||||
diff --git a/lib/sbi/sbi_irqchip.c b/lib/sbi/sbi_irqchip.c
|
||||
index 0ae604a..dd4592a 100644
|
||||
--- a/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)
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
- if (ext_irqfn != default_irqfn)
|
||||
- csr_set(CSR_MIE, MIP_MEIP);
|
||||
+ csr_set(CSR_MIE, MIP_MEIP);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -47,8 +46,7 @@ void sbi_irqchip_exit(struct sbi_scratch *scratch)
|
||||
{
|
||||
const struct sbi_platform *plat = sbi_platform_ptr(scratch);
|
||||
|
||||
- if (ext_irqfn != default_irqfn)
|
||||
- csr_clear(CSR_MIE, MIP_MEIP);
|
||||
+ csr_clear(CSR_MIE, MIP_MEIP);
|
||||
|
||||
sbi_platform_irqchip_exit(plat);
|
||||
}
|
||||
Reference in New Issue
Block a user