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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.
7 x# N) H+ w/ T6 {我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。
  k- j; y# A8 }8 o代码如下:
( ]: J: K4 F8 O; l" z1 i1 v* ]2 sVOID CheckForKey( EFI_EVENT Event, VOID *Context )/ \! L7 h) Z) e2 j! {! l1 `
{
8 K2 C4 w7 n4 ^7 o% O/ c1 n& E
# O' \) K  k6 A………..  
- |! ^" |' ~3 T  UINT8 Data,Data1;
) _' c. f/ P2 A! z. Y3 d% p) U5 j! c' U& t- f/ `0 U, W
    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);: U. [9 F& f; I  G6 |7 E7 k) ^
     if (EFI_ERROR(Status)) return;
9 Q: P2 p2 A4 V. b2 O$ F; x1 `    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type
# r/ Y- Q9 f  F" [/ h        if((Data == 0x18)){
% x% }6 c; a0 x" w) m( N          return;}
( {6 u/ O( f+ q! A……….…….! b' [& u/ a$ G; C2 G
}
  E# W/ b9 Q9 F2 |) m4 e9 k可是仍然从S4回来可以进入bios setup.
7 e$ f% _# u& I% U我想问1。PMBASE是不是在S4回来后被清空?
$ a; b$ Q0 R$ f! V5 K' H& e       2.是何时被清空的?
/ N$ d# n  {$ G2 O$ |3 X( h6 l" m8 m谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;* |+ {! Q" Y6 P4 ]
所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!3 L; A# m. m! s" f/ x/ e, U
个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-1 01:42 , Processed in 0.439677 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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