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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup." _. _( Z7 f- I
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。7 R0 U1 b) C0 \* F3 r3 w- s
代码如下:! B- K! V( z( g0 f; e
VOID CheckForKey( EFI_EVENT Event, VOID *Context )% K* |5 C' D+ K2 G! L, g1 ]
{
3 [8 v4 r- F. `  `% a5 z5 A, r7 p; s! t7 m, _" p
………..  
  U# t; o0 |; Z; U0 L' t, E3 j1 |$ J$ r  UINT8 Data,Data1;
0 u" f4 g( a1 o! ]# D  q+ e* B, W. g( W; Y
    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);
1 P- O; H: k8 {     if (EFI_ERROR(Status)) return;5 b% k0 X3 o& d( Q: j
    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type
9 I) l# [+ |' T. h1 F3 b        if((Data == 0x18)){
& h$ u+ q! R  {, |/ s$ Y( A; \' o' f          return;}1 Q9 x$ Z! i9 m9 Y4 Q  G; }( S; R
……….…….% b0 ^& a: i' w& u* T
}( v4 H1 b* d$ q8 a
可是仍然从S4回来可以进入bios setup." U0 V4 `/ F& ], M3 Z4 o+ W
我想问1。PMBASE是不是在S4回来后被清空?
; T. ~: x: B6 q. m2 h' U       2.是何时被清空的?
4 z2 r; Y0 o+ ~" L! a9 n谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;0 n5 o$ x% d9 h- w. I
所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!7 L  p4 J* p) [/ H) k
个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-11-3 21:36 , Processed in 0.086966 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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