linux-device-driver - 设备树 dma-ranges 示例中的“ss 类型”是什么?(用于 PCIe 主机控制器)
问题描述
这是来自网页:https ://elinux.org/Device_Tree_Usage
扩展上面的例子:
pci@0x10180000 { compatible = "arm,versatile-pci-hostbridge", "pci"; reg = <0x10180000 0x1000>; interrupts = <8 0>; bus-range = <0 0>; #address-cells = <3> #size-cells = <2>; ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 0x01000000 0 0x00000000 0xb0000000 0 0x01000000 dma-ranges = <0x02000000 0 0x00000000 0x80000000 0 0x20000000>; };
这个 dma-ranges 条目表明,从 PCI 主机控制器的角度来看,位于 PCI
地址 0x00000000 的 512 MB 将出现在地址 0x80000000 的主核心内存中。
如您所见,我们只是将 ss 地址类型设置为 0x02,表示这是一些 32 位内存。
在网页中,dma-ranges 中的数字以颜色表示,因此很容易将数字与解释相匹配。它说它设置ss address type
为0x02。它是什么?我在设备树规范中找不到它。在我可以在第 2.2.4 节路由和寻址规则中找到的 PCIe 规范Translated
中,TLP(事务层数据包?)格式中有 AT(地址转换)位(0x2 表示)。但是位置不同。这是什么ss
位?
解决方案
推荐阅读
- azure - Azure 存档操作和定价
- html - Box-shadow 与 div top/down/left/bottom 周围的其他 div 重叠吗?
- python - 在 Python 中返回格式正确的递归列表
- twilio - 希望接听拨打 twilio 美国电话号码的电话(我在国外)
- neo4j - neo4j 为现有节点生成唯一 ID
- scons - 在一个 Scons 构建中编译多个 Godot 目标
- java - 即使我将更改后的 ArrayList 作为返回值返回,我在函数中填写的 ArrayList 也不会影响其余代码中的 ArrayList
- c# - 在创建单元测试时,我能做些什么来防止该方法被调用?
- xamarin.forms - Listview 在 iOS 上滚动,但不是在 Android 上滚动
- c# - 有没有办法在我的 C# 项目中为我的自适应卡使用本地图像而不是 Web-URL?