0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCIe的Spec中明确规定只有Root有权限发起配置请求

SwM2_ChinaAET 来源:未知 作者:李倩 2018-05-04 09:12 次阅读

需要特别注意的是,PCIe的Spec中明确规定只有Root有权限发起配置请求(Originate Configuration Requests),也就是说PCIe系统里面的其他设备是不允许去配置其他设备的配置空间的,即peer-to-peer的配置请求是不允许的。并且配置请求的路由(Routing)方式只能是采用BDF(Bus,Device,Function)。

处理器一般不能够直接发起配置读写请求,因为其只能产生Memory Request和IO Request。这就意味着Root必须要将处理器的相关请求转换为配置读写请求。针对传统的PCI设备(Legacy PCI),采用的是IO间接寻址访问(IO-indirect Accesses);针对PCIe设备,采用的是Memory-Mapped Accesses。

前面的文章还介绍过,Root和Switch的每一个端口中都包含一个P2P桥,并且知道桥的配置空间头(Configuration Space Header)是Type1型的。如下图所示:

每个Type1型的Header中都包含最后一级总线号(Subordinate Bus Number)、下一级总线号(Secondary Bus Number)和上一级总线号(Primary Bus Number)等信息。当配置请求进行BDF路由的时候,正是依靠这些信息来确定要找的设备的。一个简单地例子如下图所示:

注:上面的例子是整个PCIe总线系统中只有一个Root的情况,实际上PCIe Spec还允许总线系统中存在多个Root(即Multi-Root)。关于Multi-Root,这里就不详细地介绍了,有兴趣地可以自行阅读PCIe的Spec。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80807
  • root
    +关注

    关注

    1

    文章

    82

    浏览量

    21235

原文标题:【博文连载】PCIe扫盲——配置空间的读写机制

文章出处:【微信号:ChinaAET,微信公众号:电子技术应用ChinaAET】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    arkts http 发起请求失败

    http 发起请求 官网Http库
    发表于 03-23 00:33

    为什么老是提示没有权限呢?

    为什么老是提示没有权限呢?
    发表于 11-24 10:49

    抱歉,您没有权限在该版块回帖

    抱歉,您没有权限在该版块回帖
    发表于 11-24 15:40

    MOTO MB855 ROOT权限获取教程

    】MOTO MB855获取ROOT权限步骤ROOT工具下载完成之后,打开ROOT助手点击软件的一键RO
    发表于 10-15 17:44

    如何才能获得ROOT权限

    如何获ROOT权限? 有哪些指令可以改变呢?
    发表于 07-05 00:12

    如何获取root权限

    需求:获取root权限操作:1.>>adb remountUse "adb disable-verity" to disable verity.If you do
    发表于 12-31 06:24

    如何才能获取andriod版本的root权限

    OK4418C开发板 andriod版本,需要获取root权限,需要如何配置?使用adb shell 连接之后输入su,提示命令不存在输入busybox su,,提示must be suid
    发表于 01-06 06:29

    如何获取root权限

    如何获取root权限呢?怎样获取root权限工具RootUtils呢?
    发表于 02-10 06:41

    如何添加系统root权限

    如何添加系统root权限
    发表于 03-04 06:16

    华为c8812如何获得root权限详细教程

    在网上看到很多朋友问:华为c8812如何获得root权限,下面分享一个用Recovery刷华为c8812如何获得root权限的方法,以下是具体方法: 在刷
    发表于 10-12 18:23 1.4w次阅读
    华为c8812如何获得<b class='flag-5'>root</b><b class='flag-5'>权限</b>详细教程

    Flyme系统多年不彻底开放root权限的问题,被黄章一句话解决了

    彻底开放root权限对于一部分喜欢折腾的消费者来说,可以放心入手魅族16了,即使魅族16预装的系统是基于Android7.1深度定制的Flyme,也可以通过获取root权限,安装Xpo
    的头像 发表于 07-06 14:59 1.7w次阅读
    Flyme系统多年不彻底开放<b class='flag-5'>root</b><b class='flag-5'>权限</b>的问题,被黄章一句话解决了

    手机该不该ROOT权限ROOT之后会怎样?

    ROOT权限也就是手机的一个大门,即超级管理员的功能。手机厂商会植入APP广告,增加手机的影响力,又或者软件给予的津贴,在新的手机上预安装很多的APP。这些app程序,用户的操作权限是无法删除,但
    的头像 发表于 11-24 10:50 1.1w次阅读

    如何使用鸿蒙系统上权限请求框架桃夭

       桃夭是鸿蒙系统上的一款权限请求框架,对请求权限的代码进行高度封装,极大的简化了申请权限的代码逻辑,同时支持在 Ability、FractionAbility、AbilitySli
    的头像 发表于 11-10 09:34 1816次阅读

    一款好用的鸿蒙系统上的权限请求框架

       桃夭是鸿蒙系统上的一款权限请求框架,对请求权限的代码进行高度封装,极大的简化了申请权限的代码逻辑,同时支持在 Ability、FractionAbility、AbilitySli
    的头像 发表于 12-03 10:10 1614次阅读

    虚拟机的root权限在哪里设置

    设置虚拟机的root权限是一项关键且复杂的任务,需要在虚拟机的操作系统中进行。下面将详细介绍如何在不同的虚拟化平台中设置虚拟机的root权限。 VMware虚拟机的
    的头像 发表于 11-23 10:55 4843次阅读