We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
https://rcore-os.cn/rCore-Tutorial-Book-v3/chapter9/2device-driver-0.html
The text was updated successfully, but these errors were encountered:
下面是一下些与 PLIC 相关的寄存器
有个错别字
Sorry, something went wrong.
Claim 0x0c20_0004 按优先级顺序返回下一个中断 Complete 0x0c20_0004 写操作表示完成对特定中断的处理
这两个地址是有一个写错了么?
在RISC-V中,与外设连接的I/O控制器的一个重要组成是平台级中断控制器(Platform-Level Interrupt Controller,PLIC),它的一端汇聚了各种外设的中断信号,另一端连接到CPU的外部中断引脚上。当一个外部设备发出中断请求时,PLIC 会将其转发给 RISC-V CPU, CPU 会执行对应的中断处理程序来响应中断。通过RISC-V的 mie 寄存器中的 meie 位,可以控制这个引脚是否接收外部中断信号。当然,通过RISC-V中M Mode的中断委托机制,也可以在RISC-V的S Mode下,通过 sie 寄存器中的 seie 位,对中断信号是否接收进行控制。
这一段的最后有两个比较粗心的错误:应该是mstatus寄存器中的meie位,而不是mie寄存器,mie本身是mstatus的另一个位,控制全局中断是否开启;同理,最后sie寄存器也应改为sstatus寄存器。
@chestNutLsj 这段话并没有问题。MIE寄存器提供MEIE、MTIE和MSIE三个标志位分别用于控制M-mode级别外部中断、时钟中断和软中断是否有效。这段话所说的外部中断就是由MIE寄存器的MEIE位控制的。mstatus寄存器中也没有MEIE位,其中的MIE位是用来控制所有中断(包括外部中断、时钟中断和软中断)是否有效的。具体可查看RISC-V特权级规范(20211203)3.1.6节和3.1.9节。
No branches or pull requests
外设平台 - rCore-Tutorial-Book-v3 3.6.0-alpha.1 文档
https://rcore-os.cn/rCore-Tutorial-Book-v3/chapter9/2device-driver-0.html
The text was updated successfully, but these errors were encountered: