当前位置:  技术问答>linux和unix

我想咨询操作系统关机的最后一步是怎样完成的。想知道细节!

    来源: 互联网  发布时间:2017-05-22

    本文导语:  我写了个简单的启动boot 和 kernel 我想在kernel中加入关机选项!最后但是不知道怎样实现! 关机最后的一个步骤是通过调用bios的服务来实现的吗? 还是。。。。 | 用KGDB内核调试很容易得到x86上关机时...

我写了个简单的启动boot 和 kernel 我想在kernel中加入关机选项!最后但是不知道怎样实现!
关机最后的一个步骤是通过调用bios的服务来实现的吗?
还是。。。。

|
用KGDB内核调试很容易得到x86上关机时的 Trace Stack:

[acpi_hw_legacy_sleep (sleep_state=) at drivers/acpi/acpica/hwsleep.c]
       ...
/* Write #2: Write both SLP_TYP + SLP_EN */
status = acpi_hw_write_pm1_control(pm1a_control, pm1b_control);  // 写ACPI相关的寄存器, 到这就关机了
(gdb) bt
#0  acpi_hw_legacy_sleep (sleep_state=) at drivers/acpi/acpica/hwsleep.c:163
#1  0xc070cb1e in acpi_hw_sleep_dispatch (sleep_state=sleep_state@entry=5 '05', function_id=function_id@entry=0) at drivers/acpi/acpica/hwxfsleep.c:256
#2  0xc070ccaf in acpi_enter_sleep_state (sleep_state=sleep_state@entry=5 '05') at drivers/acpi/acpica/hwxfsleep.c:377
#3  0xc06f3dec in acpi_power_off () at drivers/acpi/sleep.c:798
#4  0xc0429c2d in native_machine_power_off () at arch/x86/kernel/reboot.c:626
#5  0xc0429dfe in machine_power_off () at arch/x86/kernel/reboot.c:645
#6  0xc046a615 in kernel_power_off () at kernel/reboot.c:185
#7  0xc046a790 in SYSC_reboot (magic1=-18751827, magic2=, cmd=, arg=0xb775fd78) at kernel/reboot.c:253
#8  0xc046a8cf in SyS_reboot (magic1=-18751827, magic2=672274793, cmd=1126301404, arg=-1217004168) at kernel/reboot.c:199

|
这个应该完全是平台相关的。在x86上有多种方法,你可以在Linux kernel里找找,例如native_machine_power_off()函数的实现。一般用的应该是ACPI接口。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高分咨询问题!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  • 咨询telnet退出时发出的信号
  • 项目价格咨询
  • 我打算去北京,咨询一下:
  • 咨询:用jsp实现附件传输!
  • 咨询:如何搭建环境开发linux手机的应用程序?
  • 咨询一个关于arm上linux学习的问题
  • linux初学者,咨询一下学习过程
  • 关于&意义的咨询
  • shell命令操作快捷方式咨询
  • 关于DHCP option的咨询
  • 咨询一个运行shell脚本问题
  • linux死机分析方法咨询
  • [咨询] Linux Kernel UART 收发数据
  • 大家好,我想咨询一下关于Linux开发的问题!
  • 咨询下linux系统一个问题:
  • 咨询一下linux 源码的发布方式
  • 咨询一下linux 下的几个文件夹的作用?
  • 咨询几个关于linux下光盘卷标的问题,谢谢
  • "购机"咨询 来者有分


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3