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

bebug :从S4回来可以进入bios setup.

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.0 ?/ ]' \, |" A# Y: V
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。
& `5 T2 K4 A5 ^/ q! R  e2 f# E代码如下:# J! Y/ p; ~& R! i0 n$ {0 o
VOID CheckForKey( EFI_EVENT Event, VOID *Context )
$ L3 ]+ X0 p% X{4 Z; _7 X) F# p, X3 \
1 L1 |; L& P6 @) H) {# N, y/ D) a
………..  ( S, w3 ^% |- u" m1 F  Z
  UINT8 Data,Data1;$ M$ x) ]8 ^6 R/ e9 t

2 \+ o" Y7 A) u- C    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);% d8 V  w- s8 F
     if (EFI_ERROR(Status)) return;5 u/ ^& O6 O" R4 L  X
    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type
3 ~1 e3 H' T) D& v1 ~- f9 p3 J        if((Data == 0x18)){# b8 K$ A5 Z( R2 {
          return;}7 W9 P# A7 ]1 T: r* q- p! W
……….…….
3 i/ [! j" ~4 @2 K8 B& e}' i# W1 g6 d5 y- V" h2 S* }* ?9 U
可是仍然从S4回来可以进入bios setup.
; C5 ]3 V& L/ L0 b我想问1。PMBASE是不是在S4回来后被清空?
& U7 i9 {% l; C, N& \  Q       2.是何时被清空的?4 r5 Q- ?" ^3 {  _& j% [
谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;
. J  @" L9 }$ L5 N$ i所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!
& q. H4 ]" g& N+ Z, {& B% d# ^个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 16:52 , Processed in 0.026629 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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