![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACPI项目
文章平均质量分 88
程序猿不会起名字
这个作者很懒,什么都没留下…
展开
-
ACPI相关(12)- ACPI对IPMI的支持
一、IPMI介绍1、平台管理平台管理表示的是一系列的监视和控制功能,操作的对象是系统硬件。比如通过监视系统的温度,电压,风扇、电源等等,并做相应的调节工作,以保证系统处于健康的状态。当系统不正常时,可以选择复位来重启系统。同时平台管理还负责记录各种硬件的信息和日志记录,用于提示用户和后续问题的定位。以上的这些功能可以集成到一个控制器上来实现,这个控制器被称为基板管理控制器(Baseboard Manager Controller,简称BMC)。一般服务器中会用到BMC。注:.原创 2021-05-19 09:46:34 · 3180 阅读 · 0 评论 -
ACPI相关(11)- PCC实例
二、PCC实例应用2.1 概述平台通信通道(PCC)是用于PC和服务器平台的ACPI规范定义的机制,作为平台固件(如系统固件或管理控制器)和操作系统(OSPM)之间双向通信的标准机制。PCC是一种通用机制,是一种管道,可用于其他基于ACPI的特性。一些基于ACPI的特性使用PCC在平台固件和OSPM之间建立通信的例子是RASF, MPST等。PCC共享内存区为了在平台固件和OPSM之间建立通信,PCC定义了一个邮箱和一个事件接口。邮箱称为“通用通信通道共享内存区域”。平台固件(如系统固件原创 2021-05-19 09:24:50 · 2874 阅读 · 0 评论 -
ACPI相关(10)- Platform Communications Channel
一.ACPI规范中定义1.1概述平台通信通道是OSPM与平台中的实体(例如平台控制器,或基板管理控制器(BMC))通信的通用机制。在本节中既没有定义与OSPM通信的实体,也没有定义来回传递的信息的任何方面。该信息是根据使用的PCC寄存器地址空间作为通信通道的实际接口定义的。PCC定义了一个新的地址空间类型(PCC space, 0xA),它被实现为一个或多个独立的通信通道或子空间。1.2 PCCT表Table 14-351 Platform Communications Channel原创 2021-05-19 09:11:26 · 1415 阅读 · 0 评论 -
ACPI相关(9)- Generic Button Device
下文介绍了ACPI规范对通用按钮设备的支持情况。1、概述通用按钮设备是一种标准设备,用于通过硬件中断报告按钮事件,并将这些中断映射到人机接口设备(HID)规范中定义的特定usage。这些设备包括:音量控制,摄像头控制,背光控制,wifi控制。为了向OS表示按钮的功能,需要两条信息:HID控件的Usage和控件所属的HID集合的Us/age。这类设备的HID值为:ACPI0011。Usage是HID Report Descriptor的一部分,可用来表明一个特殊的控制,或一组控制。每个Usage包原创 2021-05-18 10:15:20 · 1728 阅读 · 0 评论 -
ACPI相关(8)- ACPI Platform Error Interfaces
一、简介平台上的硬件使用多样的方式向上层软件报告硬件错误,有的通过 PCI-E 总线传递错误消息,有的需要读写特定的寄存器组来得到错误信息,还有的通过产生特定的中断或者异常来报告错误状态。在这些各式各样方法的背后,是硬件设计人员和软件开发人员耗费大量的时间用来定义接口以及接口实现。这样做的直接后果是增加了太多不必要的开销。因此,一个统一高效的接口无疑是非常有必要的,APEI(Advanced Platform Error Interfaces)的出现,正是为了解决这一长久存在的问题。新的 APEI 规范原创 2021-05-18 10:10:37 · 11235 阅读 · 1 评论 -
ACPI相关(7)- ACPI对ata的管理
一、SATA在acpi规范中的描述ATA控制器有两种类型:IDE控制器(也称为ATA控制器)和串行ATA (SATA)控制器。IDE控制器是那些使用传统IDE编程接口的控制器,可以支持并行ATA (P-ATA)或SATA连接。SATA控制器可以设计为仅在仿真模式、本机模式下运行,也可以设计为同时支持本机和非本机SATA模式。不管支持何种模式,SATA控制器都被设计为仅与支持串行ATA物理接口的驱动器一起工作。如下所述,SATA控制器的处理方法与传统的IDE控制器类似,但不是完全相同。包含支持本机和非原创 2021-05-18 10:04:19 · 1530 阅读 · 0 评论 -
ACPI相关(6)- ACPI对USB的管理
ACPI对USB的管理1、_UPC (USB端口功能)这个可选对象是一个方法,它允许平台与操作系统通信,通过当前USB主机总线适配器规范(如UHCI、OHCI和EHCI)没有提供的某些USB端口功能。如果由平台实现,此对象将出现在给定USB主机总线适配器上的每个USB端口(子端口);操作系统软件可以在启动时检查这些特征,以获得有关系统的USB拓扑结构、可用的USB端口等方面的知识。此方法适用于USB根集线器端口以及通过集成的USB集线器实现的端口。参数:无返回值:一个包如下所述的返回..原创 2021-05-18 10:01:17 · 3477 阅读 · 0 评论 -
ACPI相关(5)- PCI热插拔(三)
PCIE热插拔PCI_E设备和PCI设备通过一种称作无意外(no surprises)方式实现热插拔。用户不允许在未告知系统软件的情况下插入或者移除一个PCI_E设备。用户告知软件将要插入或者移除一个设备之后,软件将进行相关操作,之后告知用户是否可以进行安全的进行这个操作(通过相应的指示器)。然后用户才可以进行接下来的操作。同时PCI_E设备也可以通过突然意外(surprise removal)的方式移除设备。它通过两根探测引脚(PRSNT1#,PRSNT2#)来实现,这两个引脚比其余的引脚更短,那原创 2021-05-18 09:53:09 · 4494 阅读 · 1 评论 -
ACPI相关(5)- PCI热插拔(二)
ACPI热插拔在系统中的实现1、系统初始化阶段在上电阶段PCI设备的扫描节点,ACPI模式根节点(主桥)被PCI总线驱动枚举,从驱动程序的角度上来看可以把root看作一个PCI桥,包含4个地址区间用于描述PCI桥下次一级的总线的地址分配情况,通过扫描PCI root得到root,把从ACPI BIOS获得的资源(中断,总线号)绑定在PCI的root的描述结构acpi_pci_root上。1.初始化root :acpi_pci_root_init是初始化root的第一步,在这里首先调用注册函数ac原创 2021-05-18 09:22:39 · 2518 阅读 · 0 评论 -
ACPI相关(5)- PCI热插拔(一)
PCI ACPI相关1、热插拔流程1) 设备状态模式检测的信号脚---- 对应的GPEx_STS的位2) 在DSDT中编写对应的_LXX控制方法。(用于表示某个GPE事件中GPEx_STS状态响应位来指明当前的设备插入事件)来描述事件执行策略。并通过初始化节点对象绑定通告函数(Notify Handler)通告到OSPM执行相关设备的PCI枚举操作,以下是设备插入后所发生的事件:1. 用户插入PCI热拔插设备到Slot内;2. HPPC(南桥中热插拔控制器)生成GPE事件;3. A.原创 2021-05-18 09:20:38 · 3182 阅读 · 0 评论 -
ACPI相关(4)- PCI电源管理
一 ACPI模式下设备的休眠唤醒ACPI规范假设设备可以处于四个电源状态之一,分别标记为D0,D1,D2和D3,大致对应于本机PCI PM D0-D3状态(尽管D3hot和D3cold之间的差异并未考虑在内) ACPI)。此外,对于设备的每个电源状态,必须启用一组电源才能使设备进入该状态。这些功率资源借助自己的控制方法_ON和_OFF进行控制(即启用或禁用),必须分别为它们定义。为了使设备进入ACPI电源状态Dx(其中x是介于0和3之间的数字,包括x),内核应:(1)使用其_ON控制方法启用处于原创 2021-05-18 09:17:36 · 9451 阅读 · 1 评论 -
ACPI相关(3)- PCI枚举
pci主桥acpi框架1、匹配DSDT中(PCI0)调用.attachkernel调用acpi_init执行,acpi_init->acpi_scan_init->acpi_bus_scan->acpi_bus_check_add->acpi_scan_init_hotplug->acpi_scan_match_handler->acpi_scan_handler_matchingstatic bool acpi_scan_handler_matching(stru原创 2021-05-18 09:15:11 · 2898 阅读 · 0 评论 -
ACPI相关(2)- 定义快
关于DSDT在ACPI中的实现ACPI定义了两种数据结构,它们在系统固件和操作系统之间共享:数据表和定义块。这两种数据结构是固件和操作系统之间的主要通信机制。其中DSDT由一个系统描述表头和定义块格式的数据组成。表头信息如下:struct acpi_table_header {char signature[ACPI_NAME_SIZE]; /* ASCII table signature */u32 length; /* Lengt...原创 2021-05-17 16:58:10 · 2074 阅读 · 0 评论 -
ACPI相关(1)- 简介
什么是ACPI?ACPI首先可以理解为一个独立于体系结构的电源管理和配置框架,它在主机OS中形成一个子系统。该框架建立一个硬件寄存器集来定义电源状态(休眠、hibernate、唤醒等)。硬件寄存器集可以容纳专用硬件和通用硬件上的操作。 标准ACPI框架和硬件寄存器集的主要目的是启用电源管理和系统配置,无需操作系统来直接调用固件。ACPI作为系统固件(BIOS)和OS之间的接口层,如图1和图2所示,有一定的限制和规则。Figure 1: ACPI overview 从根本上说,A...原创 2021-05-17 16:54:52 · 5826 阅读 · 0 评论