summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/xuantie/virt64/c906/libcpu/plic.c4
-rw-r--r--libcpu/risc-v/virt64/plic.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/bsp/xuantie/virt64/c906/libcpu/plic.c b/bsp/xuantie/virt64/c906/libcpu/plic.c
index 8aab8b1292..051e89c5ce 100644
--- a/bsp/xuantie/virt64/c906/libcpu/plic.c
+++ b/bsp/xuantie/virt64/c906/libcpu/plic.c
@@ -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)
diff --git a/libcpu/risc-v/virt64/plic.c b/libcpu/risc-v/virt64/plic.c
index 8aab8b1292..051e89c5ce 100644
--- a/libcpu/risc-v/virt64/plic.c
+++ b/libcpu/risc-v/virt64/plic.c
@@ -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)