fix(risc-v, virt64, plic): use volatile rw for claim and complete

This commit is contained in:
Haojin Tang
2025-09-02 22:04:10 +08:00
committed by R b b666
parent c0142c786e
commit 893ae7d7ba
2 changed files with 4 additions and 4 deletions

View File

@@ -93,7 +93,7 @@ void plic_set_threshold(int threshold)
int plic_claim(void)
{
int hart = __raw_hartid();
int irq = *(uint32_t *)PLIC_CLAIM(hart);
int irq = readl((uint32_t *)PLIC_CLAIM(hart));
return irq;
}
@@ -110,7 +110,7 @@ int plic_claim(void)
void plic_complete(int irq)
{
int hart = __raw_hartid();
*(uint32_t *)PLIC_COMPLETE(hart) = irq;
writel(irq, (uint32_t *)PLIC_COMPLETE(hart));
}
void plic_set_ie(rt_uint32_t word_index, rt_uint32_t val)