7.Software Initialization and configuration

PCI EXPRESS Configuration model 支持两种配置空间的访问机制:

-PCI 兼容配置机制:100%的二进制兼容PCI 2.3中定义的,以及兼容早期的OS或类似的总线枚举和配置软件。

-PCI Express增强配置机制:提供了更大有效的配置空间,以及更有效的访问机制。

7.1 Configuration Topology

-PCI Express Link:A Link represents a dual-simplex communications channel between two components。

-Root Complex: RC的主要功能与PCI总线中的HOST主桥类似,但是在HOST主桥的基础上增加了许多功能。

7.2 PCI Express Configuration Mechanisms

PCI Express 配置空间图:

-1.PCI Express把PCI SPEC 2.3中规定的配置空间从256byte扩展了至4096 byte。

-2.PCI Express configuration space分为两部分:

--1.PCI 2.3兼容部分,它包含每一个逻辑设备的配置空间的第一个256bytes。
--2.PCI Express扩展部分,包括剩下的区域。

-3.PCI 2.3兼容部分可以用任何一种在PCI 2.3中定义的访问机制访问,也可以用PCI EXPRESS定义的配置访问方式 访问(后面介绍)。

-4.PCI Express扩展空间部分只能用PCI Express configuration access mechanism。

对于PCI 2.3兼容部分的访问方式如下:

1.每一個PCI device都有其 unique PFA(PCI Function Address). PFA由 bus number,device number & function number所組成.例如. USB device PFA is (0,6,0) <- USB is a PCI device and its bus/dev/function is 0/6/0。

-- 有了PFA,就可以存取其 PCI configuration registers.

Ex. write USB PCI register 43h bit1 = 1

mov eax, 80003040h
mov dx, 0cf8h
out dx, eax

mov dx, 0cffh
in al, dx
or al, 00000010b
out dx, al

对于.PCI Express扩展空间部分的访问:
Ex. mov ax, [50400000h] <- read device (4,0,0)'s register 0;2 bytesNote: PCIe extended base address 要 reserve and report to OS. Size is 256MByte. 這是BIOS需要做的. (當然,BIOS也要將此 base address寫入 chipset register,讓 chipset 知道:有這樣的 cycle時,是給PCIe device的 ! )-繁体字部分来自网络

here 50000000h: PCIe extended base address. 可以從 chipset register得知
     bit[27:20]: Bus information
     [19:15]: Device information
     [14:12]: Function information
     [11: 8]: Extended Register
     [7:2]: DW number
     [1:0]: Byte enable

因此,只要知道 PCIe extended base address,就可以像以前一樣,可以任意存取 PCIe config registers, 即可以访问 0FFh 。

NOTE:实际上,pcie device可以由其PCI 2.3兼容部分里的Capabilities Pointer Register识别,因为在眾多的 capabilities中,會有一個 PCIe capability;其 ID value = 10h.

ID

Description

00h

Reserved.

01h

PCI Power Management Interface. Refer to "The PM Capability Register Set" on page 585.

02h

AGP. Refer to "AGP Capability" on page 845. Also refer to the MindShare book entitled AGP System Architecture, Second Edition (published by Addison-Wesley).

03h

VPD. Refer to "Vital Product Data (VPD) Capability" on page 848.

04h

Slot Identification. This capability identifies a bridge that provides external expansion capabilities (i.e., an expansion chassis containing add-in card slots). Full documentation of this feature can be found in the revision 1.1 PCI-to-PCI Bridge Architecture Specification. For a detailed, Express-oriented description, refer to "Introduction To Chassis/Slot Numbering Registers" on page 859 and "Chassis and Slot Number Assignment" on page 861.

05h

Message Signaled Interrupts. Refer to "The MSI Capability Register Set" on page 332.

06h

CompactPCI Hot Swap. Refer to the chapter entitled Compact PCI and PMC in the MindShare book entitled PCI System Architecture, Fourth Edition (published by Addison-Wesley).

07h

PCI-X device. For a detailed description, refer to the MindShare book entitled PCI-X System Architecture (published by Addison-Wesley).

08h

Reserved for AMD.

09h

Vendor Specific capability register set. The layout of the register set is vendor specific, except that the byte immediately following the "Next" pointer indicates the number of bytes in the capability structure (including the ID and Next pointer bytes). An example vendor specific usage is a function that is configured in the final manufacturing steps as either a 32-bit or 64-bit PCI agent and the Vendor Specific capability structure tells the device driver which features the device supports.

0Ah

Debug port.

0Bh

