|
发表于 2009-6-1 13:15:27
|
显示全部楼层
继续回答你的问题
继续回答你的问题:$ [! @5 I1 B4 l6 s6 N2 _* c& y! u
1.写一个IO port driver就可以读出cmos中的数据,但是还需要读取南桥获得RTC_EN以确定是否始能,所以还是有
" C6 x: I ?" d/ P* a8 T9 m$ Q, h点工作量的。当然你可以用SE或者RW check相关的register。
) _6 w* a" a, x. `& [, O) N# q7 K2.NULL) s, p. ^& n1 _, z! [% {3 }
3.BIOS中设置Wake-on-Lan设为enable并不会修改ACPI表格,通常BIOS会将Wake-on-Lan enable的信息保存在NVRAM中,这个CORE 8在SSP中有设置;接下来在OS下s3/s4/s5 BIOS会check NVRAM中的信息,据此设置相关register。而windows下通过lan driver设置的wake-on-Lan ,lan driver则会做个记录,而且透过ACPI asl code _prw function driver可以获得相关的PME/GPE enable register,最终应该也是在S3/S4/S5的时候设定register enable。至于你使用powercfg /devicequery wake_armed查不出结果可能是因为你是通过BIOS设置的,而不是使用lan driver设定的所以windows没法获得相关的知识因此而查不到。
. v! s) _* I" P3 u `: J8 p M2 h! v) Z# [( X
以上如果只针对单一平台写个程序有可能做的到,如果要通用的话就很麻烦了。 |
|