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

XHCI 1.2b 规范摘要(14)

在这里插入图片描述

系列文章目录


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 规范摘要(九)
XHCI 1.2b 规范摘要(十)
XHCI 1.2b 规范摘要(11)
XHCI 1.2b 规范摘要(12)
XHCI 1.2b 规范摘要(13)
XHCI 1.2b 规范摘要(14)


文章目录

  • 系列文章目录
  • 7 xHCI 扩展功能
    • 7.7 xHCI I/O 虚拟化 (xHCI-IOV) 功能
    • 7.8 xHCI 本地内存能力
    • 7.9 xHCI 音频边带功能
    • 7.10 Intel 时间戳关联功能
    • 7.11 USB3 隧道支持功能


7 xHCI 扩展功能

    xHCI Extended Capabilities

7.7 xHCI I/O 虚拟化 (xHCI-IOV) 功能

    xHCI I/O Virtualization (xHCI-IOV) Capability

   xHCI-IOV 扩展功能结构定义了在虚拟化环境中管理 xHC 实例所需的参数。xHCI-IOV 扩展功能结构是为 xHCI 定义的可选规范功能。xHCI-IOV 功能定义的寄存器是对 PCIe SR-IOV 扩展功能结构定义的寄存器的补充。如果 xHC 支持虚拟化,则应定义这两种功能结构。有关 PCIe SR-IOV 扩展功能的更多信息,请参阅第 8.2.1 节。

   xHCI-IOV 扩展功能结构由两个寄存器阵列组成:VF 中断器范围(VF Interrupter Range)和 VM 设备插槽分配(VM Device Slot Assignment)。

   此功能通过 xHCI 扩展功能指针 (xECPxHCI Extended Capabilities Pointer) 字段链接,并驻留在 MMIO 空间中。xHC 实现应为每个虚拟功能 (VFVirtual Function) 提供一个 VF 中断器范围寄存器(由 SR-IOV 扩展功能结构 TotalVFs 字段定义)。每个 VF 中断器范围寄存器定义中断器基偏移和中断器计数字段。这些字段允许虚拟机管理器 (VMM) 将可用中断器的特定子集分配给 VF。硬​​件重置后,所有 VF 中断器范围寄存器 = “0”,即 VF 不拥有任何中断器。

在这里插入图片描述

    注意:未定义 VF 中断器范围寄存器 0。VM 中断器范围寄存器 0 在逻辑上将引用物理功能 0 (PF0),但 PF0 提供所有中断器分配的池。

    注意:xHCI 将支持的 VF 的最大数量限制为 63,即对于 xHCI 实现,SR-IOV 扩展功能结构 TotalVFs 字段应 <= 63。

    例如,逻辑上,PF0 中断器基偏移量和中断器计数分别初始化为 “0” 和 MaxIntrs 。当中断器分配给 VF 时,PF0 可用的中断器数量会相应减少。在任何时候,PF0 可用的中断器数量都等于 MaxIntrs - SUM(中断器计数 1-1024)。

    不得将中断器 0 分配给 VF。

    xHC 实现应提供 MaxSlots VF Device Slot Assignment Registers (VF 设备槽分配寄存器)。每个 VF 设备槽分配寄存器定义一个模拟槽和设备槽 n VF 字段。VMM 应使用 VM 设备槽分配寄存器将设备槽分配给 VF。设备槽 n VF 字段包含拥有设备槽的 PF 或 VF 的 VF ID。硬件重置后,所有设备槽均分配有物理功能 0(设备槽 n VF = 0)。模拟槽字段标识设备槽是由 VMM 为 VM 模拟还是直接分配给 VM。有关设备模拟的更多信息,请参阅第 8.1.1 节。

    此版本的 xHCI 规范仅允许实现支持单个页面大小,如 PAGESIZE 寄存器所报告的。页面大小会影响以下寄存器:

  • RTSOFF 和 DBOFF 寄存器 - 如果启用了虚拟化,则 PF 和 VF 功能/操作、运行时和 Doorbell 寄存器集需要分别驻留在单独的内存页面上,以便 VMM 可以捕获和模拟 VF 功能/操作寄存器集。寄存器集之间的边界应取决于页面大小,并影响所需 PF/VF MMIO 空间的大小。如果不支持虚拟化(即未定义 SR-IOV 或 xHCI-IOV 功能),则 xHCI 寄存器集可以打包在单个页面上。
  • PCI 配置空间 BAR0 寄存器 - 如果支持虚拟化,页面大小会影响 BAR0 寄存器声明的 MMIO 空间的大小。有关 BAR0 寄存器操作的信息,请参阅 PCI 规范第 6.2.5 节。
  • SR-IOV 支持的页面大小寄存器 - 此寄存器应指示对单页大小的支持,其大小应与页面大小 (PAGESIZE) 寄存器中定义的页面大小相同。请参阅 SR-IOV 规范第 3.3.12 节。
  • SR-IOV 页面大小寄存器 - 此寄存器应由软件写入,其值应与操作页面大小 (PAGESIZE) 寄存器中定义的页面大小相同。请参阅 SR-IOV 规范第 3.3.13 节。

