Vramfs: filesystem driver to utilize extra RAM on VGA devices

H. Peter Anvin hpa at zytor.com
Thu Jan 29 17:38:39 UTC 2009

Jonathan Campbell wrote:
> Every VGA device connected to the PCI bus has resources that are known
> to the Linux kernel. One of the memory resources is the video RAM
> (always the largest prefetchable resource listed), with the base and
> length known to the PCI subsystem. So, all vramfs needs on mount is the
> PCI device, and the mountpoint, and it can dole it out to userspace.
> Reading and writing is handled with ioremap(). mmap() is handled by
> directly mmaping() that VRAM into user-space (just like /dev/fb0). Files
> are recorded in system memory as a list of entities with a starting
> block and length, so no fragmentation is possible.
> No communication with the GPU is needed to do this, it's possible to use
> VRAM this way even on devices that nobody in the system knows how to
> talk to.

There still seems to be quite a bit of overlap between this and the MTD


H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.

More information about the devel mailing list