Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么没有为pci设备分配条形图地址?_Linux_Linux Kernel_Powerpc_Pci - Fatal编程技术网

Linux 为什么没有为pci设备分配条形图地址?

Linux 为什么没有为pci设备分配条形图地址?,linux,linux-kernel,powerpc,pci,Linux,Linux Kernel,Powerpc,Pci,以下是问题描述: linux启动后,运行命令“lspci-v”,我们可以看到可以找到pci设备,但没有为设备分配地址。通过进一步检查linux引导消息,可以在那里找到许多类似“bridge window mem…”的消息。不确定这些消息是否正常,或者实际上是地址分配失败的迹象 我运行的处理器是飞思卡尔p2010,它是powerpc体系结构。引导加载程序是我们自己设计的,没有涉及任何与pci相关的内容。因此,我们完全依靠Linux内核自己完成pci枚举 在Linux内核pci枚举开始之前,我们做的

以下是问题描述:
linux启动后,运行命令“lspci-v”,我们可以看到可以找到pci设备,但没有为设备分配地址。通过进一步检查linux引导消息,可以在那里找到许多类似“bridge window mem…”的消息。不确定这些消息是否正常,或者实际上是地址分配失败的迹象

我运行的处理器是飞思卡尔p2010,它是powerpc体系结构。引导加载程序是我们自己设计的,没有涉及任何与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>;
    };
};
pci0:pcie@fbf0a000 {
中断映射掩码=;
中断映射=<
000000x0 0x0 0x1和mpic 0x0 0x1
000000x0 0x0 0x2和mpic 0x1 0x1
000000x0 0x0 0x3和mpic 0x2 0x1
000000x0 0x0 0x4&mpic 0x3 0x1>;
中断父项=;
中断=;
总线范围=;
范围=;
时钟频率=;
#中断单元=;
#大小单元格=;
#地址单元=;
reg=;
compatible=“fsl,mpc8548 pcie”;
设备类型=“pci”;
fsl,pcie接入big-endian;
pcie@0 {
reg=;
#大小单元格=;
#地址单元=;
设备类型=“pci”;
范围=;
};
};
===================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]

#                                                           
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
#lspci-v
0000:00:00.0等级0b20:1957:007b(版本21)
!!! 标头类型01的类0b20无效
标志:总线主控、快速devsel、延迟0
内存位于(32位,不可预取)
总线:主要=00,次要=01,次要=07,秒延迟=0
桥后I/O:00000000-00000fff
桥后内存:00000000-000fffff
桥后可预取内存:0000000000000000-0000000000000000
功能:[44]电源管理版本2
能力:[4c]#10[0041]
0000:01:00.0等级0604:10b5:8606(版次ba)
标志:总线主控、快速devsel、延迟0
总线:主要=01,次要=02,次要=07,秒延迟=0
功能:[40]电源管理版本3
功能:[48]消息信号中断:64位+队列=0/2启用+
能力:[68]#10[0052]
能力:[a4]#0d[0000]
0000:02:01.0等级0604:10b5:8606(版次ba)
标志:总线主控、快速devsel、延迟0
总线:主要=02,次要=03,次要=03,秒延迟=0
功能:[40]电源管理版本3
功能:[48]消息信号中断:64位+队列=0/2启用+
能力:[68]#10[0162]
能力:[a4]#0d[0000]
0000:02:04.0等级0604:10b5:8606(版次ba)
标志:总线主控、快速devsel、延迟0
总线:主要=02,次要=04,次要=04,秒延迟=0
功能:[40]电源管理版本3
功能:[48]消息信号中断:64位+队列=0/2启用+
能力:[68]#10[0162]
能力:[a4]#0d[0000]
0000:02:05.0等级0604:10b5:8606(版次ba)
标志:总线主控、快速devsel、延迟0
总线:主要=02,次要=05,次要=05,秒延迟=0
功能:[40]电源管理版本3
功能:[48]消息信号中断:64位+队列=0/2启用+
能力:[68]#10[0162]
能力:[a4]#0d[0000]
0000:02:07.0等级0604:10b5:8606(版次ba)
标志:总线主控、快速devsel、延迟0
总线:主要=02,次要=06,次要=06,秒延迟=0
功能:[40]电源管理版本3
功能:[48]消息信号中断:64位+队列=0/2启用+
能力:[68]#10[0162]
能力:[a4]#0d[0000]
0000:02:09.0等级0604:10b5:8606(版次ba)
标志:总线主控、快速devsel、延迟0
总线:主要=02,次要=07,次要=07,秒延迟=0
功能:[40]电源管理版本3
功能:[48]消息信号中断:64位+队列=0/2启用+
能力:[68]#10[0162]
能力:[a4]#0d[0000]
0000:03:00.0等级0580:10ee:7011
子系统:10ee:0007
标志:fast devsel,IRQ 17
功能:[40]电源管理版本3
功能:[48]消息信号中断:64位+队列=0/0启用-
能力:[60]#10[0002]
0000:04:00.0等级0580:10ee:7011
子系统:10ee:0007
标志:fast devsel,IRQ 16
功能:[40]电源管理版本3
功能:[48]消息信号中断:64位+队列=0/0启用-
能力:[60]#10[0002]
0000:05:00.0课程0200:14e4:8372(第13版)
子系统:14e4:8372
标志:fast devsel,IRQ 17
内存位于(64位,不可预取)
功能:[48]电源管理版本3
功能:[50]重要产品数据
功能:[58]消息信号中断:64位+队列=0/3启用-
能力:[ac]#10[0002]
0000:06:00.0课程0200:14e4:8372(修订版13)
子系统:14e4:8372
标志:fast devsel,IRQ 18
内存位于(64位,不可预取)
功能:[48]电源管理版本3
能力:[50]重要产品数据
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.