Messages in this thread | | | Date | Tue, 12 Jun 2007 11:08:21 -0700 | From | "H. Peter Anvin" <> | Subject | Re: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size. |
| |
Daniel J Blueman wrote: > On 12 Jun, 14:30, Jon Dufresne > <jon.dufresne@infinitevideocorporation.com> wrote: >> I am writing a linux kernel driver for a custom pci device. I am >> developing against the stock fedora 6 kernel on an x86. This device has >> 512 MB of IO memory reserved by BAR 3. Whenever I try to ioremap this >> space I get the error:
You don't have a prayer mapping 512 MB at once on an x86-32 machine. The kernel only has 1 GB of address space *total*. You either need to map it in chunks or restrict yourself to 64-bit machines.
>> allocation failed: out of vmalloc space - use vmalloc=<size> to increase >> size. >> >> I think I understand why this is happening. I obviously don't have >> enough vmalloc space to map such a large chunk of memory. I have been >> using Corbet's et el's "Linux Device Drivers", Love's "Linux Kernel >> Development", and many websites as a guide in this development process >> but have yet to come across information that will help me. >> >> I'm curious if there is a way around this issue. Or a better way of >> handling it so that I can properly map the entire io memory space.
No chance.
> You can boot with kernel parameter vmalloc=384M or so. I have > experienced problems with booting with other values, but YMMV.
The vmalloc= option conflicts with the booting protocol, so it's basically a crapshoot if it's going to work or not, at least if you're using an initrd, which pretty much everyone does hese days.
-hpa - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |