找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 13934|回复: 2

[原创]我所知道的EC====>IDLE & RESET MODE

[复制链接]
发表于 2009-5-6 13:37:18 | 显示全部楼层 |阅读模式
我所知道的EC====>IDLE & RESET MODE
# V' @* H9 b; T7 s# M
1 P/ L. C# y3 `! m$ r2 _7 `) X
1. What’s this?9 i9 |' l5 i! x) w" f
( `: ^4 L. c3 e
IDLE & RESETEC的两种工作模式,从字面上看IDLE是空闲的意思而RESET则是复位的意思。他们的使用场景各有不同,IDLE主要是用在BIOS更新NVRAM区域,RESET则是用于flash bios的时候。

1 l% ^' l( _2 T2 h/ X2 s3 P, c8 i. R4 t- V
2. Why & How
) i; Y3 O* B" g3 x9 O8 \0 z) H1 \5 m; A  j* T' p& S! V% V5 Z+ v2 Y

8 N  }" ~% d0 i: t" W# w2 D+ GØIDLE Mode
: G2 q8 \$ N9 d$ c' R! m" e& `
3 x- o' F1 j& y" s8 i" S  h6 @+ dBIOSpost过程中会多次进入IDLE Mode,用于保存一些系统
0 F* R3 C* S9 R" t9 I; ^% e! v" {设置,以及保存硬件资源供OS获取。那么这些操作跟EC有什么关系呢?原因是NVRAM包含多个区域,有些部分保存在CMOS之中,可是还有很多信息保存在ROM之中,很多时候BIOSEC code 放在一颗ROM之中,那么这时就非常有必要让EC进入IDLE mode。另外BIOS在更新NVRAM的时候,EC端有可能通过KBSMI/KBSCI以及其他一些接在SB上的pin影响到BIOS(这部分纯属猜测J)。IDLE Mode的实现过程是这样的,当BIOS需要跟新NVRAM时,它发命令告诉ECEC收到命令后关掉LPC(假设EC通过LPC连到SB)的write protection,然后EC保存寄存器的内容,关掉中断只保留一个唤醒源(如EC host command wake up),然后回给BIOS “FA”表示进入IDLE,最后一步停掉8051 clock真正进入IDLE。那么为什么要先回”FA”然后再进IDLE,因为进IDLE以后8051 clock停掉了,EC无法跑code了,这样也造成了一个隐患,有时BIOS收到”FA”就开始更新NVRAM了,可是这时EC还没有进入IDLE modeEC的速度和host没法比)那就惨了,系统可能会hang住,我就遇到过这样的bugL,所以BIOS收到”FA”最好delay一段时间。BIOS更新完成后给66port随便送个commandEC就会从IDLE恢复了。
  e1 A. C6 ~* e) r) X+ ]0 G; M5 p/ J' m) v) T  @! X2 u
ØRESET MODE6 d: p' P% _& [( V  W2 _

, B& X4 u7 u" }: z" P& n2 Gflash bios的时候,BIOS会发命令让EC进入RESET mode,只所以称之为RESET,是由于ROM更新以后EC要重新开始跑code,所以有一个RESET的动作。RESET mode的做法是EC停掉sustain fetch,也就是说EC不去预取指令了,需要跑一条指令才会去抓一条。然后EC关掉所有中断并关掉Write Protection,让风扇全速转(因为刷BIOS时能耗比较大温度会很高),回给BIOS ”FA”,接下来EC就会进入死循环。BIOS通过backdoor修改EC register8051 pc停在0地址处。然后BIOS开始flashflash完成后BIOS将会通过back door修改EC register 8051 reset pc复位,这时EC就会重新加载新的code开始run
5 W7 E; y' N# N
. ]- h/ V' a1 |
' {6 x$ [: Y  n- d& t- I& m以上就是IDLE &RESET Mode的完整过程。

, M3 ~' U- n0 [* o# |' `! A$ M& h# L" Z6 R  Z
' D, o: e5 c+ E  O8 E! o5 {
% O0 R1 ?) q# o" e5 p3 p
Peter
发表于 2009-5-6 13:59:13 | 显示全部楼层
此楼主把EC的各个功能细分化,有助于理解。费了不少心啊!大家要好好读一读!
回复

使用道具 举报

发表于 2009-12-16 22:32:07 | 显示全部楼层

学习啦

这里讲的很易懂,谢谢楼主
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-8 07:08 , Processed in 0.061553 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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