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

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

[复制链接]
发表于 2010-1-11 15:00:05 | 显示全部楼层 |阅读模式
请问各位老大,在S5->S0状态过程中 EC与BIOS之间都需要进行什么动作?
2 J& N* n/ d, @1 k1 k/ y( ?/ g/ v我所知道的:
9 _0 _. @' {" o/ m) g0 o  B(1)在按Power button后,EC跑上电时序,需要SCH与CPU给相应的反馈信号;
. v8 u$ N$ }" v" T# t1 B(2)BIOS通过SHM到SPI Flash上更新数据;
+ X; _7 t. u2 L/ j  A. |+ z(2)HOST通过PM1端口与EC交互键盘的标准命令;% \7 ~# `2 O. o4 g
接下来到XP启动阶段BIOS还需要EC配合什么动作?希望各位兄弟指点迷津啊,目前我们的EC & BIOS配合无法正常进入XP系统,只能够在LCD上显示Windows启动进度条。3 Z0 {! Y2 `4 H: V6 ^

# Q5 Q; S; B$ B8 A" I+ p, a小弟出入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启动进度条。5 P5 Q1 ]; Y# D: y+ S' b
+ U' ]$ O! f; N
这种问题一般去查几个地方,一个是ACPI mode enable,看你的BIOS code 里面是不是会透过PM1下cmd给ec;
2 ], \  t: u" y4 e+ |) B* e4 |! U" C1 c4 {) _% C
还有就是xp会访问EC.asl 里面op region里面的东西,这个就要EC 返回正确的状态,不对或者是没相应的话xp启动就会牛慢。
回复

使用道具 举报

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

回复 1# tequlia 的帖子

1.请检查EC ASL code SCI pin 配置是否有问题.7 B+ O  }' N' E* d: F
2.调整一下SCI#信号的脉冲宽度试试看.
5 j/ ^$ n$ n2 H4 i- \0 p4 n& v3.让EC架串口debug抛一些信息出来看看.1 z% c. W: A9 R6 r% ^9 f6 V, }* m3 \; R
4.将EC asl code中有关EC ram space,Battery,AC,Lid..等device的状态不去读EC ram,直接回状态。
6 B- ~8 t3 z  T" P或者将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,看起来时没有读到电池的状态所以一直在读。
8 w2 Z  H/ q8 ^  K. @Device(BAT0){9 F, Z7 J/ e  Z9 X; F/ ^. J
        Method(_STA){: p; M8 F# N/ k4 s4 G
                Store(0x0F,Local0)        // Initial state = Absent2 f) N" I* {* v( z
                  If(\_SB.PCI0.SBRG.H_EC.ECON){                        // EC driver ready ?$ C( \+ M- W# p8 C5 J! ~
                        Store(0x40,DBG8)
7 N3 O2 l0 K' m) y                        If(LEqual(Acquire(\MUTX, 0xA000),0x0)){        //tony change to 0xA000( s2 P/ S6 o, t) p& G! D3 E
                                Store(0x41,DBG8)
$ c- O& c5 d, ^( R: _                                If(\_SB.PCI0.SBRG.H_EC.BPRS){
6 I4 r6 ?1 Q( @& x                                        Store(0x42,DBG8)
5 v0 b4 p$ V, }                                        Store(0x1f,Local0)        // Battery Present! T, C1 l6 n6 O8 j
                                }# d" r. C5 }3 p/ }! ^: _% ^9 j
                                Store(0x43,DBG8)
2 r' g* P. m$ f6 w                                     Release(\MUTX)
" X/ _( s# O: \; A                            }% y8 G, v2 F, p; p
                  } // End of ECON
' Z0 n9 y9 ^0 _! ~3 |. P# X                Store(0x45,DBG8)5 S3 [: f: A4 ~
                Return(Local0)        // Return Battery Status// ( 1F=Present / 0F=Absent )
/ G8 J* M8 h& i! f9 S        } // End of _STA! B; N. |! f0 p7 q. V
}
回复

使用道具 举报

发表于 2010-12-5 12:20:39 | 显示全部楼层
我碰到同样的问题 用的是win7的系统  在开机时在带电池的情况系反复插拔适配器时  * }( n, y5 i4 E) b/ N
系统进入的超慢  sci的时间宽度来回的调也不行 最后解决的方法是在sci命令发出时
8 B9 V8 [! v5 ]1 J  O, Q5 T4 P* [加个限制条件 if(os_apci_mode)  这时就不会出现系统慢的情况  3 q/ W$ M& V! Z( A# n
给你点灵感 呵呵
回复

使用道具 举报

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

望望

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-13 14:31 , Processed in 0.031703 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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