文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>powerpc e500内核外部中断

powerpc e500内核外部中断

时间:2009-08-27  来源:tomoowang

powerpc e500内核中断系统有两部分组成 一个是e500 的内核,一个是中断异常控制器programmable interrupt controller (PIC) interrupt protocol

e500内核有些特殊之处是:在e500内核进入中断和异常处理程序时不能关闭mmu 也就是说e500内核所看到的是虚拟地址。E500内核的解决办法是利用IVPR  和 IVOR寄存器来共同决定中断程序的入口地址,IVPR保存中断入口程序的0~15位 IVOR保存16~27位 28~31位为0;(每一个IVOR对应一种中断, 如:IVOR4 对应着外部中断)。此外PIC控制器还有Interrupt Source Configuration Registers 用来区分是具体的中断如外部中断一有EIVPR1 和 EIDR1共同决定

0---------------------------------------------------------------------------------à31

MSK           A      RSV1    P      S             PRIORITY    VECTIOR

0               1        2~7    8      9               12~`15       16~`31

其中vector 位为硬件中断号(不同于datasheet种的中断号)。其他个相关位见datasheet

当e500 int信号有效是期铜外部中断处理,外部中断处理根据具体的硬件中断号执行具体本中断的处理程序。俺也不知道处于啥原因linux又弄了个软中断号这样你在申请中断(request_irq是应该使用的是软中断号)。为此系统必须建立软中断号与硬中断号之间的联系。建立联系之后你就可以通过硬件中断号向系统要软件中断号了然后request_irq了。参见irq_of_parse_and_map函数或者干脆就直接调用irq_create_mapping(不知道会不会有问题)!

 

相关阅读 更多 +
排行榜 更多 +
试着飞手游下载

试着飞手游下载

休闲益智 下载
血染小镇(功能菜单)中文版下载

血染小镇(功能菜单)中文版下载

飞行射击 下载
泰坦之旅高爆版下载

泰坦之旅高爆版下载

角色扮演 下载