Thread (8 messages) 8 messages, 4 authors, 2003-09-13

Large framebuffers and HIGHMEM systems

flat view

From: Jon Smirl <hidden>
Date: 2003-09-09 21:28:28

Fbdev needs to come up with a general solution for mapping large framebuffers
on systems with over 1GB memory. For example my system does not have 64MB of
free address space below 1GB, this causes my framebuffer drivers to fail when
loading. With RAM prices at $200 for 1GB memory 1GB systems will be common
during the 2.6 timeframe.

There are many possible solutions...
1) add reserve=XXXX to the kernel at boot. Drawback to this is reserving
256-512MB takes this memory out of lowmem kernel use. This will push page
tables into highmem slowing the whole system down.
2) Only map a 2048x2048x32 piece of the framebuffer. This still uses 16MB of
address space which may not always be available. It could be possible to modify
the kernel to always reserve this much address space at boot.
3) Only map what is actually needed on each mode change. Mode change could fail
at run time if not enough free address space.
4) Map the buffer into the highmem address space using the highmem access
macros.
5) Map the fb in a user process and send it signals to draw.

I would also suggest modifying all current fb drivers to print a message about
adding reserve=xxxxx at boot if their ioremap() of the fb fails. This will at
least point people at an immediate work around.

=====
Jon Smirl
jonsmirl@yahoo.com

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help