查看64位多核 MIPS 异常和中断结构的源代码
←
64位多核 MIPS 异常和中断结构
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== 其它例外的子类型 == 当发生的例外不是 Reset, TLB Refill, Cache Error 时,MIPS 进入其它例外入口,对这个其它例外的区分,即 MIPS 怎么告诉 OS, 系统调用是进系统调用的处理函数,地址错误是进另外的处理函数。MIPS 如何做的呢? 他是在 CP0 的 STATUS 寄存器里,保留了 5 位 (STATUS[6:2]) 作为 ExcCode,即例外 Code。不同的其它例外有不用的 ExcCode: <pre> 0 Int 中断 1 Mod TLB 修改异常 2 TLBL TLB 读异常 3 TLBS TLB 写异常 4 AdEL 读地址错误异常 5 AdES 写地址错误异常 ...... 8 Sys 系统调用异常 ...... 31 保留 </pre> 这样 OS 就可以用 ExcCode 作为一个索引值,去索引一个函数数组,啥样的例外进啥样的处理函数。至于他们怎么传递参数和返回值,后面详细讨论。 MIPS Linux 下,中断和系统调用的处理函数为 handle_int 和 handle_sys <br><br>
返回到
64位多核 MIPS 异常和中断结构
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面