当前位置: 首页 > news >正文

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)

需求&#xff1a;&#xff1a; 有一个List<Map<String.Object>>,存储了某年某月的数据&#xff0c; 数据是根据用户查询条件进行显示的&#xff1b;所以查询的数据是动态的&#xff1b;需按月份统计每个年月数据出现的次数&#xff0c;并且按照月份排序&#xff1…...

kafka踩坑

问题&#xff1a;项目中用到kafka作为消息中间件&#xff0c;因为现在是开发阶段&#xff0c;试了一次没问题之后就没在管&#xff0c;今天又要测试kafka相关功能&#xff0c;发现消息发送者能够正常发送消息&#xff0c;但是消费者怎么也就收不到数据。然后经过各种百度进行了…...

让你专注于工作的电脑桌面日程提醒软件

在现代职场中&#xff0c;上班族们常常在繁忙的工作中会遇到各种各样的事情干扰。比如&#xff0c;当我们专注于完成重要的报告时&#xff0c;却又有同事来询问问题&#xff1b;在准备去会议事项时&#xff0c;手机却突然收到了一系列的短信和通知。这些干扰不仅浪费了我们的时…...

62页智慧产业园区数字化综合解决方案PPT

导读&#xff1a;原文《62页智慧产业园区数字化综合解决方案PPT》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 喜欢文章&#xff0c;您可以关注评论转发本文&#…...

苹果开发者账号注册方法简明指南

注册苹果开发者账号的方法 在2020年以前&#xff0c;注册苹果开发者账号后&#xff0c;就可以生成证书。 但2020年后&#xff0c;因为注册苹果开发者账号需要使用Apple Developer app注册开发者账号&#xff0c;所以需要缴费才能创建ios证书了。 所以新政策出来后&#xff0c;…...

SQL-每日一题【1321. 餐馆营业额变化增长】

题目 表: Customer 你是餐馆的老板&#xff0c;现在你想分析一下可能的营业额变化增长&#xff08;每天至少有一位顾客&#xff09;。 计算以 7 天&#xff08;某日期 该日期前的 6 天&#xff09;为一个时间段的顾客消费平均值。average_amount 要 保留两位小数。 结果按 …...

PyCharm PyQt5 开发环境搭建

环境 python&#xff1a;3.6.x PyCharm&#xff1a;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 &#xff1a;D:\Pytho…...

2023-08-17 Untiy进阶 C#知识补充8——C#中的日期与时间

文章目录 一、名词概念二、DateTime三、TimeSpan 一、名词概念 &#xff08;一&#xff09;格里高利历 ​ 格里高利历一般指公元&#xff0c;即公历纪年法。目前我们所说公历&#xff0c;就是格里高利历。 ​ 比如 2022 年就是从公元元年开始算起的两千二十二年。 &#xf…...

SPSS--如何使用分层分析以及分层分析案例分享

分层分析&#xff1a;将资料按某个或某些需要控制的变量的不同分类进行分层&#xff0c;然后再估计暴露因子与某结局变量之间关系的一种资料分析方法。 分层分析的最重要的用途是评估和控制混杂因子所致的混杂偏倚。通过按混杂因子分层&#xff0c;可使每层内的两个比较组在所控…...

时序数据库influxdb笔记

官方资料 https://docs.influxdata.com/influxdb/v2.7/install/?tLinux https://www.influxdata.com/influxdb/ 安装 1、linux平台下 1&#xff09;下载 2&#xff09;解压 3&#xff09;添加账户&#xff08; adduser influx&#xff09; 4&#xff09;设置目录权限 5…...

8月18日上课内容 Haproxy搭建Web群集

本章结构 课程大纲 Haproxy调度算法 常见的web集群调度器 目前常见的Web集群调度器分为软件和硬件软件 通常使用开源的LVS、Haproxy、Nginx 硬件一般使用比较多的是F5&#xff0c;也有很多人使用国内的一些产品&#xff0c;如梭子鱼、绿盟等 Haproxy应用分析 LVS在企业应用中…...

【高阶数据结构】红黑树详解

文章目录 前言1. 红黑树的概念及性质1.1 红黑树的概念1.2 红黑树的性质1.3 已经学了AVL树&#xff0c;为啥还要学红黑树 2. 红黑树结构的定义3. 插入&#xff08;仅仅是插入过程&#xff09;4. 插入结点之后根据情况进行相应调整4.1 cur为红&#xff0c;p为红&#xff0c;g为黑…...

树莓牌4B安装Centos8

准备工作 镜像&#xff1a;https://people.centos.org/pgreco/CentOS-Userland-8-stream-aarch64-RaspberryPI-Minimal-4/ 烧制工具&#xff1a;https://www.raspberrypi.com/software/ 初始化 将上述工具烧制好的SD卡插入树莓派&#xff0c;通电。通过网线将树莓派与电脑连…...

SQL Monitor Crack,PostgreSQL监控的传入复制图表

SQL Monitor Crack,PostgreSQL监控的传入复制图表  现在&#xff0c;您可以在从Estate页面导出的Microsoft Excel报告的摘要标题中看到UTC偏移量。 添加了PostgreSQL监控的传入复制图表。 Microsoft PowerShell API现在支持将使用New-SqlMonitorWindowsHost和New-SqlMonitorin…...

软件测试技术之单元测试—工程师 Style 的测试方法(3)

如何设计单元测试&#xff1f; 单元测试设计方法 单元测试用例&#xff0c;和普通测试用例的设计&#xff0c;没有太多不同&#xff0c;常见的就是等价类划分、边界值分析等。而测试用例的设计其实也是开发者应该掌握的基本技能。 等价类划分 把所有输入划分为若干分类&…...

Ubuntu中安装OpenSSL

文章目录 一、前期准备1.1 压缩包下载1.2 gcc, make等的安装二、安装配置 一、前期准备 1.1 压缩包下载 在安装openssl之前&#xff0c;我们需要下载对应的压缩包 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 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

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后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...