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

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

[复制链接]
发表于 2009-5-15 15:48:20 | 显示全部楼层 |阅读模式
大家好,我在接案子的时候遇到个bebug :从S4回来可以进入bios setup.
" v( T! ]( }3 u4 A我的解法是这样的,在POST的过程中系统检测按键的时候,我加了段代码去判断PM_BASE+04h的BIT10 – bit12是否等于110b。4 _- w! J4 r5 k1 A- q
代码如下:
$ Q7 s! v: k0 K! IVOID CheckForKey( EFI_EVENT Event, VOID *Context )
& ]3 m- m; X& W{* b6 D7 {/ f/ D$ t* b5 y+ q2 f+ r

# D8 _# q# N; Y………..  * }& L, Z) x; e* W' C
  UINT8 Data,Data1;6 z& `) g5 p. ]% J# q" e' l

2 `1 p7 p/ l1 W, y    Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);
, _2 ~# O/ ~: M, Q  G$ y  d; E     if (EFI_ERROR(Status)) return;; L5 f8 w+ p4 s' D! e
    Status=gCpuIo->Io.Read (gCpuIo, EfiCpuIoWidthUint8, 0x405 , 1, &Data);  //read PM BASE register 0x05,Get sleep type9 L  o, N8 [( m) C+ Q# v, h+ f7 x
        if((Data == 0x18)){
* c" I3 z2 g7 C5 W0 g. ?3 g+ b0 V          return;}
& T4 Z! l( I5 |  I: V# W……….…….
9 n4 Y6 e! w/ M+ _}
1 A3 u% l5 V/ T0 V! T' T$ K可是仍然从S4回来可以进入bios setup.
6 W" p; e" z5 z$ |' z9 t5 l我想问1。PMBASE是不是在S4回来后被清空?
, A, V; ?9 m' w5 |+ ]- k+ k3 [       2.是何时被清空的?
2 u5 a5 _2 q+ A& C1 Y: \谢谢
发表于 2012-5-28 11:24:42 | 显示全部楼层
Power Management 1 Control Register 这边的register应该在S4状态下就是被清掉的,因为当时已经没有电了,也不用那段code特意的清掉他们,直接没有电了;
8 @( P% V: e% R* `# Y所以你那code不起作用,你可以在进S4的时候,写systemflag到CMOS,再进行判断!9 w# U5 [+ @4 m
个人认为这样oK;
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-8 08:09 , Processed in 0.050698 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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