Lines Matching refs:plic_base
56 vaddr_t plic_base; member
82 return io_read32(PLIC_PENDING(pd->plic_base, source)) & in plic_is_pending()
88 io_setbits32(PLIC_PENDING(pd->plic_base, source), BIT(source % 32)); in plic_set_pending()
95 io_setbits32(PLIC_ENABLE(pd->plic_base, source, context), in plic_enable_interrupt()
104 return io_read32(PLIC_ENABLE(pd->plic_base, source, context)) & in plic_get_interrupt_enable()
112 io_clrbits32(PLIC_ENABLE(pd->plic_base, source, context), in plic_disable_interrupt()
120 return io_read32(PLIC_THRESHOLD(pd->plic_base, context)); in plic_get_threshold()
127 io_write32(PLIC_THRESHOLD(pd->plic_base, context), threshold); in plic_set_threshold()
133 return io_read32(PLIC_PRIORITY(pd->plic_base, source)); in plic_get_priority()
139 io_write32(PLIC_PRIORITY(pd->plic_base, source), priority); in plic_set_priority()
146 return io_read32(PLIC_CLAIM(pd->plic_base, context)); in plic_claim_interrupt()
153 io_write32(PLIC_CLAIM(pd->plic_base, context), source); in plic_complete_interrupt()
215 static size_t probe_max_it(vaddr_t plic_base __unused) in probe_max_it()
233 vaddr_t plic_base = 0; in plic_init_base_addr() local
237 plic_base = core_mmu_get_va(plic_base_pa, MEM_AREA_IO_SEC, in plic_init_base_addr()
239 if (!plic_base) in plic_init_base_addr()
242 pd->plic_base = plic_base; in plic_init_base_addr()
243 pd->max_it = probe_max_it(plic_base); in plic_init_base_addr()