I can’t figure how exactly does NOEL handle interrupts.
According to The RISC-V Instruction Set Manual, all I need to do to enable interrupts is to set mstatus.MIE bit, enable them in mie csr register and write trap handler’s laber address into mtvec.
From here, all that’s left from user is to enable interrupts in, let’s say, timer, and whenever it would underflow, machine would jump to the mtvec address. Doing all that, but there’s no jumping, and no interrupts pending in mip register.
Is there any error in my chain of thought? Have I made an error? Does NOEL’s PLIC and ACLINT handle interrupts differently, or there’s some settings in VHDL project that I’ve missed?