Hello all,

I'm developing a driver for an embedded ARM system (2.6.24 system) and
have 128M of RAM which I have been given free reign over. I want to
carve out an 8M block of RAM for use by this driver and mmap() it into
user space for transferring data from the driver to userspace.

I have the driver working with 8k of RAM, simply using kmalloc(). My
efforts to scale up to 8M have failed.

1) kmalloc() won't work at 8M
2) get_free_pages() doesn't work -- says it can't fulfill a request of
the necessary order
3) I tried ioremap() -- didn't work
4) kmap() -- didn't work
5) vmalloc() -- didn't work

Obviously, I'm a newbie at this and was hoping to just get lucky, but
now I need some advice on which one of the above 5 approaches (or any
other approaches) I should spend my time on, and which ones of the
above are hopeless.

I already read through the relevant chapters of LDD3, which is how I
got the above pointers. I'm also free to boot the kernel with MEM= or
RESERVE= or whatever kernel parameters I need (I tried MEM= with the
above approaches to no avail).

Thanks for any and all advice...

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to