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

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

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?
: }/ U& [0 H2 g: u4 ^" G) j我所知道的:
0 i/ o5 M/ h- u: A& \6 r, ^(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;; ~6 M5 K( L  A5 K* M
(2)BIOS通过SHM到SPI Flash上更新数据;
$ s7 h* u# g+ y) k1 A  d: T8 k(2)HOST通过PM1端口与EC交互键盘的标准命令;
% X' U7 U2 ]+ ?* K接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
3 Q* ]( z' }0 X/ P! _' Q6 z
  L9 t* R0 _0 Y6 x. G7 K小弟出入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启动进度条。
. u  X+ L/ S; F3 f  M0 e" F9 g" o/ K: X4 `8 }
这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;! q  {; @" K3 z& D8 z, n' [. S

. b' S6 X1 [2 D, b$ ]( I; w6 i还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

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

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题.6 N+ u% J: f  d- D6 V
2.调整一下SCI#信号的脉冲宽度试试看.) P% ?, Z; O2 }+ C; H* `0 `2 U
3.让EC架串口debug抛一些信息出来看看.
+ X+ u" a- @4 n4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。8 S+ O8 ~+ ^$ i0 z
或者将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,看起来时没有读到电池的状态所以一直在读。; X. `0 |7 L6 ^  E" y  Q
Device(BAT0){4 ]; w5 {, x" p( s6 p- r
        Method(_STA){
) x: [" e. Z! y                Store(0x0F,Local0)        // Initial state = Absent  t" M8 P7 i+ P' d4 G" G6 t
                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?, `6 K! j7 k; ]2 j$ f* N% N
                        Store(0x40,DBG8)& S3 [4 e' h" Y" P$ P
                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000
) ~8 |3 o5 c) a6 E# d                                Store(0x41,DBG8)
; k8 U4 S# M6 ?$ z4 s                                If(\_SB.PCI0.SBRG.H_EC.BPRS){
7 C4 Y  I; t$ ~, `                                        Store(0x42,DBG8)
* z+ H5 M9 a, s5 N* A5 @4 f! y                                        Store(0x1f,Local0)        // Battery Present
( J& `' X& g4 F8 u+ a8 {                                }! `8 F6 v; o, k, D. C- ^
                                Store(0x43,DBG8)" o- H6 n2 }! i& f' q: X* N, W
                                     Release(\MUTX)
% t. g, Q4 B* \% V, a, K9 Z                            }4 M3 C2 J8 B/ U% M. Q8 B4 W7 V, x& h
                  } // End of ECON
& v  ]+ H& t( P7 a                Store(0x45,DBG8)
/ O  ~0 L" B9 H                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )
8 O+ {; e  r( s" l, X: n6 A3 P        } // End of _STA
, r9 S- J4 V* E' U7 O6 p}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  
) B# e4 Q; \. k/ m1 C; D系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时) R( Y  ?- {% r0 b: l3 y
加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  
, M: ~# |' o# N7 B% U4 v给你点灵感 呵呵
回复

使用道具 举报

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

望望

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-16 19:24 , Processed in 0.035188 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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