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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.. _5 _3 c- p3 ]' p4 M! |  D
我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。4 }( z. }# j. d  g% L: t! H. @
代码如下:/ z+ G6 T# r% g% H- P
VOID CheckForKey( EFI_EVENT Event, VOID *Context )
3 K  T8 v' V* S. H, m) t7 |{
' S8 g4 n! f4 B- f0 e6 n; K& b
+ c; [% g9 l6 o1 d0 k* W………..  ) U  }, q0 p$ K- y) `
  UINT8 Data,Data1;& r8 c4 {, n2 U$ j
7 G+ Q- z7 a2 @) w6 a1 m
    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);  }" F+ Y; z1 J, e5 n
     if (EFI_ERROR(Status)) return;
. V6 p% B  C& z. l; e6 s    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type
( v6 B  e4 k9 E! h* j( X        if((Data == 0x18)){
  y7 Q+ k5 G" M' ~          return;}
; N$ g: s$ n& x- j% W……….…….7 E. ~: R) F  j
}
8 A* v( k# _7 f1 l: e可是仍然从S4回来可以进入bios setup.
3 S) |, @# O* \5 ^" g- s我想问1。PMBASE是不是在S4回来后被清空?- b! C, k( l& {5 u! _8 o) W4 ~
       2.是何时被清空的?
4 m& {0 g1 F9 z" V/ S6 ]2 E- k谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;
1 u* u: R- }) c# G7 s所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!: M* T6 {' {6 J# }) S
个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-29 01:54 , Processed in 0.027896 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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