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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.. [( y/ q0 ]# B0 w: g& m7 S
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。
' d9 {6 k" [+ ?9 h" V  Z/ X代码如下:
* S" Y2 l' @. OVOID CheckForKey( EFI_EVENT Event, VOID *Context )
% P6 h% Y: F1 u6 A8 [{
8 j( y) z/ s1 Y1 `" W8 q/ o7 ?6 x! J, t* y1 ?( w
………..  
- m' T0 _% c0 t, J9 [2 x  UINT8 Data,Data1;
, I4 e3 F( S; b/ Q1 v9 K
  y# o$ R# X6 Q4 c1 a& n+ J    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);
4 z4 R5 x# G! c     if (EFI_ERROR(Status)) return;
- I1 u+ B& F. a    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type0 t2 R: B, w' g- P
        if((Data == 0x18)){
4 ]/ N$ W% _; ]( f          return;}" t8 M4 ^* j8 D  X9 c+ c, k  P1 H2 ~
……….…….
) I& l2 U  s4 f8 E5 G. D3 h}6 x9 t$ @' U, A4 h
可是仍然从S4回来可以进入bios setup.8 \- Z5 G/ |0 H4 U- Q& Q
我想问1。PMBASE是不是在S4回来后被清空?& W2 q0 m* {8 L' u+ ?
       2.是何时被清空的?5 v8 U' T# O( K; R. \$ C
谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;
! t' |. ^# g  |: V& [所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!& E# W5 y) L, ]
个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-16 10:40 , Processed in 0.093914 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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