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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.1 z6 X5 w5 Y; t9 `2 a2 t
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。1 D& ]& ^" m6 P2 @8 O3 d) e+ S8 _
代码如下:- g4 Y# U9 Y9 Z' t# u
VOID CheckForKey( EFI_EVENT Event, VOID *Context ), ]5 K  {% M( P4 y
{. V, }" Q1 N) u+ H. o4 i( j# [
8 x& B$ Q  o7 g" J
………..  ; v* `! W( g6 s  f( ]
  UINT8 Data,Data1;
( a/ X" f1 m& [; \5 X# i
7 T* h# y- D1 l1 C    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);% m8 D+ X3 o- I- _
     if (EFI_ERROR(Status)) return;
( w# z2 M8 H+ N% U    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type
: u0 L  o6 J& I  Z        if((Data == 0x18)){
! i* n* m6 I, k/ h1 g; Q          return;}. f; H/ K0 [! p
……….…….. h3 t8 J$ v+ e6 z1 e
}
" c* _; ~$ F) n8 e- C可是仍然从S4回来可以进入bios setup.' t& W- t1 ~0 h! T& ~+ A+ [  v! m
我想问1。PMBASE是不是在S4回来后被清空?
1 D" u9 Q0 S; l; N  Z, L6 s       2.是何时被清空的?* N2 ?" E8 A0 Y; w1 u# \% S9 q
谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;
5 e$ S0 [4 |5 b' T所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!
% \* p" f6 N  C! r" c; a个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-18 18:19 , Processed in 1.798787 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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