找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
楼主: winbondowen

UEFI 正常启动过程--与EDK为例,大家一起讨论吧!

[复制链接]
发表于 2008-9-25 08:14:09 | 显示全部楼层
原帖由 xtdumpling 于 2008-9-24 19:00 发表 . H6 x! {5 q- p  w0 i8 Q) ~
Timer是挂在8259的IRQ0的中断处理程序上面的, 大概每秒18.3次调用CoreTimerTick()-->CoreCheckTimers()" |* e) I% B* o" Y1 @
TPL=30
. T9 l0 s5 o& ]. K9 [1 w  p
回复

使用道具 举报

发表于 2008-9-25 08:48:51 | 显示全部楼层
Timer要想使用必须在EfiTimerArchProtocol安装以后对吧?且在TimerInterruptHandler中调用CoreTimerTick检查是否有事件到时,如果到时就signal它,然后返回TimerInterruptHandler中再RestoreTPL,就可把pend的事件执行了,大概是这样的吧Xt?
回复

使用道具 举报

发表于 2008-9-25 09:39:08 | 显示全部楼层
大概就是这样的0 \) d8 U2 L3 B- H  y# Z4 w, A
回复

使用道具 举报

发表于 2008-9-25 09:45:39 | 显示全部楼层

对14#修正

原帖由 xtdumpling 于 2008-9-18 15:22 发表 / m! ?, z: B# p, s3 [8 `
...
# _- S/ L1 r4 ~4 p' v- ^3 v  s. l所以,照code看,当在Driver中安装一个Handle和Interface到Binding Protocol后(gHandleDatabaseKey会++,IHandle的Key=gHandleDatabaseKey)
* b5 ]2 R* Q8 K- R8 Y( P/ t是会去ConnectController的,也会执行对应的Support()和Start()才对!!

9 R1 H& ^. e1 P2 Y/ E. M上面这句是不对的,
0 h" @2 w3 `# K' ]因为ConnectController只会处理ControllerHandle,和ImageHandle/DriverBindingHandle无关* U" v* r5 L: N2 T9 p0 u) y+ r1 b
所以应该是当有新的ControllerHandle产生时,才会ConnectController()-->Support()/Start()
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2026-6-8 12:11 , Processed in 0.293612 second(s), 13 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表