Hi all, I have 2 GB memory on a 7448 processor, and want to reserve a huge chunk of it at boot-time, then ioremap() it into the kernel space inside a device driver. So far I've succeeded with 64 MB, but can't go any higher, as mm/vmalloc.c tells me: "allocation failed: out of vmalloc space - use vmalloc=<size> to increase size."
So I tried adding a vmalloc line to the kernel command line as follows: Kernel cmd line: root=/dev/nfs rw mem=1920M vmalloc=1024M nfsroot=... After booting the processor, here is my memory arrangement: bash-3.00# cat /proc/meminfo MemTotal: 1943232 kB MemFree: 1910508 kB ... HighTotal: 1179648 kB HighFree: 1154608 kB LowTotal: 763584 kB LowFree: 755900 kB ... VmallocTotal: 145024 kB VmallocUsed: 65944 kB VmallocChunk: 78972 kB After inserting my device driver module (which ioremap()s 64 MB), meminfo is as follows: bash-3.00# cat /proc/meminfo MemTotal: 1943232 kB MemFree: 1916512 kB ... HighTotal: 1179648 kB HighFree: 1160748 kB LowTotal: 763584 kB LowFree: 755764 kB ... VmallocTotal: 145024 kB VmallocUsed: 133568 kB VmallocChunk: 10364 kB So the vmalloc=<size> argument has made no difference. What do I need to do to make this work? TIA, -- Phil bash-3.00# uname -a Linux arty9 2.6.16-pmppc744x #211 Fri Aug 18 19:03:36 CST 2006 ppc ppc ppc GNU/Linux