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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.
3 A! g0 w* T  l, s我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。
4 W' Z! G: X+ Q2 T3 [代码如下:
! R' N( n7 ]; N& U1 Y9 NVOID CheckForKey( EFI_EVENT Event, VOID *Context )" a% y* q' R" _  f
{1 C+ s9 X3 I, n8 h- g( F1 }9 ]# z

4 l" o; `$ O3 ^. f! X………..  
2 G1 R9 r3 F: p3 h8 \7 D" G  UINT8 Data,Data1;
4 N" D! x9 p/ p' Q$ ?
3 h+ r5 p2 a& C; v4 f; |% y    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);0 j: r  r7 j/ L1 \- z
     if (EFI_ERROR(Status)) return;0 O' A0 _4 K: x7 Z. V
    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type3 a! Z7 G* J! D& ]9 u0 X2 s7 Y6 h& S
        if((Data == 0x18)){, k7 n9 |9 u* w& a4 X5 c; d
          return;}: \" L8 w6 L  }) |# q0 k0 y  z
……….…….4 g+ K5 Z7 x- ?0 M, I. u* d6 ^
}
% q# |2 Q) E# J: y可是仍然从S4回来可以进入bios setup.
% Y: |" v- l* g: b% `& z我想问1。PMBASE是不是在S4回来后被清空?
  z3 g6 g# i6 x/ y# I8 G" v       2.是何时被清空的?3 |# [# b& M8 X; t8 U1 N6 @, N+ k/ L
谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;
) A& q+ S5 h6 R- f) Y$ E) o所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!
/ x6 S1 @! ~8 j8 p9 R个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-4 18:22 , Processed in 0.075506 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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