Mapping the framebuffer into kernel space
From: Jon Smirl <hidden>
Date: 2005-04-29 03:55:35
I looked at a few fbdev drivers and they are mapping the framebuffer
into kernel space.
Example from radeonfb:
rinfo->mapped_vram = min_t(unsigned long, MAX_MAPPED_VRAM, rinfo->video_ram);
do {
rinfo->fb_base = ioremap (rinfo->fb_base_phys,
rinfo->mapped_vram);
Isn't the only consumer of this kernel mapping fbconsole? If so
shouldn't fbconsole be doing the mapping instead of doing it in the
drivers? Doing it in fbconsole would let us map exactly the amount of
VRAM needed for the console. Right now the driver has to guess the
maximum consumption. This would minimize the amount of kernel address
space consumed by fbdev. It could also remove a bunch of redundant
code.
Then in my case where I'm running radeonfb but not fbconsole there
would be no kernel address space consumed at all.
Minimizing kernel address space consumption is important for x86
systems with more than 1GB of memory. Address space going to fbdev
pushes system pages from low into high memory and slows them down.
--
Jon Smirl
jonsmirl@gmail.com
-------------------------------------------------------
SF.Net email is sponsored by: Tell us your software development plans!
Take this survey and enter to win a one-year sub to SourceForge.net
Plus IDC's 2005 look-ahead and a copy of this survey
Click here to start! http://www.idcswdc.com/cgi-bin/survey?id5hix