lkml.org 
[lkml]   [1999]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectcorrect mmap
Hello,
When X11 mmaps the video board buffer to user-space it does this:

open("/dev/mem", O_RDWR) = 4
mmap(0, 65536, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0xa0000) = 0x400d7000
close(4) = 0


The return value is a nice high value which doesn't confuse any 'C'
runtime libraries.

If I attempt to mmap 0xb8000, the screen regen buffer, it succeeds
(because it doesn't return a -1), but it returns 0. The result, cast
to a pointer does 'work' for reading and writing to the screen buffer.
However, the resulting NULL pointer is not a real good thing to use
in user-space since bad code won't seg-fault.

So, what is the correct way to mmap a physical address into user space?
Is there some offset I should be using? In the intended application,
I am not really going to read/write to the screen regen buffer, but
it's an interesting target to play with.


Cheers,
Dick Johnson
***** FILE SYSTEM WAS MODIFIED *****
Penguin : Linux version 2.2.6 on an i686 machine (400.59 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:52    [W:0.038 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site