XHCI 1.2b 规范摘要(八)

在这里插入图片描述

系列文章目录


XHCI 1.2b 规范摘要(一)
XHCI 1.2b 规范摘要(二)
XHCI 1.2b 规范摘要(三)
XHCI 1.2b 规范摘要(四)
XHCI 1.2b 规范摘要(五)
XHCI 1.2b 规范摘要(六)
XHCI 1.2b 规范摘要(七)
XHCI 1.2b 规范摘要(八)


文章目录

  • 系列文章目录
  • 4 运营模式(Operational Model)
    • 4.23 电源管理(Power Management)
      • 4.23.1 电源井(Power Wells)
      • 4.23.2 xHCI 电源管理(xHCI Power Management)
        • 4.23.2.1 保存和恢复操作(Save and Restore Operations)
      • 4.23.3 PCI 电源管理(PCI Power Management)
        • 4.23.3.1 标准 PCI 电源管理(Standard PCI Power Management)
        • 4.23.3.2 PCI 扩展电源管理(PCI Extended Power Management)
      • 4.23.4 USB 电源管理(USB Power Management)
        • 4.23.4.1 USB2
        • 4.23.4.2 USB3
        • 4.23.4.3 USB 供电(USB Power Delivery)
      • 4.23.5 USB Link 电源管理(USB Link Power Management)
        • 4.23.5.1 根集线器端口 LPM 支持(Root Hub Port LPM Support)
        • 4.23.5.2 最大退出延迟(Max Exit Latency)
    • 4.24 主机控制器管理(Host Controller Management)
      • 4.24.1 内部错误(Internal Errors)
      • 4.24.2 端口到连接器的映射(Port to Connector Mapping)
        • 4.24.2.1 根集线器端口到外部端口的分配
        • 4.24.2.2 外部端口到 USB 连接器的映射
        • 4.24.2.3 映射举例(Mapping Example)
    • 4.25 基于 USB 虚拟化的可信 IO 管理 (USB VTIO)
      • 4.25.1 VTIO 使用和要求(VTIO Usage and Requirements)
        • 4.25.1.1 数据结构的含义(Data Structure Implications)
        • 4.25.1.2 其他内存访问(Other Memory Access)
      • 4.25.2 DMA-ID 分配的管理(Management of DMA-ID Assignment)


4 运营模式(Operational Model)

4.23 电源管理(Power Management)

    本节总结了 xHCI 的各种电源管理功能。

    在本规范中,将从电源传输角度确定需要特别考虑的特定寄存器和功能。本规范中有关电源传输的任何讨论的主要目的是提高各种实现之间的互操作性,而不指定特定的电源传输方法。短语“需要在电源周期内保持状态”;或对为支持主机控制器的电源管理功能而明确定义的配置、命令和状态寄存器的引用将帮助读者识别需要特别注意的那些构造。

    读者还应注意,常见的行业规范可能会施加特定的电源传输要求,设计必须符合这些要求才能符合该行业标准。

    注意:本节提供的规范和白皮书参考资料并非详尽的清单,鼓励读者参考可能与设计人员的具体实现相关的其他规范。

