逻辑部分加了一个PCIE-RC组件,启动时发现如下错误:
vmap allocation for size 268439552 failed: use vmalloc=<size> to increase size.
xilinx-pcie a0000000.axi-pcie: ioremap failed for resource [mem 0xa0000000-0xafffffff]
xilinx-pcie a0000000.axi-pcie: Parsing DT failed
xilinx-pcie: probe of a0000000.axi-pcie failed with error -12
从打印信息来看,是vmalloc 申请失败,原因是申请的空间太大了。
从逻辑组件的设备树可以看到,需要申请256M,而目前实际分配给vmalloc的只有200多M (通过 cat /proc/meminfo查看)。
修改办法:
修改bootargs的vmalloc大小。(在设备树中修改)
chosen {
bootargs = "console=ttyPS0,115200 root=/dev/ram rw earlyprintk vmalloc=400M";
linux,stdout-path = "/amba@0/serial@e0000000";
};
bootargs = "console=ttyPS0,115200 root=/dev/ram rw earlyprintk vmalloc=400M";
linux,stdout-path = "/amba@0/serial@e0000000";
};
修改后,打印如下:
zynq> cat /proc/meminfo
MemTotal: 901364 kB
MemFree: 871852 kB
MemAvailable: 870244 kB
Buffers: 184 kB
Cached: 4696 kB
SwapCached: 0 kB
Active: 3036 kB
Inactive: 2516 kB
Active(anon): 672 kB
Inactive(anon): 0 kB
Active(file): 2364 kB
Inactive(file): 2516 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 293888 kB
HighFree: 285408 kB
LowTotal: 607476 kB
LowFree: 586444 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 672 kB
Mapped: 3268 kB
Shmem: 0 kB
Slab: 3700 kB
SReclaimable: 1264 kB
SUnreclaim: 2436 kB
KernelStack: 320 kB
PageTables: 104 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 450680 kB
Committed_AS: 1824 kB
VmallocTotal: 401408 kB
VmallocUsed: 19516 kB
VmallocChunk: 277500 kB
CmaTotal: 16384 kB
CmaFree: 16128 kB
MemTotal: 901364 kB
MemFree: 871852 kB
MemAvailable: 870244 kB
Buffers: 184 kB
Cached: 4696 kB
SwapCached: 0 kB
Active: 3036 kB
Inactive: 2516 kB
Active(anon): 672 kB
Inactive(anon): 0 kB
Active(file): 2364 kB
Inactive(file): 2516 kB
Unevictable: 0 kB
Mlocked: 0 kB
HighTotal: 293888 kB
HighFree: 285408 kB
LowTotal: 607476 kB
LowFree: 586444 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 672 kB
Mapped: 3268 kB
Shmem: 0 kB
Slab: 3700 kB
SReclaimable: 1264 kB
SUnreclaim: 2436 kB
KernelStack: 320 kB
PageTables: 104 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 450680 kB
Committed_AS: 1824 kB
VmallocTotal: 401408 kB
VmallocUsed: 19516 kB
VmallocChunk: 277500 kB
CmaTotal: 16384 kB
CmaFree: 16128 kB