7.8 xHCI 本地内存能力

    xHCI Local Memory Capability

   xHCI 实现可以定义此可选的规范 xHCI 扩展功能,以便在初始化系统内存之前为调试端口执行提供 RAM

在这里插入图片描述

7.9 xHCI 音频边带功能

    xHCI Audio Sideband Capability

    xHC 可以实现此可选的规范 xHCI 扩展功能,为与音频类端点关联的有效负载提供边带数据路径机制。这允许将与特定终端节点关联的负载数据从主内存以外的位置路由或路由到主内存以外的位置。

7.10 Intel 时间戳关联功能

    Intel Time Stamp Correlation Capability

7.11 USB3 隧道支持功能

    USB3 Tunneling Support Capability


   
 




相关文章:

XHCI 1.2b 规范摘要(14)

系列文章目录 XHCI 1.2b 规范摘要&#xff08;一&#xff09; XHCI 1.2b 规范摘要&#xff08;二&#xff09; XHCI 1.2b 规范摘要&#xff08;三&#xff09; XHCI 1.2b 规范摘要&#xff08;四&#xff09; XHCI 1.2b 规范摘要&#xff08;五&#xff09; XHCI 1.2b 规范摘要…...

(蓝桥杯C/C++)——基础算法(下)

目录 一、时空复杂度 1.时间复杂度 2.空间复杂度 3.分析技巧 4.代码示例 二、递归 1.递归的介绍 2.递归如何实现 3.递归和循环的比较 4.代码示例 三、差分 1.差分的原理和特点 2.差分的实现 3.例题讲解 四、枚举 1.枚举算法介绍 2.解空间的类型 3. 循环枚举解…...

详解Rust标准库:VecDeque 队列

theme: github highlight: an-old-hope 查看本地官方文档 安装rust后运行 rustup doc查看The Standard Library即可获取标准库内容 std::connections::VecDeque定义 队列是遵循先入先出规则的线性数据结构&#xff0c;在内存中不一定连续 VecDeque定义&#xff1a;可增长…...

网络协议都有哪些?

网络协议是为计算机网络中进行数据交换而建立的规则、标准或约定的集合。以下是一些常见的网络协议&#xff1a; TCP/IP协议&#xff1a;传输控制协议/因特网互联协议&#xff0c;又名网络通讯协议&#xff0c;是Internet最基本的协议、Internet国际互联网络的基础。由网络层的…...

非公平锁和公平锁的区别

公平锁&#xff08;Fair Lock&#xff09;&#xff1a; 公平锁遵循 FIFO&#xff08;先进先出&#xff09;原则。当多个线程在等待锁时&#xff0c;公平锁会确保等待时间最长的线程优先获得锁。 这种锁机制可以避免线程饥饿&#xff08;starvation&#xff09;&#xff0c;即某…...

11月7日星期四今日早报简报微语报早读

11月7日星期四&#xff0c;农历十月初七&#xff0c;早报#微语早读。 1、河南&#xff1a;旅行社组织1000人次境外游客在豫住宿2夜以上&#xff0c;可申请激励奖补&#xff1b; 2、主播宣称下播后商品恢复原价构成欺诈&#xff0c;广州市监&#xff1a;罚款5万元&#xff1b;…...

【Python】轻松实现机器翻译:Transformers库使用教程

轻松实现机器翻译&#xff1a;Transformers库使用教程 近年来&#xff0c;机器翻译技术飞速发展&#xff0c;从传统的基于规则的翻译到统计机器翻译&#xff0c;再到如今流行的神经网络翻译模型&#xff0c;尤其是基于Transformer架构的模型&#xff0c;翻译效果已经有了质的飞…...

【数据集】【YOLO】【目标检测】道路结冰数据集 1527 张,YOLO目标检测实战训练教程!

数据集介绍 【数据集】道路结冰数据集 1527 张&#xff0c;目标检测&#xff0c;包含YOLO/VOC格式标注。数据集中包含2种分类&#xff1a;“clear_road, ice_road”。数据集来自国内外图片网站和视频截图&#xff0c;部分数据经过数据增强处理。检测范围监控视角检测、无人机视…...

Java链表及源码解析