4.23.1 电源井(Power Wells)

    本节介绍核心电源(Core Power)和辅助电源(Auxiliary Power,辅助)井的预期功能。系统板/附加卡 xHC 实现上的电源井要求包括:

  • 整个系统有一个公共接地层 。
  • 允许使用分压(即辅助电源和核心电源)井。
  • 只要将交流电源应用于系统(如果支持),辅助电源井电压供应就应存在。
  • 系统可以关闭核心电源。

    辅助电源井中的寄存器在与核心井中的寄存器不同的条件下重置。在以下情况下,辅助电源井、内存空间寄存器将初始化为其默认值:

  • 辅助电源井的初始通电,或
  • HCRST 中的值为 “1”(请参阅​​第 5.4.1 节)

    注意:USB 传统支持功能寄存器是辅助电源井重置规则的一个例外。有关更多信息,请参阅 “Pre-OS to OS Handoff Synchronization” 部分。

    在以下情况下,核心井、内存空间寄存器将初始化为其默认值:

  • 芯片硬件复位声明,或
  • HCRST 中的值为 “1”,或
  • PCI PM D3hot 状态转换为 D0 状态

    辅助电源井中实现的 PCI 配置空间寄存器的复位条件与核心井中的寄存器不同。辅助电源井配置空间寄存器在以下情况下初始化为其默认值:

  • 辅助电源井的初始通电。

    在以下情况下,核心井 PCI 配置空间寄存器将初始化为其默认值:

  • 系统(核心井)硬件复位声明,或
  • 从 PCI PM D3hot 状态转换为 D0 状态。

    首次通电或 HCRST(芯片硬件复位或通过 USBCMD 寄存器中的 HCRST 位)后,所有操作和运行时寄存器应保持其默认值,如第 5.4 和 5.5 节中定义。在“轻度”硬件复位(通过 USBCMD 寄存器中的轻度主机控制器复位 (LHCRST) 位)后,只有辅助电源井中未包含的操作和运行时寄存器应保持其默认值。辅助电源井中的所有寄存器应保持在断言轻度主机控制器复位 (LHCRST) 之前断言的值。有关更多信息,请参阅第 5.4.1 节。

    这些复位条件的例外情况将在相关寄存器部分中定义。

    注意:启用或禁用核心电源井电压供应的方法(例如,从 D3hot 状态转换为 D3cold 状态)超出了本规范的范围。通常使用平台级电源控制机制。

4.23.2 xHCI 电源管理(xHCI Power Management)

    当系统软件决定关闭 xHC 电源,以便稍后恢复操作时,它应读取 xHC 寄存器并保存其状态。在启动 xHC 后,但在将 xHC 置于运行模式(运行/停止 (R/S) = ‘1’)之前,系统软件应恢复所有 xHC 寄存器。

    此外,xHC 实现会维护软件无法通过其寄存器组看到的内部状态。还应保存和恢复此状态,以便 xHC 正确地从电源事件中恢复,例如,与 ERDP 相关的内部环周期状态 (RCS) 标志、启用设备插槽集等。xHCI 提供两个控制标志来启用此操作:保存状态(Save State)和恢复状态(Restore State)。这些标志作为位驻留在 USBCMD 寄存器中。

在这里插入图片描述

    仅当 xHC 停止(运行/停止 (R/S) = ‘0’)时,才可以设置保存状态和恢复状态标志。

    保存 xHC 状态并关闭电源所需的系统软件步骤如下:

  1. 通过对运行状态下的繁忙端点发出停止端点命令来停止所有 USB 活动。如果不支持强制保存上下文功能 (Force Save Context CapabilityFSC = ‘0’),则还应对运行状态下的所有空闲端点发出停止端点命令。停止端点命令(Stop Endpoint Command)会导致 xHC 更新系统内存中的相应端点或流上下文,例如 TR 出队指针、DCS 等字段。请参阅实施说明 “0” 。

    注意:所有符合 xHCI 1.1xHCI 1.2xHC 都必须强制支持强制保存上下文功能(Force Save Context Capability,即 FSC = ‘1’)。

  1. 确保命令环处于停止状态(CRR = ‘0’)或空闲状态(即命令传输环为空),并且已收到与其相关的所有命令完成事件。
  2. 通过设置 Run/Stop (R/S) = ‘0’ 来停止控制器。
  3. 如果 FSC = ‘1’,则软件应确保在清除 Run/Stop (R/S) 时,任何未收到停止端点命令的运行端点都处于空闲状态。
  4. 按以下顺序 Operational RuntimeVTIO 寄存器:USBCMD、DNCTRL、DCBAAP、CONFIG、ERSTSZ、ERSTBA、ERDP、IMAN、IMOD 和 VTIO 并保存其状态。
  5. 设置 USBCMD 寄存器 (5.4.1) 中的控制器保存状态 (CSSController Save State) 标志,并等待 USBSTS 寄存器 (5.4.2) 中的保存状态状态 (SSSSave State Status) 标志转换为 ‘0’。
  6. 保存状态(Save State)操作应将所有内部 xHC 槽、端点、流或其他状态保存到步骤 6 和 7 中描述的内存位置,这对于成功恢复 xHC 状态是必要的,如下所述。
  7. 如果 Max Scratch Pad Buffers > ‘0’ 且 Scratchpad Restore (SPR) = ‘1’,则保存暂存区缓冲区(Scratchpad Buffers)的图像。
  8. 保存 xHC 引用的 DCBAA、上下文和其他数据结构的内存图像。
  9. 移除 Core Well 电源。
