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

设备驱动程序和 PCI 电源管理

通常,设备驱动程序的责任如下:

总线驱动程序:

总线驱动程序负责枚举、配置和控制设备。 对于 PCI-PM,PCI 驱动程序负责读取 PCI-PM 寄存器以确定硬件的功能。 当 POWER IRP 请求电源状态更改时,PCI 驱动程序会写入 PCI 电源管理寄存器,以将硬件设置为不同的 Dx 状态。

当设备启用唤醒时,PCI 驱动程序会写入 PCI-PM 寄存器,使设备能够触发 PME (ACPI 也将执行操作,请参阅下一部分) 。 最后,当 ACPI 确定 PCI 总线正在唤醒系统时,PCI 驱动程序会扫描 PCI 配置空间,查找哪个设备正在断言 PME,在该设备中禁用 PME,并通知驱动程序该设备。

设备驱动程序:

设备的特定驱动程序负责保存和还原设备上下文,以及以设备策略所有者的身份请求电源状态更改。 当设备驱动程序收到要求更改较低设备电源状态的 POWER IRP 时,设备驱动程序负责保存以后打开设备所需的任何专有设备上下文。 在某些情况下,可能没有任何可保存内容。

PCI-PM 寄存器严格是 PCI 驱动程序的域 – IHV 的设备驱动程序不需要访问这些寄存器中的任何一个。 这样做会导致系统无法可靠地工作。 设备驱动程序的责任是仅执行专有操作。

集成 ACPI 和 PCI PM

某些设备(尤其是便携式中的主板视频设备)可能需要 PCI 电源管理和 ACPI 源语言汇编程序 (ASL) 才能完全为设备供电。 PCI 电源管理寄存器将控制设备的内部状态,例如内部时钟和电源平面。 ASL 将控制外部状态(如外部时钟和电源平面),或者对于视频控制器,ASL 将控制视频背光。 请注意,ASL 和 PCI-PM 只能在主板设备上组合使用。

OnNow 体系结构是一种分层体系结构,可以自然地处理设备驱动程序、PCI 驱动程序和 ACPI 驱动程序 (和 ASL) 集成。 以下方案显示了调用驱动程序以处理这些设备的顺序。

相关文章:

  • 健身行动日
  • 如何生成自定义二维码和实现安全便捷的扫码登录功能以及对接企业微信API
  • 打破安全设备孤岛,多源威胁检测与响应(XDR)如何构建一体化安全防线
  • 51单片机入门
  • AWS无服务器 应用程序开发—第三章 后端服务(AWS AppSync)
  • 秋招突击——6/16——复习{整理昨天的面试资料}——新作{删除链表倒数第n个节点}
  • 信用VS抵押:贷款的两面镜子
  • Linux(Centos7)OpenSSH漏洞修复,升级最新openssh-9.7p1
  • 英语恶补ing
  • MAP REDUCE
  • vue3的基本使用方法
  • “Jedis与Redis整合指南:实现高效的Java应用与Redis交互“
  • 示例:WPF中TreeView自定义TreeNode泛型绑定对象来实现级联勾选
  • 【PB案例学习笔记】-22制作一个语音朗读金额小应用
  • 持续学习的综述: 理论、方法与应用
  • 230. Kth Smallest Element in a BST
  • CentOS 7 防火墙操作
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • CSS 提示工具(Tooltip)
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • in typeof instanceof ===这些运算符有什么作用
  • Linux中的硬链接与软链接
  • PaddlePaddle-GitHub的正确打开姿势
  • Spring Boot MyBatis配置多种数据库
  • spring boot 整合mybatis 无法输出sql的问题
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 聊聊hikari连接池的leakDetectionThreshold
  • 聊聊sentinel的DegradeSlot
  • 盘点那些不知名却常用的 Git 操作
  • 强力优化Rancher k8s中国区的使用体验
  • 深入浏览器事件循环的本质
  • 数据科学 第 3 章 11 字符串处理
  • 突破自己的技术思维
  • 我的zsh配置, 2019最新方案
  • 新手搭建网站的主要流程
  • 7行Python代码的人脸识别
  • FaaS 的简单实践
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​ssh免密码登录设置及问题总结
  • #### go map 底层结构 ####
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (2)nginx 安装、启停
  • (补充)IDEA项目结构
  • (二) 初入MySQL 【数据库管理】
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (四)Controller接口控制器详解(三)
  • (算法设计与分析)第一章算法概述-习题
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转) ns2/nam与nam实现相关的文件
  • (转)Android学习笔记 --- android任务栈和启动模式
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET 使用 XPath 来读写 XML 文件