您的位置:首页 > 运维架构 > Linux

linux移植日记-day5-中断向量表基地址的选择

2020-05-11 04:13 1171 查看


由CP0的status寄存器的BEV位(1 bit)来决定中断向量入口的基地址。

  • BEV = 1 :意味着"Bootstrap",以0xbfc00200为基地址
  • BEV = 0 :意味着"Normal",以0x80000000为基地址

然后结合status寄存器的EXL(0 normal level ; 1 exception level),与相应的中断号来选择中断向量入口的偏移量。如上图,INT类型的中断在cause.IV = 1(IV 1 表示使用特殊中断向量偏移 0x200;为 0 表示使用普通中断向量偏移0x180)且status.EXL = 0,status.BEV =1时的中断向量入口地址为:
0x200 + 0xbfc00200 = 0xbfc00400

中断向量入口地址中断类型(一个中断码可能对应多个中断类型,如TLBL中断可能来自TLB miss,也可能来自TLB invalid),CP0相关寄存器状态共同决定,而不仅仅是简单的0xbfc00380。

淡定路过的我 原创文章 19获赞 1访问量 690 关注 私信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: