PCI_Express规范第七章解读-Software Initialization and configuration

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。

2a345d4417b35dc2b3b7dcd6.jpg

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

7.2 PCI Express Configuration Mechanisms

PCI Express 配置空间图:

862e633df6c2d440bba1672c.jpg

-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 bytes
Note: 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.

1c627bd675ad8b6f06088b99.jpg

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Asp.net基础概念之 事件

.NET Framework中的事件 事件体系结构 引发事件的对象叫做事件源。事件源发布它可以引发的事件。事件的类型总是委托类型&#xff0c;这个委托类型的签名定义了处理该事件的方法的签名。定义事件处理程序方法的对象称为事件接收方。事件接收方预订要在事件源上处理的事件事件接…

Facebook图片存储架构技术全解析

Haystack提出了一种通用的基于HTTP的对象存储&#xff0c;它含有指针&#xff0c;映射到存储对象。在Haystack中以指针储存照片&#xff0c;把数以十万计的图像聚集到一个Haystack存储文件&#xff0c;从而消除了元数据负荷。这就使得元数据的开销非常小&#xff0c;并且使我们…

Shiro授权流程图

Shiro授权流程Shiro授权流程图Shiro授权流程图 根据Shiro授权流程&#xff0c;绘制流程图如下&#xff1a;

js中toFixed方法的两个坑

js中toFixed方法的两个坑toFixed返回结果是string&#xff0c;后续使用它计算会错误toFixed返回结果可能出现负零-0.00toFixed返回结果是string&#xff0c;后续使用它计算会错误 代码演示&#xff1a; 类型判断代码示例&#xff1a; var stringNum (100.101).toFixed(2); v…

外挂:一个很杯具的关键字

在网页挂马泛滥的时代&#xff0c;盗号***不缺少传播到用户电脑的通道&#xff0c;因为只需要找一些与游戏有关的网站&#xff0c;或者在流量大的网站把网马一挂&#xff0c;就不愁钓不着鱼。如今&#xff0c;时代在变迁&#xff0c;安全软件已经成功的解决了网页挂马这个难题&…

java.lang.ClassNotFoundException: retrofit2.Retrofit$Builder解决思路

ClassNotFoundException报错具体问题报错详情推测可能是jar包问题问题总结自定义依赖缺少依赖jar具体问题 Caused by: java.lang.NoClassDefFoundError: retrofit2/converter/simplexml/SimpleXmlConverterFactory报错详情 org.springframework.web.util.NestedServletExcept…

图像质量评估方法——结构相似性指数(SSIM)

结构相似性指数&#xff08;SSIM&#xff09;是一种全参考图像质量评估方法&#xff0c;用于比较两幅图像的相似性。 SSIM的计算涉及到亮度&#xff08;Luminance&#xff09;、对比度&#xff08;Contrast&#xff09;和结构&#xff08;Structure&#xff09;三个方面的相似性…

SQL SERVER重置自动编号列(标识列)

为什么80%的码农都做不了架构师&#xff1f;>>> 两种方法&#xff1a; 一种是用Truncate TRUNCATE TABLE name 可以删除表内所有值并重置标识值 二是用DBCC CHECKIDENT DBCC CHECKIDENT (table_name, RESEED, new_reseed_value) 如dbcc checkident ("bc_pos&q…

“街坊”×××数字平台,昔日的思想,曾经的努力

