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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.# v  b3 \* G0 M  w
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。
  m! s% a# _6 i+ e8 j( D代码如下:  A. S4 G* T- K& F
VOID CheckForKey( EFI_EVENT Event, VOID *Context )6 D$ l8 k' O5 P0 x- D& V
{6 ]. Z3 J$ i% e( U1 @

: n/ ?/ @: D) Q7 {( Q. g$ C$ B& z$ m5 C  K. }………..  . f+ @7 S" U" B& [( C# [1 z
  UINT8 Data,Data1;
" R2 p* k% [8 @: |% G1 W% ?8 S% ?2 w) J9 L  r( I& y
    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);% H+ z4 [; s) E* M4 N) x5 P
     if (EFI_ERROR(Status)) return;9 M+ n0 e) o7 n- w/ b& H1 b1 f
    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type3 J7 u" f+ ^; K- L. `
        if((Data == 0x18)){
7 e0 E. G2 c8 x; y9 M8 J          return;}! @. E# f$ d* p7 V0 ]9 @
……….…….$ d9 ]$ r, K& [; Y: ^9 f( L
}" ]6 H" m, v9 @
可是仍然从S4回来可以进入bios setup.
. R0 S9 W8 ^# T我想问1。PMBASE是不是在S4回来后被清空?
/ `+ {- i$ w, t       2.是何时被清空的?
) Z' h  a9 K" o! C/ E) |谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;0 M, j! ?) w& ^& M# B
所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!
. [. n) g+ {* K0 t+ d6 A8 x$ t个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-4 18:55 , Processed in 2.711153 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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