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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.0 x2 `! j+ Z# Q% G3 j  Q# W9 Y
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。5 R: [8 \: e/ l$ b
代码如下:$ t$ l1 k) C$ a& w, F8 ^: j
VOID CheckForKey( EFI_EVENT Event, VOID *Context )
1 v/ F. w% J0 Q{
/ Q( N% ]! j$ o2 ^6 F6 [6 |1 t7 |+ W5 v' E: i( H+ J$ C
………..  5 \+ c4 U, j3 z3 {! V) |
  UINT8 Data,Data1;9 A+ F2 k; c2 d' Y5 d* Q* C
" `  p, U: E0 v4 W0 r+ k
    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);
, R6 m4 C/ Z2 A7 Z! i3 z     if (EFI_ERROR(Status)) return;
! _. |0 d' y$ a  ^$ A* ~    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type% Q5 z. m  }6 |# l
        if((Data == 0x18)){
% D5 m2 e) f8 O* ~3 z3 M) ~          return;}) }: u5 D; F4 q. I6 q2 ]+ L+ R
……….…….
% u. U9 u5 {; Y& A}
  }! F9 H& p& M8 _# ]2 C# H可是仍然从S4回来可以进入bios setup.
* k: ~( I) S. |. \. M! H9 U我想问1。PMBASE是不是在S4回来后被清空?% I9 f. X5 h: L" f- f! J
       2.是何时被清空的?
/ ^# W$ d- R1 d% S谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;/ M6 Q% t) n0 q6 I8 q0 H
所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!
, C+ |0 {$ H- t8 j0 j! c' ~- j8 [个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-9 13:31 , Processed in 0.072123 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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