> -----Original Message-----
> Todd Gearheart Wrote:
> You can also "access" private data in kernel address space
> from user mode
> programs, by employing a simple trick. A user program can
> request access to
> a section of private kernel address space (via fifos, shared
> memory, or
> whatever). Then a kernel module can copy the requested
> section of the kernel
> private address space "needed in user space" into shared
> memory. Then user
> mode program can view/modify the shared memory area and
> signal/indicate the
> change(s) made. Finally the kernel module can take care of
> "updating" the
> changes back into the kernel private address space (from the
> shared memory
> area).
>
> I was able to implement a similar "swapping technique" in my simulator
> application. It allows access to ALL kernel real-time storage
> from the user
> side as well...
OK, lots of quoting to maintain the context...
Of course, all of this can be done quite simply with RTL FIFOs. Why
invent low-level mechanisms to complicate matters when a nice mechanism
already exists? Then all you need to do is define your higher level
protocols and synchronization and such.
This also minimizes the number of tunnels from one world (RTL) to
the other (Linux). Such tunnels are safety concerns as errant pointers and
such cause unpredictable results (to say the least).
The only reason I can think of to use mmap or statically mapped
memory or any such is if you have a troughput requirement that exceeds what
can be done with FIFOs. Of course, on my 400MHz Celeron the FIFOs will do
more than 20MB per second...
Regards,
Steve
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/