Linux内核学习笔记——ACPI命名空间
所有定义块都加载到单个命名空间中。命名空间 是由名称和路径标识的对象层次结构。 以下命名约定适用于 ACPI 中的对象名称 命名空间:
所有名称的长度均为 32 位。
名称的第一个字节必须是“A”-“Z”、“_”之一。
名称的每个剩余字节必须是“A”-“Z”、“0”之一 - ‘9’, ‘_’.
以“_”开头的名称由 ACPI 规范保留。
“”符号表示命名空间的根(即名称 前缀为 ‘’ 是相对于命名空间根目录的)。
“^”符号表示当前命名空间节点的父节点 (即以“^”开头的名称相对于 当前命名空间节点)。
下图显示了一个示例 ACPI 命名空间:
+------+
| \ | Root
+------+|| +------++-| _PR | Scope(_PR): the processor namespace| +------+| || | +------+| +-| CPU0 | Processor(CPU0): the first processor| +------+|| +------++-| _SB | Scope(_SB): the system bus namespace| +------+| || | +------+| +-| LID0 | Device(LID0); the lid device| | +------+| | || | | +------+| | +-| _HID | Name(_HID, "PNP0C0D"): the hardware ID| | | +------+| | || | | +------+| | +-| _STA | Method(_STA): the status control method| | +------+| || | +------+| +-| PCI0 | Device(PCI0); the PCI root bridge| +------+| || | +------+| +-| _HID | Name(_HID, "PNP0A08"): the hardware ID| | +------+| || | +------+| +-| _CID | Name(_CID, "PNP0A03"): the compatible ID| | +------+| || | +------+| +-| RP03 | Scope(RP03): the PCI0 power scope| | +------+| | || | | +------+| | +-| PXP3 | PowerResource(PXP3): the PCI0 power resource| | +------+| || | +------+| +-| GFX0 | Device(GFX0): the graphics adapter| +------+| || | +------+| +-| _ADR | Name(_ADR, 0x00020000): the PCI bus address| | +------+| || | +------+| +-| DD01 | Device(DD01): the LCD output device| +------+| || | +------+| +-| _BCL | Method(_BCL): the backlight control method| +------+|| +------++-| _TZ | Scope(_TZ): the thermal zone namespace| +------+| || | +------+| +-| FN00 | PowerResource(FN00): the FAN0 power resource| | +------+| || | +------+| +-| FAN0 | Device(FAN0): the FAN0 cooling device| | +------+| | || | | +------+| | +-| _HID | Name(_HID, "PNP0A0B"): the hardware ID| | +------+| || | +------+| +-| TZ00 | ThermalZone(TZ00); the FAN thermal zone| +------+|| +------++-| _GPE | Scope(_GPE): the GPE namespace+------+Figure 2. Example ACPI Namespace
Linux ACPI 设备树
结构acpi_device对象的 sysfs 层次结构对应于 图 2 中所示的示例 ACPI 命名空间,添加了 固定PWR_BUTTON/SLP_BUTTON设备如下所示:
+--------------+---+-----------------+
| LNXSYSTEM:00 | \ | acpi:LNXSYSTEM: |
+--------------+---+-----------------+|| +-------------+-----+----------------++-| LNXPWRBN:00 | N/A | acpi:LNXPWRBN: || +-------------+-----+----------------+|| +-------------+-----+----------------++-| LNXSLPBN:00 | N/A | acpi:LNXSLPBN: || +-------------+-----+----------------+|| +-----------+------------+--------------++-| LNXCPU:00 | \_PR_.CPU0 | acpi:LNXCPU: || +-----------+------------+--------------+|| +-------------+-------+----------------++-| LNXSYBUS:00 | \_SB_ | acpi:LNXSYBUS: || +-------------+-------+----------------+| || | +- - - - - - - +- - - - - - +- - - - - - - -+| +-| PNP0C0D:00 | \_SB_.LID0 | acpi:PNP0C0D: || | +- - - - - - - +- - - - - - +- - - - - - - -+| || | +------------+------------+-----------------------+| +-| PNP0A08:00 | \_SB_.PCI0 | acpi:PNP0A08:PNP0A03: || +------------+------------+-----------------------+| || | +-----------+-----------------+-----+| +-| device:00 | \_SB_.PCI0.RP03 | N/A || | +-----------+-----------------+-----+| | || | | +-------------+----------------------+----------------+| | +-| LNXPOWER:00 | \_SB_.PCI0.RP03.PXP3 | acpi:LNXPOWER: || | +-------------+----------------------+----------------+| || | +-------------+-----------------+----------------+| +-| LNXVIDEO:00 | \_SB_.PCI0.GFX0 | acpi:LNXVIDEO: || +-------------+-----------------+----------------+| || | +-----------+-----------------+-----+| +-| device:01 | \_SB_.PCI0.DD01 | N/A || +-----------+-----------------+-----+|| +-------------+-------+----------------++-| LNXSYBUS:01 | \_TZ_ | acpi:LNXSYBUS: |+-------------+-------+----------------+|| +-------------+------------+----------------++-| LNXPOWER:0a | \_TZ_.FN00 | acpi:LNXPOWER: || +-------------+------------+----------------+|| +------------+------------+---------------++-| PNP0C0B:00 | \_TZ_.FAN0 | acpi:PNP0C0B: || +------------+------------+---------------+|| +-------------+------------+----------------++-| LNXTHERM:00 | \_TZ_.TZ00 | acpi:LNXTHERM: |+-------------+------------+----------------+Figure 3. Example Linux ACPI Device Tree
注意
每个节点都表示为“对象/路径/模态别名”,其中:
“对象”是 sysfs 中对象目录的名称。
“path”是相应 ACPI 命名空间对象,由对象的“路径”返回 系统属性。
‘modalias’ 是对象的 ‘modalias’ sysfs 的值 属性(如本文档前面所述)。
相关文章:
Linux内核学习笔记——ACPI命名空间
所有定义块都加载到单个命名空间中。命名空间 是由名称和路径标识的对象层次结构。 以下命名约定适用于 ACPI 中的对象名称 命名空间: 所有名称的长度均为 32 位。 名称的第一个字节必须是“A”-“Z”、“_”之一。 名称的每个剩余字节必须是“A”-“Z”、“0”之…...
使用 OpenCV Python 实现自动图像注释工具的详细步骤--附完整源码
注释是深度学习项目中最关键的部分。它是模型学习效果的决定因素。然而,这是非常乏味且耗时的。一种解决方案是使用自动图像注释工具,这大大缩短了时间。 本文是pyOpenAnnotate系列的一部分,其中包括以下内容。 1、使用 OpenCV 进行图像注释的路线图。 2、pyOpenAnnotate工…...
RunnerGo中WebSocket、Dubbo、TCP/IP三种协议接口测试详解
大家好,RunnerGo作为一款一站式测试平台不断为用户提供更好的使用体验,最近得知RunnerGo新增对,WebSocket、Dubbo、TCP/IP,三种协议API的测试支持,本篇文章跟大家分享一下使用方法。 WebSocket协议 WebSocket 是一种…...
【Java 动态数据统计图】动态数据统计思路案例(动态,排序,数组)一(112)
需求:: 有一个List<Map<String.Object>>,存储了某年某月的数据, 数据是根据用户查询条件进行显示的;所以查询的数据是动态的;需按月份统计每个年月数据出现的次数,并且按照月份排序࿱…...
kafka踩坑
问题:项目中用到kafka作为消息中间件,因为现在是开发阶段,试了一次没问题之后就没在管,今天又要测试kafka相关功能,发现消息发送者能够正常发送消息,但是消费者怎么也就收不到数据。然后经过各种百度进行了…...
让你专注于工作的电脑桌面日程提醒软件
在现代职场中,上班族们常常在繁忙的工作中会遇到各种各样的事情干扰。比如,当我们专注于完成重要的报告时,却又有同事来询问问题;在准备去会议事项时,手机却突然收到了一系列的短信和通知。这些干扰不仅浪费了我们的时…...
62页智慧产业园区数字化综合解决方案PPT
导读:原文《62页智慧产业园区数字化综合解决方案PPT》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 喜欢文章,您可以关注评论转发本文&#…...
苹果开发者账号注册方法简明指南
注册苹果开发者账号的方法 在2020年以前,注册苹果开发者账号后,就可以生成证书。 但2020年后,因为注册苹果开发者账号需要使用Apple Developer app注册开发者账号,所以需要缴费才能创建ios证书了。 所以新政策出来后,…...
SQL-每日一题【1321. 餐馆营业额变化增长】
题目 表: Customer 你是餐馆的老板,现在你想分析一下可能的营业额变化增长(每天至少有一位顾客)。 计算以 7 天(某日期 该日期前的 6 天)为一个时间段的顾客消费平均值。average_amount 要 保留两位小数。 结果按 …...
PyCharm PyQt5 开发环境搭建
环境 python:3.6.x PyCharm:PyCharm 2019.3.5 (Community Edition) 安装PyQT5 pip install PyQt5 -i https://pypi.douban.com/simplepip install PyQt5-tools -i https://pypi.douban.com/simple配置PyCharm PyQtUIC Program :D:\Pytho…...
2023-08-17 Untiy进阶 C#知识补充8——C#中的日期与时间
文章目录 一、名词概念二、DateTime三、TimeSpan 一、名词概念 (一)格里高利历 格里高利历一般指公元,即公历纪年法。目前我们所说公历,就是格里高利历。 比如 2022 年就是从公元元年开始算起的两千二十二年。 …...
SPSS--如何使用分层分析以及分层分析案例分享
分层分析:将资料按某个或某些需要控制的变量的不同分类进行分层,然后再估计暴露因子与某结局变量之间关系的一种资料分析方法。 分层分析的最重要的用途是评估和控制混杂因子所致的混杂偏倚。通过按混杂因子分层,可使每层内的两个比较组在所控…...
时序数据库influxdb笔记
官方资料 https://docs.influxdata.com/influxdb/v2.7/install/?tLinux https://www.influxdata.com/influxdb/ 安装 1、linux平台下 1)下载 2)解压 3)添加账户( adduser influx) 4)设置目录权限 5…...
8月18日上课内容 Haproxy搭建Web群集
本章结构 课程大纲 Haproxy调度算法 常见的web集群调度器 目前常见的Web集群调度器分为软件和硬件软件 通常使用开源的LVS、Haproxy、Nginx 硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等 Haproxy应用分析 LVS在企业应用中…...
【高阶数据结构】红黑树详解
文章目录 前言1. 红黑树的概念及性质1.1 红黑树的概念1.2 红黑树的性质1.3 已经学了AVL树,为啥还要学红黑树 2. 红黑树结构的定义3. 插入(仅仅是插入过程)4. 插入结点之后根据情况进行相应调整4.1 cur为红,p为红,g为黑…...
树莓牌4B安装Centos8
准备工作 镜像:https://people.centos.org/pgreco/CentOS-Userland-8-stream-aarch64-RaspberryPI-Minimal-4/ 烧制工具:https://www.raspberrypi.com/software/ 初始化 将上述工具烧制好的SD卡插入树莓派,通电。通过网线将树莓派与电脑连…...
SQL Monitor Crack,PostgreSQL监控的传入复制图表
SQL Monitor Crack,PostgreSQL监控的传入复制图表 现在,您可以在从Estate页面导出的Microsoft Excel报告的摘要标题中看到UTC偏移量。 添加了PostgreSQL监控的传入复制图表。 Microsoft PowerShell API现在支持将使用New-SqlMonitorWindowsHost和New-SqlMonitorin…...
软件测试技术之单元测试—工程师 Style 的测试方法(3)
如何设计单元测试? 单元测试设计方法 单元测试用例,和普通测试用例的设计,没有太多不同,常见的就是等价类划分、边界值分析等。而测试用例的设计其实也是开发者应该掌握的基本技能。 等价类划分 把所有输入划分为若干分类&…...
Ubuntu中安装OpenSSL
文章目录 一、前期准备1.1 压缩包下载1.2 gcc, make等的安装二、安装配置 一、前期准备 1.1 压缩包下载 在安装openssl之前,我们需要下载对应的压缩包 https://www.openssl.org/source/openssl-3.0.1.tar.gz 此压缩包可以选择win上下载后解压再复制到本地虚拟机中…...
CW4-6A-S、CW4-10A-S、CW4-20A-S、CW4-30A-S螺栓式滤波器
CW3L2-3A-S、CW3L2-6A-S、CW3L2-10A-S、CW3L2-20A-S CW3-3A-S、CW3-6A-S、CW3-10A-S、CW3-20A-S、CW3-30A-S CW4EL2-3A-S、CW4EL2-6A-S、CW4EL2-10A-SCW4EL2-20A-S、CW4EL2-30A-S CW4E-3A-S、CW4E-6A-S、CW4E-10A-S、CW4E-20A-S、CW4E-30A-S CW4E-40A-S(001)、CW4E-50A-S(0…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