“街坊”数字平台“街坊”数字平台由“街坊”网站(http://www.jefun.cn/)、街坊售楼系统软件(http://real.jefun.cn/soft/)、街坊二手房交易系统软件(http://zu8.bj.jefun.cn/soft/)三大部分组成&#xff0c;集成了互联网、电话、短信、软件、GIS等诸位一体的技术与服务手段为用…

postfixadmin 导入数据库出错 ERROR 1062 (23000) at line 29

ERROR 1062 (23000) at line 29: Duplicate entry localhost-postfix-postfix for key 1 解决方法 [rootnagios-server postfixadmin]# mysql -uroot -p111111 <DATABASE_MYSQL.TXT ERROR 1062 (23000) at line 29: Duplicate entry localhost-postfix-postfix for key 1 删…

SharePoint最简母版页

代码 <%Master language"C#"%><% Register Tagprefix"SharePoint"Namespace"Microsoft.SharePoint.WebControls"Assembly"Microsoft.SharePoint, Version12.0.0.0, Cultureneutral, PublicKeyToken71e9bce111e9429c"%><…

封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>

封装自定义的redis切库工具类ByteArrayRedisTemplate&#xff0c;读取byte数组反序列化成List&#xff1c;Object&#xff1e;&#xff08;使用lettuce连接池&#xff09;代码环境框架&#xff1a;springboot依赖&#xff1a;spring-boot-starter-data-redis步骤1&#xff1a;注…

redis的zset使用(java)——存取List< Object>

1 需求 要往redis存取List< Object>。 2 条件 1&#xff09;Object&#xff1a;是一个UserEvent对象&#xff0c;对应3个字段&#xff1a; Integer productId; String eventCode; Long timestamp;2&#xff09;要求 每个key里存取对象个数不超过xx个。 超过xx个&…

ogre研究之第一个程序(一)

第一次发送超过字数了&#xff0c;被迫剪成两篇&#xff01; 上一篇我们介绍了如何搭建开发环境&#xff0c;并创建了一个空白的窗口程序。 这里我们主要是实现在程序中装载一个简单的模型并显示出来。 首先看一下效果吧&#xff0c;&#xff08;模型就是ogre例子中的robot.mes…

英语生词本

英语生词本 1、daemon [di:mən] 守护进程2、phase [英] [feiz] 阶段, 时期3、methodology [英] [ˌmeθəˈdɔlədʒi:] 方法学,方法论4、algorithmalgorithm [英] [ˈlɡəriəm] [美] [ˈlɡəˌrɪəm] 运算法则2. 算法&#xff1b;演算法&#xff1b;计算程序3. 演示5、…

Executors源码解读——创建ExecutorService线程池

Executors源码解读——创建ExecutorService线程池〇、[源码版本] jdk 1.8一、线程池概述二、线程池创建三、Executors源码解读newFixedThreadPool()newWorkStealingPool()newSingleThreadExecutor()newCachedThreadPool()newSingleThreadScheduledExecutor()〇、[源码版本] jdk…

RIP,EIGRP,OSPF融合网络互通实验(原创)

首先看拓扑&#xff1a; 一个面试考官问我一个这样的问题&#xff0c;拓扑如上&#xff0c;为什么R1上的lo0 PING 不通 R6 上的lo0,说是一切都按正常配置&#xff0c;说是考我EIGRP的特性。我当然很纳闷&#xff0c;如果都正常配置怎么会不通呢&#xff0c;最后他告诉我主要是考…

谷歌A/B实验——重叠实验基础设施解读

谷歌A/B实验——重叠实验基础设施解读〇、来源一、背景介绍二、如何划分参数三、谷歌设计的ab实验系统3.1 域和层的设计3.1.1 基础重叠域和层设计3.1.2 具备非重叠和重叠的域和层设计3.1.2 具备非重叠的域的嵌套设计优点3.1.3 具备非重叠的域的嵌套设计缺点3.1.4 启动层&#x…

Mysql 5.7 创建索引官方解读

一、环境 Mysql 5.7 二、Mysql索引创建解读 1.概述 通常我们在使用CREATE TABLE时会创建所有的索引。索引的创建对于 InnoDB 表尤其重要&#xff0c;其中主键决定了数据文件中行的物理布局。 CREATE INDEX是另一种添加索引的方式&#xff0c;针对已经创建的表添加索引。注…

AspectJ切面自定义注解实现参数分组校验——基础概念(1)

AspectJ切面自定义注解实现参数分组校验——基础概念&#xff08;1&#xff09;一、环境二、validation-api源码解读2-1.Default源码解读2-2.valid源码解读2-3.Validation源码解读一、环境 maven 需要引入的依赖&#xff1a; <dependency><groupId>javax.valida…