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

EC与BIOS启动XP时候之间的关系

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?
* o7 i9 Q+ Q4 \3 ~: E" w我所知道的:
/ S; p6 P$ F8 p' P(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;
6 b$ \' X7 P* G(2)BIOS通过SHM到SPI Flash上更新数据;+ x9 u# T, E) A. k% `1 \
(2)HOST通过PM1端口与EC交互键盘的标准命令;7 X% D5 v: p5 ]
接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。7 I2 y7 B& a- j, T! A6 R$ M

5 N4 o! n- t2 M( [小弟出入EC & BIOS领域,请各位老大指教!
发表于 2010-1-13 00:55:32 | 显示全部楼层
进windows时,windows会打开ACPI Mode.EC的一些SMI的功能,会转为SCI来做.见ACPI SPEC中的图.
回复

使用道具 举报

发表于 2010-1-26 22:29:40 | 显示全部楼层
目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
& [' d4 W7 T6 }( g  d8 S) h7 E* `: G
这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;6 Y: S' b: D+ M/ H/ e  E

" m' S6 `1 r, ]7 C& c6 v还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

发表于 2010-1-27 10:12:39 | 显示全部楼层

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题.3 r: A; m! y- u
2.调整一下SCI#信号的脉冲宽度试试看.7 L- T# H% @$ e, r$ X: C
3.让EC架串口debug抛一些信息出来看看.+ r6 B* m+ H- f6 r
4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。7 O" |$ k/ E  h& T* b% C
或者将ec 相关的asl直接拿掉试试看。
回复

使用道具 举报

发表于 2010-1-27 11:40:14 | 显示全部楼层

我碰到同样的问题

我在滚动条的时候会停很久,在OS底下能发出SCI(ASL Q Event丢80口验证)。在滚动条的时候用示波器量ECSCI不停的被拉低。Debug Code 40-》45-》41-》40-》45-》41-》45-》进OS,看起来时没有读到电池的状态所以一直在读。
' D0 {! J+ g! b% ^( q  HDevice(BAT0){' O1 R, Y& X: w* n8 c
        Method(_STA){
6 }- k4 r$ |* O: z6 r                Store(0x0F,Local0)        // Initial state = Absent
0 q. X" T9 H( |$ Y                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?% N, C; W/ q+ E8 B' v9 x* s
                        Store(0x40,DBG8)
5 P- H, q4 w. X4 s9 B$ C1 P                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000
. z, X$ J; a7 z9 y+ s+ K$ s7 M' U                                Store(0x41,DBG8)& q. C! y+ E% X. k
                                If(\_SB.PCI0.SBRG.H_EC.BPRS){9 D5 y/ M( A7 S: O) F4 G: |& u8 C4 {
                                        Store(0x42,DBG8)
3 F# e) I3 t  T+ ~8 h# t3 F                                        Store(0x1f,Local0)        // Battery Present
- ?# H% v7 Z& J) e5 I2 m; `                                }# y* K/ r" n2 y/ i  @
                                Store(0x43,DBG8)2 U2 I0 L* v( G% J' G! s4 k
                                     Release(\MUTX)% Y3 F4 r' G+ b3 i; v, `+ y
                            }
& r' v* C, c" e, V                  } // End of ECON: O5 |' @0 Z7 O: j1 p9 a% F  Z
                Store(0x45,DBG8)
* V* n1 J3 ^" i% Y                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )
3 f* w. @1 K9 N$ U        } // End of _STA$ s# b. i1 j0 T3 \
}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  3 I: S6 K$ `- x! i$ _1 o7 j
系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时
+ x9 O5 f0 ^/ y9 W6 j! l0 i加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  - p$ U8 N' G& F: ]4 g& m8 p5 e8 j5 c
给你点灵感 呵呵
回复

使用道具 举报

发表于 2010-12-5 18:57:12 | 显示全部楼层

望望

望望,打酱油!这个论坛人怎么这么少啊!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-12 00:48 , Processed in 0.066720 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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