Linux acpi off关于Suspend to Disk 问题分析
来源:互联网 发布:catia软件下载 编辑:程序博客网 时间:2024/06/06 03:12
对于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 off学习
- Linux acpi off报告ACPI bug处理方法
- Linux acpi off学习的必要
- Linux acpi off学习的必要
- Linux acpi off学习的必要
- Notes about Porting suspend-to-disk function to android
- 电源管理之android内核suspend to disk的实现(八)--suspend to disk调试数据统计与总结
- Android suspend-to-mem 流程分析
- linux acpi
- 电源管理之android内核suspend to disk的实现(一)
- 电源管理之android内核suspend to disk的实现(二)
- 电源管理之android内核suspend to disk的实现(三)
- 电源管理之android内核suspend to disk的实现(四)
- 电源管理之android内核suspend to disk的实现(五)--STR执行流程图
- 电源管理之android内核suspend to disk的实现(六)--STD执行流程图
- 电源管理之android内核suspend to disk的实现(九)--tuxonice实现方案
- 电源管理之android内核suspend to disk的实现(一)
- IT人士必去的10个网站
- DbUtils
- 第十四周实践项目之阅读并运行程序————(1)
- 开发板下linux启动过程
- 利用 fdisk进行分区
- Linux acpi off关于Suspend to Disk 问题分析
- Android音频开发(2):如何采集一帧音频
- Android 带你从源码的角度解析Scroller的滚动实现原理
- Linux 技巧:让进程在后台可靠运行的几种方法
- Mysql下优化SQL的一般步骤
- File复制文本文件
- osg与Qt结合编程
- 写Json
- 完美洗牌算法(2013年UC校招笔试、2016阿里实习生笔试)