Linux acpi off – the Advanced Configuration & Power Interface. ACPI是OS,BIOS和硬件之间的抽象层。它允许OS和平台独立的发展,比如新的OS可以控制老的平台,老的OS也可以控制新的平台而不需要额外的修改。

ACPI寄存器,描述了和ACPI相关的寄存器。OS可以直接从ACPI表中取得这些寄存器的信息,因此不必了解具体的硬件配置。

AML代码,一种类C的代码。由BIOS提供,OS的AML解释器(在Linux中叫ACPI CA)解释执行这些代码。这是ACPI抽象层的关键,下面会详细介绍。

配置信息,ACPI包含的配置信息很多,比如多处理器配置信息(MADT)、NUMA配置信息(SRAT、SLIT)、高精度定时器(HPET)等。

AML代码是抽象的关键。为了消除平台相关性,BIOS把平台相关的操作用AML代码来实现。OS不需要知道平台细节,它只是解释执行这些代码,在解释执行的过程中平台相关的操作就被执行了。ACPI规范定义了一些标准的AML函数,OS解释执行一个这样的标准函数就可以实现特定的功能。举个例子:

Scope (_SB.PCI0.LPC)

{

OperationRegion (LPCS, PCI_Config, 0x00, 0x0100)

Field (LPCS, AnyAcc, NoLock, Preserve)

{

Offset (0x60),

PIRA, 8,

}

}

Device (LNKA)

{

Method (_DIS, 0, NotSerialized)

{

Or (\_SB.PCI0.LPC.PIRA, 0x80, \_SB.PCI0.LPC.PIRA)

}

}

比如我们想禁止LNKA设备,Linux acpi off规范定义了OS必须执行此设备的_DIS函数。从硬件的角度来讲,禁止LNKA设备需要将某个PCI设备的配置空间的寄存器0×60的最高位置上。OS不需要知道硬件的细节,它解释执行_DIS函数即可。上面的代码就是AML代码,由BIOS提供,语句‘Or (\_SB.PCI0.LPC.PIRA, 0×80, \_SB.PCI0.LPC.PIRA)’实际上就是给寄存器\_SB.PCI0.LPC.PIRA置上最高位, 而PIRA就是PCI设备LPC的配置空间的寄存器0×60。从此段代码我们可以明显的看出BIOS以AML代码的形式隐藏(抽象)了硬件的细节,从而使得OS看到的是一个平台无关的硬件。

更多的Linux acpi off预定义的函数可以在ACPI规范中找到,可以在http://www.acpi.info下载最新的规范。

Linux acpi off实现中使用的AML解释器是ACPICA -the ACPI Component Architecture. 可以从http://www.intel.com/technology/iapc/acpi/downloads.htm得到。它包含一个AML解释器(Linux kernel包含了这个解释器,很多其他OS也是如此,比如BSD、opensolaris等),一个编译器(将ACPI Source Language (ASL)编译成AML代码)和一些测试工具。

最新的Linux acpi off的代码可以使用git在http://www.kernel.org/git/?p=linux/kernel/git/lenb/linux-acpi-2.6.git得到。

