lisen4 发表于 2008-9-25 08:14:09

原帖由 xtdumpling 于 2008-9-24 19:00 发表 http://www.ufoit.com/bbs/images/common/back.gif
Timer是挂在8259的IRQ0的中断处理程序上面的, 大概每秒18.3次调用CoreTimerTick()-->CoreCheckTimers()
TPL=30
:loveliness: :handshake

lisen4 发表于 2008-9-25 08:48:51

Timer要想使用必须在EfiTimerArchProtocol安装以后对吧?且在TimerInterruptHandler中调用CoreTimerTick检查是否有事件到时,如果到时就signal它,然后返回TimerInterruptHandler中再RestoreTPL,就可把pend的事件执行了,大概是这样的吧Xt?

xtdumpling 发表于 2008-9-25 09:39:08

大概就是这样的
:victory:

xtdumpling 发表于 2008-9-25 09:45:39

对14#修正

原帖由 xtdumpling 于 2008-9-18 15:22 发表 http://www.ufoit.com/bbs/images/common/back.gif
...
所以,照code看,当在Driver中安装一个Handle和Interface到Binding Protocol后(gHandleDatabaseKey会++,IHandle的Key=gHandleDatabaseKey)
是会去ConnectController的,也会执行对应的Support()和Start()才对!!
上面这句是不对的,
因为ConnectController只会处理ControllerHandle,和ImageHandle/DriverBindingHandle无关
所以应该是当有新的ControllerHandle产生时,才会ConnectController()-->Support()/Start():L
页: 1 [2]
查看完整版本: UEFI 正常启动过程--与EDK为例,大家一起讨论吧!