现在的位置: 首页 > 综合 > 正文

关于龙芯pmon中断

2013年01月07日 ⁄ 综合 ⁄ 共 481字 ⁄ 字号 评论关闭

PMON里对CP0的status寄存器的设置是在哪里进行的?
在哪里打开CP0的status寄存器的中断?

还是PMON里就没有打开status寄存器的中断使能

没有打开。

那PMON的中断查询是如何实现的?是查询北桥的中断状态寄存器吗?

不打开CP0 Status寄存器,也可以查询北桥的中断状态寄存器吗?

能否说一下?

pmon没有用中断控制器,而只是在合适的时机查询中断状态而已。现在的UEFI的BIOS也是这样的。
pmon中,pci_intr_establish函数用于注册一个中断状态查询函数,pmon下所有能查询到的中断都是通过这个函数注册的。比如usb,网络等中断。这个函数会在一个查询链表中增加一项,tgt_poll函数会依次调用这个列表的函数,从而达到能轮询中断状态的功能,如此模拟实现了中断。
tgt_poll如何被调用呢?
tgt_pool函数一般是通过scandevs函数调用的,因为scandevs函数中有splx这样的可以调用tgt_poll的函数。
而scandevs是很容易被调用的,比如一个printf,udelay函数就必然会调用scandevs。

抱歉!评论已关闭.