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

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

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?$ ~" V- W+ z$ {( Z2 ], }. t  x
我所知道的:8 l! S: Z7 b! e. |2 f6 U: X( q
(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;  H; N4 w* Q+ v
(2)BIOS通过SHM到SPI Flash上更新数据;$ C" ]7 V" X" j( a+ i8 E) Q$ w  h
(2)HOST通过PM1端口与EC交互键盘的标准命令;3 T+ y* U) A4 S
接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。
$ O# c1 o  L, R% f3 F% V9 x$ |2 M9 l- r# @( c
小弟出入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启动进度条。9 W% v0 Y3 J4 D; r; L7 m$ d( M8 J% _
+ J. L% L7 t% `6 B, j( \* ?; S
这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;
$ c; u9 w$ X# O* @
3 h( [- Q# X7 i+ Z还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

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

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题./ N- G- p6 Z  U3 k4 b1 e
2.调整一下SCI#信号的脉冲宽度试试看.
# ~/ @+ K- g# x. w/ F" G3.让EC架串口debug抛一些信息出来看看.
& k! w( t5 V8 W4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。3 m# E/ H9 k: g) M: Q
或者将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,看起来时没有读到电池的状态所以一直在读。
' ?; v: W- s: tDevice(BAT0){( Y1 x; W! M/ U& l7 i' |
        Method(_STA){
) V! s! }; c3 ^$ E& x0 g. J                Store(0x0F,Local0)        // Initial state = Absent
! ~, k- s0 v8 _8 Y                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?
% g8 z2 m7 @! F: _7 N/ N2 z8 b9 Q                        Store(0x40,DBG8)4 d0 ?$ v" h4 ]
                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000. k0 x1 i" h( `; d3 l* i4 ]
                                Store(0x41,DBG8)/ H3 u3 l* u7 h* m/ n  _* K6 j
                                If(\_SB.PCI0.SBRG.H_EC.BPRS){
3 v7 c1 h" N+ p: T! B3 T                                        Store(0x42,DBG8)0 K- `2 N. A3 c6 t
                                        Store(0x1f,Local0)        // Battery Present% i/ i" F9 _4 [. @/ N
                                }! `( b: ?+ J. N: P( N! b) ]
                                Store(0x43,DBG8): @; N3 a5 F- M1 P
                                     Release(\MUTX)( _- J1 S; a& j
                            }2 q8 A5 c- M" q0 w/ e% P$ s$ W( `
                  } // End of ECON' K" N9 i: W" W$ I
                Store(0x45,DBG8)
4 V' k5 e! k: a/ }  A& a$ [. J" @                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )
6 y+ S: L2 C$ h% y7 t0 A# Q3 f        } // End of _STA
& i/ O% b+ z* a) P}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  
% A2 M* o7 n& r/ B& l系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时. A, I2 O6 K8 m6 K/ x
加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  
& _: J2 O  P! O% ]/ h给你点灵感 呵呵
回复

使用道具 举报

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

望望

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-21 09:46 , Processed in 0.042511 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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