提交 f986a097 编写于 作者: Z Zihao Yu

riscv64,csr: fix delegation

* machine level interrupts can not be delegated
上级 8408dbe7
......@@ -80,6 +80,10 @@ void csr_write(uint32_t addr, rtlreg_t *src) {
mie->val = (mie->val & ~SIE_MASK) | (*src & SIE_MASK);
} else if (dest == (void *)sip) {
mip->val = (mip->val & ~SIP_MASK) | (*src & SIP_MASK);
} else if (dest == (void *)medeleg) {
*dest = *src & 0xbbff;
} else if (dest == (void *)mideleg) {
*dest = *src & 0x222;
} else {
*dest = *src;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册