linux进入s3 s4,系统进入S3,S4,S5的最后一步

一直都不怎么懂,在我们关机的时候,(如在dos下按了power button,在Windows下按了shutdown),计算机最后是怎么关机的呢?肯定有一个通知硬件断电的动作,后来问HW工程师,知道硬件上有S3,S5和S4(intel chipset)的信号,当其中某个信号被拉低的时候,HW上会有相应的power sequence也就是断电时序。

而s3,s4和s5信号一般是由南桥发出来的,按照ACPI spec,chipset都有SLP_TYPx和SLP_EN这两个寄存器字段来控制HW进入相应的电源模式(Sx)。

所以,当我们在Windows下按了shutdown后,OS和driver会做进入s5的一些动作,然后OS执行_BTS,_PTS和_GTS(如果都有)三个ACPI规定的方法,最后将5填入SLP_TYPx寄存器,设置SLP_EN想让HW执行S5的sequence.

就这样结束了吗?那在dos系统下关机有时谁来填的SLP_TYPx和SLP_EN呢? 只有是BIOS。

BIOS会设两个SMI,一个是由power button触发(当按power button时),一个是由sleep event触发(当填SLP_TYPx或SLP_EN??时)。所以在dos系统下,按power button时BIOS会在处理其SMI时填SLP_TYPx和SLP_EN这两个寄存器;在Windows系统关机或进入睡眠时,OS填SLP_TYPx或SLP_EN时触发sleep event SMI,BIOS会保存一些寄存器,然后填SLP_TYPx或SLP_EN。

那么这里就又有两个问题啦?1.BIOS填SLP_TYPx或SLP_EN不会触发sleep event SMI么?2.ACPI模式下可以产生SMI么?

1.因为两次BIOS填SLP_TYPx或SLP_EN都是在处理SMI里面,而同时只会有一个SMI被触发,也就是SMI不会存在嵌套,所以在SMI处理时不会再触发SMI.

2.ACPI模式下是可以产生SMI的,只要相应的Status和Enable bit被置位。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值