Linux acpi off关于Suspend to Disk 问题分析
对于debug_layer和debug_level,include/acpi/acoutput.h里面包含了很多值,这些值决定了Linux /ACPI输出信息的详细程度和内容范围。acpi.debug_level和 acpi.debug_layer是kernel参数,也可以在系统运行时改变这些值,它们是/sys/module/acpi/parameters /debug_{level,layer}。
注意,这些输出信息可能很快就将kernel的ring buffer用完,你可能需要使用log_buf_len=XY来增加ring buffer的大小。使用serial console (Documentation/serial-console.txt)来得到kernel输出是一个好的方法。如果你的笔记本电脑没有串口,可以试试 netconsole (Documentation/networking/netconsole.txt)。
Linux acpi off使用定制的 DSDT
Linux acpi offDSDT (Differentiated System Description Table)是一个主要的ACPI表,它包含了很多AML代码。因为BIOS的bug,这些代码本身可能有错。Linux提供的一种方法能让你使用定制的 DSDT表,这对于调试很有帮助。让kernel使用定制的DSDT步骤如下:
首先要得到原始的DSDT表(后面的章节会介绍acpidump等工具):
$ acpidump > acpidump.out
$ acpixtract DSDT acpidump > DSDT.dat
这样我们就得到了DSDT表的二进制文件,将它反汇编
$ iasl -d DSDT.dat
我们会得到一个AML代码文件,你可以修改它
$ vi DSDT.dsl
然后重新编译
$ iasl -tc DSDT.dsl
把它拷贝到kernel source中
$ cp DSDT.hex $SRC/include/
Linux acpi off加入下面几行到你的kernel配置文件(.config):
CONFIG_STANDALONE=n
CONFIG_ACPI_CUSTOM_DSDT=y
CONFIG_ACPI_CUSTOM_DSDT_FILE=”DSDT.hex”
Linux acpi off编译kernel,运行,你的dmesg中应该有如下输出:
Table [DSDT] replaced by host OS
使用这种方法,你可以修正DSDT的bug。这种方法带来的一个有用的debug方法是:将ACPI的debug选项打开,然后在你的DSDT中加入类似如下的语句:
Store(”hello world!”, Debug)
Store(Local0, Debug)
即将某个变量存储到特殊的目标Debug中。加入了这样语句后的函数被kernel解释执行时你可以看到如下输出:
[ACPI Debug] String: [0x0C] “hello world!”
[ACPI Debug] Integer: 0×00000042
由此我们可以在AML代码级别进行调试。
[@more@]
Linux acpi off关于Suspend to Disk 问题分析相关推荐
- 安装linux系统提示acpi,linux ACPI 知识
为什么学习ACPI ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任何新的特性相关的信息都 ...
- linux设备acpi表配置,linux ACPI 知识
为什么学习ACPI ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任何新的特性相关的信息都 ...
- linux acpi=off
kernel后加acpi=off 是什么意思? acpi=off是关闭高级电源管理接口 使用acpi = off会在启动Ubuntu时暂时禁用高级配置和电源接口.如果必须添加acpi = off使ub ...
- linux acpi 电源管理,ACPI电源管理
S1,S2:待机.只关闭CPU.S1是完全加电:S2是如果CPU不活动就进入待机状态. S3:挂起到内存,关闭硬盘,其它设备处于加电等待状态. S4:休眠,内存写入硬盘后,关闭所有设备. S5:关机: ...
- linux acpi 代码,ACPI简介 Linux
ACPI – the Advanced Configuration & Power Interface. ACPI是OS,BIOS和硬件之间的抽象层.它允许OS和平台独立的发展,比如新的OS可 ...
- Linux下USB suspend/resume源码分析【转】
转自:http://blog.csdn.net/aaronychen/article/details/3928479 Linux下USB suspend/resume源码分析 Author:aaron ...
- linux acpi 作用,Linux ACPI服务ACPI 驱动体系简介
Linux ACPI服务DSDT: DSDT 称做 Differentiated Definition Block,存在于 BIOS 中并与当前的硬件平台兼容的,提供了系统的硬件特性(例如某些设备的内 ...
- linux设备acpi表配置,Linux acpi off简介
Linux acpi off – the Advanced Configuration & Power Interface. ACPI是OS,BIOS和硬件之间的抽象层.它允许OS和平台独立的 ...
- arm linux kernel 从入口到start_kernel 的代码分析
Linux系统启动过程分析(主要是加载内核前的动作) 经过对Linux系统有了一定了解和熟悉后,想对其更深层次的东西做进一步探究.这当中就包括系统的启动流程.文件系统的组成结构.基于动态库和静态库的程 ...
- Debian etch 基本系统 initial ram disk 的分析
ilovestars 2007年5月3日于瀚海星云 Linux 版 自己最近花时间研究了一下 linux 的 initial ram disk,然后就写了这篇文章. 因为是要给别人看的,所以写的时候就 ...
最新文章
- PyTorch 源码解读之即时编译篇
- ue4 开发动作游戏_【图片】第三人称动作游戏开发日志【虚幻4吧】_百度贴吧
- 使用 SCons 代替 Makefile 快速构建应用程序
- 北京内推 | 华为高斯实验室招聘AI算法工程师/实习生
- linux下tar包安装sudo命令,ubuntu12.04LTS安装gv-412-Linux-x86.tar.gz方法
- (转)十分钟搞定你自己的多图片/文件服务器
- nodejs es6 中的单例模式
- wmsys.wm_concat的几个用法
- 连接mysql出现Access denied for user ‘root’@’localhost’ (using password:YES)问题解决办法...
- Stardict 81部中文词典下载
- HDMI-FMC子卡的使用(基于VC707)(中)
- vue-网页Logo标题及矢量图标
- 逐步分析类的拆分之案例——五彩斑斓的小球碰撞
- java migration_JetPack知识点实战系列九:Room数据库Migration
- coap协议说明及函数使用
- 记录配置Jupyter kernels
- 不会编程,别着急!免编程工具助你快速开发App
- FTP上传文件报错200 PORT command successful. Consider using PASV. 553 Could not create file.
- cocos2d-x Touch触屏事件
- 海思开发板hi3559移植带opengl的qt并成功运行血泪史