- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
问题描述如下:
linux启动后,运行命令“lspci -v”,我们可以看到可以找到pci设备,但是没有分配地址给设备。进一步查看linux启动信息,发现有很多类似“bridge window mem ...”的信息。不确定这些消息是正常的还是实际上是地址分配失败的迹象。
我运行的处理器是Freescale p2010,是powerpc架构。 bootloader是我们自己设计的,没有接触pci相关的东西。所以我们完全依赖 Linux 内核自己完成完整的 pci 枚举。
我们在 Linux 内核 pci 枚举开始之前做的唯一一件事就是为 pci 空间使用配置一个 LAW 窗口(特别是 LAW4)。此外,当然还要根据我们的硬件配置对dts文件进行适当的修改。我们认为在完成所有这些准备工作后,Linux 内核应该能够使所有 pci 东西正常工作,然而,它没有。
那么,有没有人知道如何解决这个问题,或者曾经遇到过类似的问题,并且可以对此有所了解?非常感谢!
下面附有更多信息:
========内核引导参数===============
root=/dev/ram rw ip=off console=ttyS0,9600
========dts中的PCI段设置=======
pci0: pcie@fbf0a000 {
interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
interrupt-map = <
00000 0x0 0x0 0x1 &mpic 0x0 0x1
00000 0x0 0x0 0x2 &mpic 0x1 0x1
00000 0x0 0x0 0x3 &mpic 0x2 0x1
00000 0x0 0x0 0x4 &mpic 0x3 0x1>;
interrupt-parent = <&mpic>;
interrupts = <26 2>;
bus-range = <0 255>;
ranges = <0x2000000 0x0 0x80000000 0x80000000 0x0 0x40000000
0x1000000 0x0 0x0 0xd3000000 0x0 0x100000>;
clock-frequency = <33333333>;
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;
reg = <0xfbf0a000 0x1000>;
compatible = "fsl,mpc8548-pcie";
device_type = "pci";
fsl,pcie-access-big-endian;
pcie@0 {
reg = <0x0 0x0 0x0 0x0 0x0>;
#size-cells = <2>;
#address-cells = <3>;
device_type = "pci";
ranges = <0x2000000 0x0 0x80000000
0x2000000 0x0 0x80000000
0x0 0x40000000
0x1000000 0x0 0x0
0x1000000 0x0 0x0
0x0 0x100000>;
};
};
==============“lspci -v”的结果===============
# lspci -v
0000:00:00.0 Class 0b20: 1957:007b (rev 21)
!!! Invalid class 0b20 for header type 01
Flags: bus master, fast devsel, latency 0
Memory at <ignored> (32-bit, non-prefetchable)
Bus: primary=00, secondary=01, subordinate=07, sec-latency=0
I/O behind bridge: 00000000-00000fff
Memory behind bridge: 00000000-000fffff
Prefetchable memory behind bridge: 0000000000000000-0000000000000000
Capabilities: [44] Power Management version 2
Capabilities: [4c] #10 [0041]
0000:01:00.0 Class 0604: 10b5:8606 (rev ba)
Flags: bus master, fast devsel, latency 0
Bus: primary=01, secondary=02, subordinate=07, sec-latency=0
Capabilities: [40] Power Management version 3
Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/2 Enable+
Capabilities: [68] #10 [0052]
Capabilities: [a4] #0d [0000]
0000:02:01.0 Class 0604: 10b5:8606 (rev ba)
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=03, subordinate=03, sec-latency=0
Capabilities: [40] Power Management version 3
Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/2 Enable+
Capabilities: [68] #10 [0162]
Capabilities: [a4] #0d [0000]
0000:02:04.0 Class 0604: 10b5:8606 (rev ba)
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=04, subordinate=04, sec-latency=0
Capabilities: [40] Power Management version 3
Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/2 Enable+
Capabilities: [68] #10 [0162]
Capabilities: [a4] #0d [0000]
0000:02:05.0 Class 0604: 10b5:8606 (rev ba)
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=05, subordinate=05, sec-latency=0
Capabilities: [40] Power Management version 3
Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/2 Enable+
Capabilities: [68] #10 [0162]
Capabilities: [a4] #0d [0000]
0000:02:07.0 Class 0604: 10b5:8606 (rev ba)
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=06, subordinate=06, sec-latency=0
Capabilities: [40] Power Management version 3
Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/2 Enable+
Capabilities: [68] #10 [0162]
Capabilities: [a4] #0d [0000]
0000:02:09.0 Class 0604: 10b5:8606 (rev ba)
Flags: bus master, fast devsel, latency 0
Bus: primary=02, secondary=07, subordinate=07, sec-latency=0
Capabilities: [40] Power Management version 3
Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/2 Enable+
Capabilities: [68] #10 [0162]
Capabilities: [a4] #0d [0000]
0000:03:00.0 Class 0580: 10ee:7011
Subsystem: 10ee:0007
Flags: fast devsel, IRQ 17
Capabilities: [40] Power Management version 3
Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Capabilities: [60] #10 [0002]
0000:04:00.0 Class 0580: 10ee:7011
Subsystem: 10ee:0007
Flags: fast devsel, IRQ 16
Capabilities: [40] Power Management version 3
Capabilities: [48] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Capabilities: [60] #10 [0002]
0000:05:00.0 Class 0200: 14e4:8372 (rev 13)
Subsystem: 14e4:8372
Flags: fast devsel, IRQ 17
Memory at <ignored> (64-bit, non-prefetchable)
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data
Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-
Capabilities: [ac] #10 [0002]
0000:06:00.0 Class 0200: 14e4:8372 (rev 13)
Subsystem: 14e4:8372
Flags: fast devsel, IRQ 18
Memory at <ignored> (64-bit, non-prefetchable)
Capabilities: [48] Power Management version 3
Capabilities: [50] Vital Product Data
Capabilities: [58] Message Signalled Interrupts: 64bit+ Queue=0/3 Enable-
Capabilities: [ac] #10 [0002]
#
=======================Linux内核启动信息====================
irq: irq 47 on host /soc@fbf00000/pic@40000 mapped to virtual irq 47
PCI: Probing PCI hardware
pci 0000:00:00.0: ignoring class b20 (doesn't match header type 01)
pci 0000:00:00.0: supports D1 D2
pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
pci 0000:00:00.0: PME# disabled
pci 0000:01:00.0: reg 10: [mem 0x00000000-0x0001ffff]
pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
pci 0000:01:00.0: PME# disabled
pci 0000:00:00.0: PCI bridge to [bus 01-ff]
pci 0000:00:00.0: bridge window [io 0x0000-0x0000] (disabled)
pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff] (disabled)
pci 0000:00:00.0: bridge window [mem 0x00000000-0x000fffff pref] (disabled)
irq: irq 0 on host /soc@fbf00000/pic@40000 mapped to virtual irq 16
pci 0000:02:01.0: PME# supported from D0 D3hot D3cold
pci 0000:02:01.0: PME# disabled
pci 0000:02:04.0: PME# supported from D0 D3hot D3cold
pci 0000:02:04.0: PME# disabled
pci 0000:02:05.0: PME# supported from D0 D3hot D3cold
pci 0000:02:05.0: PME# disabled
pci 0000:02:07.0: PME# supported from D0 D3hot D3cold
pci 0000:02:07.0: PME# disabled
pci 0000:02:09.0: PME# supported from D0 D3hot D3cold
pci 0000:02:09.0: PME# disabled
pci 0000:01:00.0: PCI bridge to [bus 02-ff]
pci 0000:01:00.0: bridge window [io 0xf000-0x0000] (disabled)
pci 0000:01:00.0: bridge window [mem 0xfff00000-0x000fffff] (disabled)
pci 0000:01:00.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
irq: irq 1 on host /soc@fbf00000/pic@40000 mapped to virtual irq 17
irq: irq 3 on host /soc@fbf00000/pic@40000 mapped to virtual irq 18
pci 0000:03:00.0: reg 10: [mem 0x00000000-0x00003fff]
pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot
pci 0000:03:00.0: PME# disabled
pci 0000:02:01.0: PCI bridge to [bus 03-ff]
pci 0000:02:01.0: bridge window [io 0xf000-0x0000] (disabled)
pci 0000:02:01.0: bridge window [mem 0xfff00000-0x000fffff] (disabled)
pci 0000:02:01.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
pci 0000:04:00.0: reg 10: [mem 0x00000000-0x00003fff]
pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot
pci 0000:04:00.0: PME# disabled
pci 0000:02:04.0: PCI bridge to [bus 04-ff]
pci 0000:02:04.0: bridge window [io 0xf000-0x0000] (disabled)
pci 0000:02:04.0: bridge window [mem 0xfff00000-0x000fffff] (disabled)
pci 0000:02:04.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
pci 0000:05:00.0: reg 10: [mem 0x80400000-0x8043ffff 64bit]
pci 0000:05:00.0: PME# supported from D0 D3hot D3cold
pci 0000:05:00.0: PME# disabled
pci 0000:02:05.0: PCI bridge to [bus 05-ff]
pci 0000:02:05.0: bridge window [io 0xf000-0x0000] (disabled)
pci 0000:02:05.0: bridge window [mem 0xfff00000-0x000fffff] (disabled)
pci 0000:02:05.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
pci 0000:06:00.0: reg 10: [mem 0x80500000-0x8053ffff 64bit]
pci 0000:06:00.0: PME# supported from D0 D3hot D3cold
pci 0000:06:00.0: PME# disabled
pci 0000:02:07.0: PCI bridge to [bus 06-ff]
pci 0000:02:07.0: bridge window [io 0xf000-0x0000] (disabled)
pci 0000:02:07.0: bridge window [mem 0xfff00000-0x000fffff] (disabled)
pci 0000:02:07.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
pci 0000:02:09.0: PCI bridge to [bus 07-ff]
pci 0000:02:09.0: bridge window [io 0xf000-0x0000] (disabled)
pci 0000:02:09.0: bridge window [mem 0xfff00000-0x000fffff] (disabled)
pci 0000:02:09.0: bridge window [mem 0xfff00000-0x000fffff pref] (disabled)
PCI: Cannot allocate resource region 0 of device 0000:05:00.0, will remap
PCI: Cannot allocate resource region 0 of device 0000:06:00.0, will remap
pci 0000:01:00.0: BAR 8: can't assign mem (size 0x400000)
pci 0000:01:00.0: BAR 0: can't assign mem (size 0x20000)
pci 0000:02:01.0: BAR 8: can't assign mem (size 0x100000)
pci 0000:02:04.0: BAR 8: can't assign mem (size 0x100000)
pci 0000:02:05.0: BAR 8: can't assign mem (size 0x100000)
pci 0000:02:07.0: BAR 8: can't assign mem (size 0x100000)
pci 0000:03:00.0: BAR 0: can't assign mem (size 0x4000)
pci 0000:02:01.0: PCI bridge to [bus 03-03]
pci 0000:02:01.0: bridge window [io disabled]
pci 0000:02:01.0: bridge window [mem disabled]
pci 0000:02:01.0: bridge window [mem pref disabled]
pci 0000:04:00.0: BAR 0: can't assign mem (size 0x4000)
pci 0000:02:04.0: PCI bridge to [bus 04-04]
pci 0000:02:04.0: bridge window [io disabled]
pci 0000:02:04.0: bridge window [mem disabled]
pci 0000:02:04.0: bridge window [mem pref disabled]
pci 0000:05:00.0: BAR 0: can't assign mem (size 0x40000)
pci 0000:02:05.0: PCI bridge to [bus 05-05]
pci 0000:02:05.0: bridge window [io disabled]
pci 0000:02:05.0: bridge window [mem disabled]
pci 0000:02:05.0: bridge window [mem pref disabled]
pci 0000:06:00.0: BAR 0: can't assign mem (size 0x40000)
pci 0000:02:07.0: PCI bridge to [bus 06-06]
pci 0000:02:07.0: bridge window [io disabled]
pci 0000:02:07.0: bridge window [mem disabled]
pci 0000:02:07.0: bridge window [mem pref disabled]
pci 0000:02:09.0: PCI bridge to [bus 07-07]
pci 0000:02:09.0: bridge window [io disabled]
pci 0000:02:09.0: bridge window [mem disabled]
pci 0000:02:09.0: bridge window [mem pref disabled]
pci 0000:01:00.0: PCI bridge to [bus 02-07]
pci 0000:01:00.0: bridge window [io disabled]
pci 0000:01:00.0: bridge window [mem disabled]
pci 0000:01:00.0: bridge window [mem pref disabled]
pci 0000:00:00.0: not setting up bridge for bus 0000:01
pci_bus 0000:00: resource 0 [io 0xffafd000-0xffbfcfff]
pci_bus 0000:00: resource 1 [mem 0x80000000-0xbfffffff]
Registering qe_ic with sysfs...
bio: create slab <bio-0> at 0
vgaarb: loaded
Generic PHY: Registered new driver
最佳答案
在我们的一个 SuperMicro 上:启用以下 BIOS 选项:
高级 -> PCIe/PCI/PnP 配置:
PCI PERR/SERR Support - Enabled - event log pci errors.
Above 4G Decoding - Enabled - 64bit O/S and many pcie devices.
SR-IOV Support - Enabled - Linux gets dmesg "no space for" errs.
首先是一个建议...
关于linux - 为什么没有分配给 pci 设备的 BAR 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13618027/
当操作系统枚举 PCI 总线时,它会从每个 PCI 设备收集信息。我的问题是,操作系统在哪里存储这些信息?每个操作系统在运行时是否在 RAM 中都有一个 64KB 的数组? 最佳答案 PCI 信息被存
我们正在做一个项目,它的性质有点像拼车,我读到了 PCI 合规性,我知道如果我们处理信用卡或付款,我们必须符合 PCI 合规性我有点模棱两可,我们是否存储我们的司机银行信息例如数据库中的帐号(加密),
我们过去从未传输、处理或存储信用卡信息,因为我们通过 PayPal 完成所有操作,因此我们从不需要符合 PCI 标准。 但是,我们正在推出一个新的在线商店,并通过无缝结账处理信用卡信息而不重定向到 P
我有一个 NIC 卡和一个 HDD,它们都连接在 Linux 机器的 PCIe 插槽上。理想情况下,我希望在不涉及 CPU 或最少涉及 CPU 的情况下将传入数据包传送到 HDD。是否可以像这样沿着
根据 PCI 标准,设备是根据供应商 ID、设备 ID 和总线编号来识别的。所有相同类型的设备都具有相同的供应商 ID 和设备 ID。如果我将两个这样的设备放在同一条总线上,比如总线 0。PCI 软件
我正在查看商家帐户,据我所知,存储送货地址符合 PCI 合规性,这是真的吗?此外,Recurly 的 API 似乎需要 SAQ C 或 SAQ D,我查看了一些示例问题: 配置标准是否包括对防火墙的要
我们进行的某些信用卡处理需要符合 PCI 标准。人们在其他商店是如何做到这一点的? 如何保护您的 SVN? 如何保护构建服务器的安全? 代码如何从开发人员迁移到生产环境? 最佳答案 不是为了转移其他答
我只是想知道如果您存储加密的信用卡号以进行定期计费,PCI 认证级别会是多少。 我计划每年交易量少于 20,000 笔,但我不确定存储的信用卡号码。 最佳答案 如果您确实(确实)需要存储卡号,那么您就
我正在查看商家帐户,据我所知,存储送货地址符合 PCI 合规性,这是真的吗?此外,Recurly 的 API 似乎需要 SAQ C 或 SAQ D,我查看了一些示例问题: 配置标准是否包括对防火墙的要
我知道 PCI 配置空间中的基地址寄存器 (BAR) 定义了 PCI 地址的起始位置,但是该区域的大小是如何确定的? 当然,这是硬件的一个属性,因为只有它知道它可以处理的地址空间有多远。但是,我似乎在
我正在做的是开发一款财务软件,并将其连接到符合 pci 标准的第三方信用卡公司。我们公司是一家加拿大公司。我们不符合 pci,也不打算符合 pci。但我们希望保存 PAN 的后 4 位数字,以帮助一线
我目前正在从事该项目,其功能之一是电子商务,因此我们的系统应负责用户信用卡信息和其他凭证信息的安全性。 我知道任何处理用户支付卡信息的网络服务都应遵循 PCI 合规性(支付卡信息数据安全标准)。作为前
我们需要为基于订阅/定期付款的 SaaS 应用程序存储信用卡的最后 4 位数字(以便让客户知道他们使用了哪张卡?)和到期日期(通知客户他们的卡即将到期)。 PCI DSS 中允许这两种数据存储吗?请引
我正在用 C# 编写一个程序来对许多 Windows XP 工作站执行硬件审核。 我需要确定哪些 PCI 设备是通过主板插槽连接的实际卡 - 而不是也使用 PCI 总线(内置于主板中)的板载设备。 我
在 Linux 中,有没有办法找出哪个 PCI 卡插入哪个 PCI 插槽? /sys/bus/pci/devices/包含许多不是卡的设备(网桥、CPU channel 等),我无法在设备目录中找到有
我们想使用银行 API 从我们的银行账户到用户的银行账户进行 SEPA 转账。为此,用户需要在表格中输入他的 IBAN 和 BIC。我们获取这些数据(受 SSL 保护)并使用银行 REST API 转
我以前从未处理过 PCI 合规性问题。我一直在阅读他们的文档,它说我需要保护信用卡号、到期日期和持卡人的姓名。永远不会存储安全代码。 在他们的文档中,它只是说保护。这是说我需要加密数据库中的这 3 列
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 2 年前。 Improve th
我正在做一个项目,我需要从用户空间通过 PCI BAR0 访问 FPGA 内存。 我以前在旧内核中所做的是打开位于 /sys/bus/pci/devices/my_device/ 中的名为 resou
如果我的 PCI 总线(没有 PCI-PCI 桥)有 3 个设备: spy 设备、发送方 PCI 设备和接收方设备(例如,从 PCI 到 CPU 的桥接器)。 发送方开始向接收方传输数据。 spy 设
我是一名优秀的程序员,十分优秀!