4.23.2.1 保存和恢复操作(Save and Restore Operations)

4.23.3 PCI 电源管理(PCI Power Management)

4.23.3.1 标准 PCI 电源管理(Standard PCI Power Management)
4.23.3.2 PCI 扩展电源管理(PCI Extended Power Management)

4.23.4 USB 电源管理(USB Power Management)

4.23.4.1 USB2
4.23.4.2 USB3
4.23.4.3 USB 供电(USB Power Delivery)

4.23.5 USB Link 电源管理(USB Link Power Management)

4.23.5.1 根集线器端口 LPM 支持(Root Hub Port LPM Support)
4.23.5.2 最大退出延迟(Max Exit Latency)

4.24 主机控制器管理(Host Controller Management)

4.24.1 内部错误(Internal Errors)

4.24.2 端口到连接器的映射(Port to Connector Mapping)

4.24.2.1 根集线器端口到外部端口的分配

    Root Hub Port to External Port Assignment

4.24.2.2 外部端口到 USB 连接器的映射

    External Port to USB Connector mapping

4.24.2.3 映射举例(Mapping Example)

在这里插入图片描述

4.25 基于 USB 虚拟化的可信 IO 管理 (USB VTIO)

    USB Virtualization Based Trusted IO Management (USB VTIO)

4.25.1 VTIO 使用和要求(VTIO Usage and Requirements)

4.25.1.1 数据结构的含义(Data Structure Implications)
4.25.1.2 其他内存访问(Other Memory Access)

4.25.2 DMA-ID 分配的管理(Management of DMA-ID Assignment)

   
 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/905147.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【远程项目管理】Focalboard如何在Windows环境使用Docker快速部署

文章目录 前言1. 使用Docker本地部署Focalboard1.1 在Windows中安装 Docker1.2 使用Docker部署Focalboard 2. 安装Cpolar内网穿透工具3. 实现公网访问Focalboard4. 固定Focalboard公网地址 前言 本篇文章将介绍如何在Windows系统本地快速部署Focalboard项目管理工具&#xff0…

WebStorm EsLint报红色波浪线

如图左侧。 这个错误是由于 ESLint 和 Prettier 的配置不一致导致的。它建议你移除多余的空格。以下是一些解决方法: 安装 Prettier 插件: 确保你在 WebStorm 中安装了 Prettier 插件,并确保它配置正确。 调整 ESLint 配置: 检查…

【Flask】二、Flask 路由机制

目录 什么是路由? Flask中的路由 基本路由 动态路由 路由中的HTTP方法 路由函数返回 在Web开发中,路由是将URL映射到相应的处理函数的过程。Flask是一个轻量级的Web应用框架,提供了简单而强大的路由机制,使得开发者能够轻松…

如何用Python同时抓取多个网页:深入ThreadPoolExecutor

背景介绍 在信息化时代,数据的实时性和获取速度是其核心价值所在。对于体育赛事爱好者、数据分析师和投注行业而言,能否快速、稳定地抓取到实时比赛信息显得尤为重要。特别是在五大足球联赛中,能够在比赛进行时获得比分、控球率等实时数据&a…

深入计算机语言之C++:内存管理

🔑🔑博客主页:阿客不是客 🍓🍓系列专栏:从C语言到C语言的渐深学习 欢迎来到泊舟小课堂 😘博客制作不易欢迎各位👍点赞⭐收藏➕关注 一、 C/C的内存分布 我们先来看一段代码&#xf…

使用Vue.js和Vuex构建可维护的前端应用

使用Vue.js和Vuex构建可维护的前端应用 Vue.js简介 安装Vue.js 使用npm安装 使用CDN引入 创建Vue项目 安装Vuex 初始化Vuex Store 在Vue组件中使用Store Vuex模块化 Vuex命名空间 Vuex插件 Vuex热重载 Vuex持久化状态 Vuex调试工具 Vuex的高级用法 异步Actions 中间件 Vuex的…

云智慧完成华为原生鸿蒙系统的适配, 透视宝 APM 为用户体验保驾护航