文章目录 创建一个ILindkedList接口创建方法(模拟实现链表方法)创建MyLinkedList来实现接口的方法创建链表节点addFirst方法&#xff08;新增头部属性&#xff09;addLast方法&#xff08;新增到末尾一个属性&#xff09;remove方法&#xff08;删除指定属性&#xff09;addInd…...

十、快速入门go语言之方法

文章目录 方法:one: 方法的概念:star2: 内嵌类型的方法和继承:star2: 多重继承 &#x1f4c5; 2024年5月9日 &#x1f4e6; 使用版本为1.21.5 方法 1️⃣ 方法的概念 ⭐️ 在Go语言中没有类这个概念&#xff0c;可以使用结构体来实现&#xff0c;那类方法呢&#xff1f;Go也…...

JVM 处理多线程并发执行

JVM&#xff08;Java Virtual Machine&#xff09;在处理多线程并发执行方面具有强大的支持&#xff0c;主要依赖于其内置的线程模型、内存模型以及同步机制。 JVM 通过以下关键机制和组件来管理多线程并发执行&#xff1a; 1. 线程模型 Java 线程与操作系统线程&#xff1a;…...

【D3.js in Action 3 精译_039】4.3 D3 面积图的绘制方法及其边界标签的添加

当前内容所在位置&#xff1a; 第四章 直线、曲线与弧线的绘制 ✔️ 4.1 坐标轴的创建&#xff08;上篇&#xff09; 4.1.1 D3 中的边距约定&#xff08;中篇&#xff09;4.1.2 坐标轴的生成&#xff08;中篇&#xff09; 4.1.2.1 比例尺的声明&#xff08;中篇&#xff09;4.1…...

布谷直播源码部署服务器关于数据库配置的详细说明

布谷直播源码搭建部署配置接口数据库 /public/db.php&#xff08;2019年8月后的系统在该路径下配置数据库&#xff0c;老版本继续走下面的操作&#xff09; 在项目代码中执行命令安装依赖库&#xff08;⚠️注意&#xff1a;如果已经有了vendor内的依赖文件的就不用执行了&am…...

Xfce桌面设置右键菜单:用右键打开VSCode

前言 AlmaLinux安装VSCode之后始终没有找到如何用右键菜单打开VSCode&#xff0c;比Windows麻烦多了。每次都需要先找到文件夹&#xff0c;然后用系统自带的Open In Terminal打开终端&#xff0c;再输入code .&#xff0c;才能够在当前文件夹中快速打开VSCode。那么&#xff0…...

【NLP自然语言处理】深入探索Self-Attention:自注意力机制详解

目录 &#x1f354; Self-attention的特点 &#x1f354; Self-attention中的归一化概述 &#x1f354; softmax的梯度变化 3.1 softmax函数的输入分布是如何影响输出的 3.2 softmax函数在反向传播的过程中是如何梯度求导的 3.3 softmax函数出现梯度消失现象的原因 &…...

Pytorch训练时报nan

0. 引言 Pytorch训练时在batchN时loss为nan。经过断点检查发现在batchN-1时&#xff0c;网络参数非nan&#xff0c;输出非nan&#xff0c;但梯度为nan&#xff0c;导致网络参数已经全部被更新为nan&#xff0c;遇到这种情况应该如何排查&#xff0c;如何避免&#xff1f;由于导…...

JavaScript定时器详解:setTimeout与setInterval的使用与注意事项

在JavaScript中&#xff0c;定时器用于在指定的时间间隔后或周期性地执行代码。JavaScript 提供了两种主要的定时器函数&#xff1a;setTimeout 和 setInterval。以下是它们的详细解释和实现方式&#xff1a; 1. setTimeout setTimeout 函数用于在指定的毫秒数后执行一次函数…...

CSS——选择器、PxCook软件、盒子模型

选择器 结构伪类选择器 作用&#xff1a;根据元素的结构关系查找元素。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…...

Mysql 大表limit查询优化原理实战

文章目录 1 大表查询无条件优化&原理(入门)2 大表查询带 条件 优化&原理(进阶)2.1 where 后面的查询字段只有一个时&#xff0c;要求该字段是索引字段2.2 where 后面的查询字段有多个时&#xff0c;尽量让查询字段为索引字段且字段值基数大 3 大表查询带 排序 优化&…...

在vscode中开发运行uni-app项目

确保电脑已经安装配置好了node、vue等相关环境依赖 进行项目的创建 vue create -p dcloudio/uni-preset-vue 项目名 vue create -p dcloudio/uni-preset-vue uni-app 选择模版 这里选择【默认模版】 项目创建成功后在vscode中打开 第一次打开项目 pages.json 文件会报错&a…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...