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

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

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?
& A, [3 W$ V+ X我所知道的:
$ h9 {5 t: `  N2 o- c8 G(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;
1 b) l% w; b- a' T7 L% C2 ?; n(2)BIOS通过SHM到SPI Flash上更新数据;
& N& b/ P+ B# v, f(2)HOST通过PM1端口与EC交互键盘的标准命令;8 l7 M% ^/ T! M2 c4 t) _( V
接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
3 C( C; h; Q( ^) {8 q3 `8 i- e2 q! M4 P. j
小弟出入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启动进度条。- v0 p- v+ h  [

8 M( _7 N4 z9 N/ r7 `6 `2 {这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;8 [" J. I3 r, f1 m
2 T& C/ S0 f, o6 w; e
还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

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

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题.. U6 R: ?6 r1 B
2.调整一下SCI#信号的脉冲宽度试试看.
: ^* e3 |- v- N  u' j: `3.让EC架串口debug抛一些信息出来看看.! c8 _' t" V4 `8 c9 A! V1 z
4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。( E7 Z9 n& C% \8 B" w
或者将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,看起来时没有读到电池的状态所以一直在读。
; q+ M: q# i1 D, C: d% W/ eDevice(BAT0){+ T$ y' c6 Z% Z0 T
        Method(_STA){
  k# s3 t4 }% ?                Store(0x0F,Local0)        // Initial state = Absent6 ~/ E. X. g$ h3 E& d# a
                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?
0 {8 C2 h7 D! S; A+ W+ A" l                        Store(0x40,DBG8)* C& u9 s2 @/ v5 {6 Z; O& P
                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000+ e+ `% |: E3 \; {$ _
                                Store(0x41,DBG8)
% r$ c" Y5 T# U6 l- [; ~                                If(\_SB.PCI0.SBRG.H_EC.BPRS){
# k/ a4 j3 _( V9 }) X1 @; g                                        Store(0x42,DBG8)
6 C7 h) l7 c: ], |. H                                        Store(0x1f,Local0)        // Battery Present
6 R7 G# o( m( |5 ?' E2 d$ W6 ~                                }( X2 C; k7 _* Z* b$ @9 l  [
                                Store(0x43,DBG8)
$ L  z# e0 s0 s& E                                     Release(\MUTX)7 R7 A  H& @, z+ ]2 U
                            }
) c0 b! Z- X7 }! W# N( h9 r( `' {                  } // End of ECON
* K% A, N  B- R7 A% M& [5 W                Store(0x45,DBG8)
& W: ^% j& c5 T& p                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )
- {+ Q- y( g) F: Y        } // End of _STA
* R  m; H( n) q& o5 J7 `}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  + ?' \/ E4 Y2 G( U8 u: I( z
系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时* \3 d4 O+ P% J( @9 l  \3 E5 `/ c
加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  
3 X1 Z* p, R2 O8 {# x给你点灵感 呵呵
回复

使用道具 举报

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

望望

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-21 17:31 , Processed in 0.046466 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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