|
|
因为系统要在某个特定的情况下需要特别省电,然后回来要特别快所以没有办法用S3,我现在想了个办法是, 要进到这个特殊的用户使用模式的时候触发SMI,在SMI handler 里面通过一个while(1)循环把cpu放到C4。 为了从这个特定的模式返回所以在这个循环中会在每次从C4因为interrupt而返回的时候检查 ICH 的某个GPIO,如果电平没有变化那么就继续把CPU放到C4,否则的话就从 SMI handler 返回。 而这个GPIO从L到H也是用户按键,通过EC firmware 来做的。
2 O0 D- C4 W, `8 _
1 |; {( I( t% z& U: K. T, V现在的问题是: 持续的把CPU 放到C4 我从数字电源上看到的功耗并没有丝毫的下降。。。4 I' j0 T2 y9 f( r
& y8 b) L, `; Q; r3 ]: z+ M
不解是为何? 按照c4的说法至少CPU这边的能耗是会下来一些的呀。8 X8 H/ Y( Z7 D1 N3 t/ Q1 @6 v
4 o) U, Q6 h) @) D) b7 T5 y2 v
另外想求教论坛的前辈,有没有其他的办法事先我所需要的这个功能就是在某种情况下shutdown CPU/Chipset,让系统的功耗降得尽可能的低,同事要保证系统恢复到原始状态的延迟小于10ms。 |
|