2024 年 10 月 22 日,首个国产移动操作系统 —— 华为原生鸿蒙操作系统 HarmonyOS NEXT 正式面世,成为继 iOS 和 Android 后的全球第三大移动操作系统。HarmonyOS NEXT,从系统内核、数据库根基,到编程语言创新、AI(人工…

Metasploit(MSF)使用

目录 Metasploit简要介绍 主要功能 漏洞利用: Payload 生成: 辅助模块: 后渗透模块: 报告生成: 使用教程以及案例 基础命令使用 生成被控端 命令介绍 kali启动主控端 1.启动以及设置载荷等配置 漏洞检测…

Linux 开机自动挂载硬盘

在日常使用 Linux 系统的过程中,我们可能需要挂载一些机械硬盘或者移动硬盘来存储数据。手动挂载虽然简单,但每次重启后都需要重新操作,未免有些繁琐。那么,如何让硬盘在开机时自动挂载呢?本篇博客将详细介绍如何通过配…

GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)

文章目录 一、概述二、数据中心(DC)2.1 数据中心简介2.2 传统数据中心的网络模型2.3 脊叶网络模型(Spine-Leaf)2.4 Facebook的Fabric网络架构 三、基于数据中心的多机多卡拓扑3.1 Spine-Leaf 架构网络规模测算方法3.2 NVIDIA多机多…

基于 GADF+Swin-CNN-GAM 的高创新扰动信号识别模型!

往期精彩内容: Python-电能质量扰动信号数据介绍与分类-CSDN博客 Python电能质量扰动信号分类(一)基于LSTM模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(三)基于Transformer的一…

【QNAP威联通NAS系统恢复进阶教程】如果 .conf 和 md9 无法自动组装,如何恢复 NAS?

创作立场:原创不易,拒绝搬运~ hello大家好,我是你们的老伙伴,稳重的大王~ 从本期开始,大王将在日常教程中,分享一些QNAP系统故障的排除以及解决办法,进阶教程需要具备一定的linux基础&#xf…

一年期免费HTTPS证书:网络安全新选择

HTTPS证书的重要性 HTTPS证书,全称为安全套接字层/传输层安全协议证书,是一种在互联网上建立安全连接的数字证书。它通过公钥加密技术,对网站和用户之间的数据传输进行加密,有效防止数据被窃取或篡改,保障用户信息的安…

k8s-service详解

Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。 为了解决这个问题,kubernetes提供了Service资源…

Android编译环境构建(可用于物理机、虚拟机、容器化Jenkins环境)

文章目录 需求环境要求文件下载Gradle Version:7.5cmdline-tools至此普通物理环境的Android编译环境已部署完毕 部署maven(可选)Jenkins配置Android构建环境 说明: 物理环境:物理机、虚拟机等 容器化环境:docker等 需求 Gradle Version:7.5 …

MacOS下载安装Logisim(图文教程)

本章教程主要介绍如何在MacOS系统中安装Logisim。 一、Logisim是什么? Logisim是一个用于电子逻辑门电路模拟的教育工具软件。它允许用户通过图形界面构建和测试复杂的数字逻辑电路,如加法器、解码器、编码器、寄存器、内存等,从而帮助学生理解计算机硬件的工作原理。 二、如…

技术经济学·不确定性分析

第一节 不确定性分析概述 前章我们所讲的技术经济分析方法,基本上都是定量的方法。也就是说,都是在确定性情况下进行分析的方法。但实际工作中,许多问题是并不事先知道更多的情况。特别是有的因素根本就无法定量,是定性的东西。这…

DAY15|二叉树Part03|LeetCode: 222.完全二叉树的节点个数、110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和

目录 LeetCode: 222.完全二叉树的节点个数 基本思路 普通二叉树 完全二叉树 C代码 LeetCode: 110.平衡二叉树 基本思路 C代码 LeetCode: 257. 二叉树的所有路径 基本思路 C代码 LeetCode: 404.左叶子之和 基本思路 C代码 LeetCode: 222.完全二叉树的节点个数 力扣…

如何创建项目管理的WBS?

在项目管理中,工作分解结构(WBS)是确保项目按计划推进的重要工具。创建WBS的过程不仅关乎任务的分配,还影响项目的整体管理效率。以下是蓝燕云项目管理团队总结的一些有效的创建WBS的方法和指导方针,帮助项目管理团队更…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-22目录1. PoisonedRAG: Knowledge corruption attacks to retrieval-augmented generation of large language models摘要创新点…