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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.( ]: J/ |, A: v2 Q4 m# {0 B9 M
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。/ M, P- _- v- k- m9 z/ A
代码如下:
4 Z' f6 M" a& p0 V' }7 R7 g6 XVOID CheckForKey( EFI_EVENT Event, VOID *Context )1 k( \" U7 W- M2 y: H* q# S2 V
{
- ?% c2 n; f. V) i% q3 n( Y) l" ]& `
………..  + M  G7 Z* Q- M' s/ Y
  UINT8 Data,Data1;. r- t7 ?  r& U0 M' e- n
$ u  B5 T+ D9 X8 _. ~* ]* J' {
    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);
/ y  L5 {+ ?  k8 n     if (EFI_ERROR(Status)) return;) V4 G' Q% V2 X7 y" \, ^
    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type! ^8 z& p* q4 E; ^* P5 p/ o
        if((Data == 0x18)){  x! [8 e& ]- J6 F0 V* o
          return;}
4 {7 U  F" o6 @  P……….…….! L& J- f' a7 i5 H( {. Z0 `9 P
}( K: ~& Z- J& s5 c! N
可是仍然从S4回来可以进入bios setup.
& E- H- o: m& ~& d我想问1。PMBASE是不是在S4回来后被清空?! w4 j7 I# z1 s
       2.是何时被清空的?
1 w* ?6 d+ V( `3 N8 ^( ]: O5 \谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;$ F: V4 P* c/ T! ~9 ^
所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!
: |# E0 |" }8 R4 X& d! p* E+ s0 K个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-8 07:05 , Processed in 4.519339 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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