PCIE Resizable BAR
1. 什么是Resizable BAR
Resizable BAR特性在PCIe规范中定义.仅可以通过本地DBI在控制寄存器中更改“Supported Resource Sizes”字段
Resizable BAR Capability是一个可选的功能,它允许硬件传递资源大小,系统软件在确定最佳大小后,将最佳大小传递回硬件。硬件通过 Resizable BAR Capability and Control registers来传达可接受的操作资源大小。硬件必须支持1mb ~ 512gb之间的至少一个大小。
软件通过一种专有的机制来决定资源的最佳大小,程序通过Resizable BAR Control寄存器的BAR size字段来调整大小。
IMPLEMENTATION NOTE:
分配资源的系统软件可以使用这个功能来调整BAR资源的大小。该软件以前的版本通过将FFFFh写入BAR,读取值,并根据Set的位数确定资源的大小,然后,将基址被写入BAR。
系统软件在将基地地址分配给BAR之前使用这种方法来代替上面提到的确定资源大小的方法,潜在的可用资源大小由函数通过Resizable BAR Capability and Control registers报告。这样做的目的是让软件能够分配最大的大小,因为分配的地址空间小于报告的最大大小会导致较低的性能。然后,软件将该大小写入到Resizable BAR Control register中。然后,将基址被写入BAR。
2. Resizable BAR capability
2.1 Resizable BAR Extended Capability Header (Offset 00h)
PCI Express Extended Capability ID: 记录Resizable BAR Extended capability的ID号,固定为0x15
Capability Version: PCI-SIG定义的版本号,表示当前能力结构的版本
Next Capability Offset: 指向下一个新的增强Capability寄存器的地址
2.2 Resizable BAR Capability Register
2.3 Resizable BAR Control Register
BAR Indix: 指向BAR的起点
■ 0x0 (VF_BAR_24h): VF BAR located at offset 24h.
■ 0x1 (VF_BAR_28h): VF BAR located at offset 28h.
■ 0x2 (VF_BAR_2Ch): VF BAR located at offset 2Ch.
■ 0x3 (VF_BAR_30h): VF BAR located at offset 30h.
■ 0x4 (VF_BAR_34h): VF BAR located at offset 34h.
■ 0x5 (VF_BAR_38h): VF BAR located at offset 38h.
Number of Resizeable BARs: 表示该函数的能力结构中可调整大小的bar的总数
■ 0x1 (BAR1): one resizable VF BAR for the function
■ 0x2 (BAR2): two resizable VF BARs for the function.
■ 0x3 (BAR3): three resizable VF BARs for the function.
■ 0x4 (BAR4): four resizable VF BARs for the function.
■ 0x5 (BAR5): five resizable VF BARs for the function.
■ 0x6 (BAR6): six resizable VF BARs for the function.
BAR Size: 这是一个编码过的值,该字段的默认值等于BAR资源通过BAR的只读位请求的地址空间的默认大小,软件必须只写入 Resizable BAR Capability中所支持的值相对应的值,编写不支持的值将产生未定义的结果。
■ 0x0 (_1MB): 1MB(2^20 bytes)
■ 0x1 (_2MB): 2MB(2^21 bytes)
■ 0x2 (_4MB): 4MB(2^22 bytes)
■ 0x3 (_8MB): 8MB(2^23 bytes)
.
.
.
■ 0x2b (_8EB): 8EB(2^63 bytes)
PCIE Resizable BAR相关推荐
- pcie 的bar和dma bar2
设备在系统的PCI地址空间里申请一段来用,所申请的空间基址和大小保存在BAR寄存器里.BAR里的只是PCI域的地址空间,需要映射到IO地址空间里或者内存地址空间里之后软件才能使用 .映射到IO空间的话 ...
- PCIe学习笔记之pcie结构和配置空间
PCIe概述 PCI Express,是计算机总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统. PCIE总线使用的是高速差分总线,并采用端到端的连接方式, 现在的高 ...
- PCIe | 基础知识点扫盲
本文总结 lspci 相关的知识点 1' 2' 3' 4' 5' 6. 本文的内容主要源自互联网技术博客及 SSDfans 网站 7. 持续更新中 - Update: 2023 / 1 / 23 PC ...
- 【PCIe 5.0 - 102】SR-IOV【3】
承接[PCIe 5.0 - 101]SR-IOV[2] PCIe 系列SR-IOV导航: [PCIe 5.0 - 100]SR-IOV[1] [PCIe 5.0 - 101]SR-IOV[2] [PC ...
- Linux下PCIe驱动开发与学习
PCIe概述 PCI Express,是计算机总线PCI的一种,它沿用现有的PCI编程概念及通信标准,但建基于更快的串行通信系统. PCIE总线使用的是高速差分总线,并采用端到端的连接方式, 现在的高 ...
- 【PCIe 5.0 - 100】SR-IOV【1】
本文将从PCIe角度讲SR-IOV. PCIe 系列SR-IOV导航: [PCIe 5.0 - 100]SR-IOV[1] [PCIe 5.0 - 101]SR-IOV[2] [PCIe 5.0 - ...
- 带你了解PCIE通信原理
01.PCIE简介 PCI-Express(peripheral component interconnect express),简称PCIE,是一种高速串行计算机扩展总线标准,主要用于扩充计算机系统 ...
- 单击即可提高游戏速度:什么是可调整大小的BAR?
去年年底,AMD公司推出了Radeon RX 6800 XT,这是其最新的主流旗舰显卡.AMD公司自豪地展示了被称为当时最新的"专有"功能:可调整大小的BAR(基地址寄存器),尽管 ...
- PCIE 调试过程记录
遇到的问题 PCIE link不稳定 配置空间读写正常,Memory mapping空间读写异常 缘由 之前对PCIE的认识一直停留在概念的阶段,只知道是一个高速通讯协议,主要用于板内.板间的高速BU ...
最新文章
- 这是一份不完整的数据竞赛年鉴!
- MySQL内核月报 2014.11-MySQL· 5.7特性·在线Truncate undo log 表空间
- 字符统计2_JAVA
- vb.net限制软件使用次数_新增投屏及倍数播放,这款软件iOSAndroid全都有,影视神器,抓紧体验...
- 4.WCF事务【Transaction】
- 6.2二叉树及二叉树存储结构
- jQuery技术内幕:深入解析jQuery架构设计与实现原理1
- 图像处理自学(三):CAMERAM处理流程总结
- 自行编译cups绕过错误:file /etc/rc.d/rc.local from install of systemd conflicts with file from
- 计算机组成原理自测题,计算机组成原理自测练习题
- k2p华硕系统怎么设置_斐讯k2华硕固件,斐讯k2p华硕固件设置
- kms地址大全_kms激活服务器地址(常用)和自己搭建KMS服务器教程
- 如何设计网页模板才简洁美观?
- ERROR ~/.vuerc may be outdated. Please delete it and re-run vue-cli in manual mode.
- Zookeeper 深入进阶 —— ZAB 协议
- 计算机二级演示文稿合并PPT,[PPT考点]如何将两个幻灯片合并在一个幻灯片?
- 计算机网络【IP协议与以太网】
- 小马哥---高仿苹果7 7p已出现市场 图文鉴赏假机面目 警惕购买
- React 环境搭建以及创建项目工程(二)
- 简述工业机器人码垛工作站系统构成_模块一工业机器人码垛工作站系统集成.PDF...
热门文章
- Netdata 是一款 Linux 性能实时监测工具,以web的可视化方式展示
- 《时空交通数据预测方法及应用》附讲座PPT以及直播回放
- Word老是无响应的解决方法
- github客户端fork的简单教程
- Vue2 + cube UI 实现表单项目
- Android测试工具Robotium(Demo篇)
- 真假3D:VR成像技术探秘
- 刷题记录:牛客NC19910[CQOI2007]矩形RECT
- 解决问题“写代码在中间插入字符时会把后面的相邻字符覆盖掉”
- 华为openEuler 21.09创新版本系统,“sudo dnf update“更新报错,EPOL...