Problem trying to implement mmap for device on 2.4

From: Michael Baumann
Date: Wed Oct 06 2004 - 12:03:09 EST


Sorry if this is too much of a noob question - do point me to the right place
if you can.
System: PPC on VME
Attempting driver for 3rd party NVRAM board - it's meant to be used as
a data-store/system-state recorder. Will be used by more than one
processor in the system - each processor is to use a "chunk" of the RAM
as it's scratch space. Or that's the plan.

Based on what I thought I understood from Rubini&Corbet 2nd Edition
I created a simple module, that provided a mmap method - after reserving
the region via request_mem_region.

mapping was done with a simple remap_page_range()

In userland, the mmap system call is made, with MAP_FIXED
and the kernel immediately fails the call with "cannot allocate memory" -
never even getting to my implementation of the mmap call. Apparently
dying somewhere during "the good deal of work" Rubini talks about.
If I don't use MAP_FIXED, things 'work', but I need that fixed location,
I'm obviously trying to map the RAM into user space for access.


I'm assuming I'm missing something simple in the setup, somewhere.
Any help/pointers/ even insults accepted - I'm in a tough spot here.


--
--
#include <std_disclaimer>
Michael Baumann 9518974841
Optivus Technology, Inc.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/