linux设备acpi表配置,Linux acpi off简介相关推荐

  1. linux设备acpi表配置,linux ACPI 知识

    为什么学习ACPI ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任何新的特性相关的信息都 ...

  2. linux多路径策略配置,linux 多路径配置

    首先介绍一下什么是多路径(multi-path)?先说说多路径功能产生的背景,在多路径功能出现之前,主机上的硬盘是直接挂接到一个总线(PCI)上,路径是一对一的关系,也就是一条路径指向一个硬盘或是存储 ...

  3. linux设备驱动程序调试方法,Linux设备驱动程序学习(2)-调试技术

    Linux设备驱动程序学习(2)-调试技术 Linux设备驱动程序学习(2)-调试技术 今天进入<Linux设备驱动程序(第3版)>第四章调试技术的学习. 一.内核中的调试支持 在前面已经 ...

  4. linux 设备驱动阻塞,深入浅出:Linux设备驱动中的阻塞和非阻塞I/O

    今天写的是Linux设备驱动中的阻塞和非阻塞I/0,何谓阻塞与非阻塞I/O?简单来说就是对I/O操作的两种不同的方式,驱动程序可以灵活的支持用户空间对设备的这两种访问方式. 一.基本概念: 阻塞操作 ...

  5. linux下网卡参数配置,linux网卡配置参数

    配置linux网卡时参数记录. 参数 说明 NAME 网卡设备的别名 DEVICE 网卡的设备名称 ONBOOT yes:开机自动启用网络连接 no:不自动启用 TYPE 网络类型,常见的Ethern ...

  6. linux lighttpd php,安装配置Linux+lighttpd+mysql+PHP(FastCGI)

    安装配置Linux+lighttpd+mysql+PHP(FastCGI) . 分类: Linux-web服务器搭建 2009-08-28 17:38 3758人阅读 评论(0) 收藏 举报 安装配置 ...

  7. linux服务器检查硬件配置,linux怎么查看服务器硬件配置

    你们知道怎么查看服务器的硬件配置信息吗?下面是学习啦小编带来的关于linux怎么查看服务器硬件配置的内容,欢迎阅读! linux怎么查看服务器硬件配置? 1.查看机器所有硬件信息: dmidecode ...

  8. linux设备和驱动注册,Linux驱动第五篇-----驱动注册和生成设备节点

    加载驱动的指令是:insmod xx.ko 查看驱动的指令是: lsmod 卸载驱动的指令是:rmmod xx 在include/linux/platform_device.h这个文件中定义了平台驱动 ...

  9. java调用linux设备,使用Java调用Linux系统命令

    有时候,咱们在使用Java作一些操做时,可能性能上并不能达到咱们满意的效果,就拿最近工做中的遇到的一个场景来讲,须要对大量的小文件进行合并成一个大文件.java 最开始的想法是使用Java作文件操做, ...

最新文章

  1. 微软最新论文解读 | 基于预训练自然语言生成的文本摘要方法
  2. AI Studio 学习 Go 豆瓣电影爬取
  3. Docker - Compose 使用说明、详解docker-compose
  4. C++基础之this指针的详解
  5. php 函数 中文,PHP语言之PHP中文函数连载(二)
  6. tf卡量产工具万能版_手上还有SD卡/TF卡的小伙伴,这些玩法你有关注过吗
  7. h3c 链路聚合测试_4G/5G聚合路由器在直播中无线多链路聚合图传技术是什么?
  8. MySQL慢查询分析方法
  9. 树莓派---MAC下安装AndroidThings
  10. MODBUS-RTU CRC校验算法及函数源码
  11. java记事本写玫瑰花代码_第一个用记事本写的java代码
  12. Google企业邮箱申请
  13. 双稳态电路的两个稳定状态是什么_555时基电路内部结构及其工作原理
  14. DEDE标签调用说明
  15. 【Redis消息队列实现异步秒杀】--Redis学习笔记08
  16. 消除计算机硬盘上的碎片应该使用什么软件,磁盘清理有什么用,详细教您磁盘碎片整理有什么用...
  17. idea突然很卡解决办法
  18. 视频聊天软件的技术实现
  19. 开发板之驱动安装与烧写程序
  20. linux教程deepin,国产系统Linux Deepin 2014详细评测

热门文章

  1. 词云wordcloud入门与进阶
  2. Parallels Desktop 18 中的新增功能
  3. Mysql数据库Data目录迁移的方法详解
  4. 使用大包ping对端进行MTU不一致的故障处理
  5. docker中centos容器安装宝塔面板
  6. 到岗时间越快就越有优势吗?
  7. 黑,白……乌云网多名高管确认被警方带走
  8. 【题库】上海市学校心理咨询师考试-普通心理学-考点解析 2.3 大脑皮层的功能
  9. 2021年广东省安全员C证(专职安全生产管理人员)免费试题及广东省安全员C证(专职安全生产管理人员)理论考试
  10. RoPE(旋转式位置编码)