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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.. B3 Y3 _/ V/ l4 z
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。! g. q  f( b1 k$ A( e7 g
代码如下:
3 T; _5 p, ]; ^VOID CheckForKey( EFI_EVENT Event, VOID *Context )
# I( n6 i; b$ m/ |{! Z$ m/ P9 q9 }) g
, v3 S$ L5 L5 n7 v
………..  
$ F* c# e# J$ i: h6 u  UINT8 Data,Data1;3 q# b  ~: _6 i2 m) q, Z

1 ^. P# {0 d0 Y    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);
! E7 s  H3 j7 p* b7 |% n+ \     if (EFI_ERROR(Status)) return;
  K" ^( X+ q5 D    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type$ W- G+ _! [/ ]! g2 J
        if((Data == 0x18)){" {' p) z4 F6 Q/ E; O; y! \
          return;}& p  ?5 l3 |% h5 a
……….…….
% c- Y  A2 j$ b; M}. H8 d7 \* `! Y2 o7 A
可是仍然从S4回来可以进入bios setup.
- ^1 B: T+ l; j' Z我想问1。PMBASE是不是在S4回来后被清空?3 B" u/ Y4 ~: o# w" M' f  U% k6 Y
       2.是何时被清空的?
2 ^! N$ s! C( ~  C* O谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;& l9 h% U) z' n2 i5 Z5 N
所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!
9 V- P8 i9 h0 p& r1 s8 ]个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 16:01 , Processed in 0.022350 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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