CompactPCI central resource control. A full definition of this capability can be found in the PICMG 2.13 Specification (http://www.picmg.com).

0Ch

PCI Hot-Plug. This ID indicates that the associated device conforms to the Standard Hot-Plug Controller model.

0Dh-0Fh

Reserved.

10h

PCI Express Capability register set (aka PCI Express Capability Structure). For a detailed explanation, refer to "PCI Express Capability Register Set" on page 896.

11h-FFh

Reserve

3.8.2.12 HECBASE - PCI Express Extended Configuration Base Address Register
This register defines the base address of the enhanced PCI Express configuration
memory.

Device: 16
Function: 0
Offset: 64h
Version: Intel 5000P Chipset, Intel 5000V Chipset, Intel 5000Z Chipset
Bit        Attr      Default     Description
31:24 RV       0h              Reserved

23:12 RW      001h           HECBASE: PCI Express Extended Configuration Base This register   contains     the address that corresponds to bits 39 to 28 of the base address for PCI Express extended   configuration space. Configuration software will read this register to determine where the 256MB range of addresses resides for this particular host bridg e. This register defaults to the same address as the default value for TOLM.
11:0 RV                 0h    Reserved

阅读全文
类别:Bios 查看评论

转载于:https://www.cnblogs.com/kuwoyidai/archive/2010/07/14/1777529.html

PCI_Express规范第七章解读-Software Initialization and configuration相关推荐

  1. CFDA《药品数据管理规范》疑难点解读

    CFDA审核查验中心在国庆前一天发布了<药品数据管理规范>征求意见稿,引起业内关注.通读这篇规范,大致内容与WHO之前发布了<数据与记录管理规范指南>一样,相对来说,已经写得足 ...

  2. 湖北省三甲复审评审资料(2011年版第七章--信息科相关)

    第七章 日常统计学评价 概述: 医院运行.医疗质量与安全监测指标(HMI)反映医疗质量在一定时间和条件下的结构.过程.结果等的概念和数值.由指标名称和指标数值组成.建立科学的医疗质量评价指标,是实施医 ...

  3. 鸟哥的Linux私房菜(服务器)- 第七章、网络安全与主机基本防护: 限制端口, 网络升级与 SELinux

    第七章.网络安全与主机基本防护: 限制端口, 网络升级与 SELinux 最近更新日期:2011/07/21 通过第一篇的锻炼之后,现在你应该已经利用 Linux 连上 Internet 了.但是你的 ...

  4. 第七章、Linux 文件与目录管理

    第七章.Linux 文件与目录管理 1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关於运行档路径的变量: $PATH 2. ...

  5. 第七章 前端开发——前端工程化(NPM、脚手架、前端环境搭建)

    第七章 前端工程化(NPM.脚手架.前端环境搭建) 一.支持环境 二.NPM包管理工具 三.Vue生成器 四.前端的集成环境 五.项目目录结构 六.前端Vue框架与后端Django框架的简单交互 一. ...

  6. 鸟哥的Linux私房菜(基础篇)- 第七章、Linux 文件与目录管理

    第七章.Linux文件与目录管理 最近升级日期:2009/08/26 在第六章我们认识了Linux系统下的文件权限概念以及目录的配置说明.在这个章节当中,我们就直接来进一步的操作与管理文件与目录吧!包 ...

  7. 第七章-NoSQL数据库

    第七章-NoSQL数据库 文章目录 第七章-NoSQL数据库 NoSQL简介 NoSQL VS. 关系数据库 NoSQL的四大类型 键值数据库 列族数据库 文档数据库 图形数据库 不同类型数据库比较 ...

  8. java的type转化class_第七章 (类型转换)Type Convertion

    第七章 Type Convertion 为什么会有类型转换? HTTP协 议中传递的任何内容都是String类型的,所以一旦我们在服务器上需要一个非String类型的对象,例如:int或者Date,那 ...

  9. 《深入理解分布式事务》第七章 XA 强一致性分布式事务原理

    <深入理解分布式事务>第七章 XA 强一致性分布式事务原理 文章目录 <深入理解分布式事务>第七章 XA 强一致性分布式事务原理 一.X/Open DTP 模型与 XA 规范 ...

最新文章

  1. nvGRAPH原理概述
  2. Bootstrap3.0学习第九轮(CSS补充)
  3. 网页插件学javascript还是jquery好啊?
  4. C#获取类名为Internet_Explorer_Server控件的内容
  5. c语言程序设计运用,清华大学出版社-图书详情-《C语言程序设计及应用教程》...
  6. 丢掉xml使用JavaConfig配置Spring
  7. 自己实现一些JQuery插件-----------------------------------(一)
  8. 卷积神经网络(CNN)介绍
  9. centos7源码安装mysql报错_CentOS7 下源码安装MySQL数据库 8.0.11
  10. 嵌入式Linux内存使用与性能优化
  11. Quartz-第四篇 常规quartz的使用
  12. Lunix git stash clear 或者 git stash drop后恢复的方法
  13. 测试用例之黑盒测试方法
  14. JVM上篇学习3--内存与垃圾回收
  15. 《实变函数简明教程》,P78,第16题(依测度收敛 推导 依测度收敛,几乎处处小于 推导 几乎处处小于)
  16. PyTorch笔记 - Dropout: A Simple Way to Prevent Neural Networks from Overfitting
  17. 计算机网络子网斜杠后面的含义,ip地址后面的斜杠24是什么意思
  18. 低端电流检测电路实测
  19. Keil MDK 选中相同变量 高亮突出显示
  20. 使用百度地图时如何隐藏百度地图logo

热门文章

  1. java开心消消乐代码_Vue实现开心消消乐游戏算法
  2. java 动态生成getset_通过get、set方法,动态生成对象
  3. ironpython this_IronPython sys._getframe not found
  4. 计算机毕业设计答辩慌?软工本科 Java EE 毕设项目答辩问题、答案汇总指南奉上
  5. MySQL 学习二:高手必备!MySQL 增删改查高级命令大全硬核总结!
  6. cas4.2.7与shiro进行整合
  7. tiny4412移植tslib库
  8. linux训练python出现killed_Linux 查看进程被杀死的详情
  9. php分析图片中水印的位置,关于ThinkPHP打水印及设置水印位置的分析
  10. 条件控制与条件传送详解