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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.8 J% M, N0 Q! i4 [$ ?$ d
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。# V( }* p5 }; ]* {+ b
代码如下:5 Z! N1 H0 |! i, l; Y% w& ~8 {
VOID CheckForKey( EFI_EVENT Event, VOID *Context )! Z3 A6 r8 m3 f$ ~6 Y
{* }, f/ e1 t  B4 A. \

- c: g6 i  S5 G5 Q" J* X' r: b………..  
. z' R# `# Z3 j+ ?+ u! \  UINT8 Data,Data1;6 F& g7 \% u; [7 u6 L

3 W8 {; C/ E8 h1 d4 q    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);. t- Z7 R( }" N  S3 X
     if (EFI_ERROR(Status)) return;- d  s% y% u: e$ `* G+ s9 U2 O- p
    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type
5 i+ A- p1 `# M' T        if((Data == 0x18)){6 }! P. J5 a; ^3 G
          return;}3 e2 j3 Z' I5 g* g  H! |% {: e/ ~
……….…….- T2 c3 V1 c* ?5 Y. _7 F6 J
}
; }. U. `8 I. m  |; U+ t3 s  u可是仍然从S4回来可以进入bios setup.
  _( r8 u2 O" G5 K4 @( U我想问1。PMBASE是不是在S4回来后被清空?" d5 J; ?, c% W5 ]* H
       2.是何时被清空的?& t6 T" r8 [5 X$ ^
谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;$ G& b, B) d) B( {  F- L
所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!
+ z9 C$ [: @1 S# R4 |! J- k个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-25 19:01 , Processed in 0.078621 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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