[PATCH 0/2] m68k/atari - make atafb work with kernel loaded to FastRAM

Michael Schmitz
2014-03-22T08:47:22Z

Geert,

cleaned up version of my earlier patches to make allocation of ST-RAM work
even when the kernel resides in FastRAM, and ST-RAM is not normally usable
by Linux because it violates the memory chunk order required for the
discontig memory model.

The code relies on a mapping that has been set up for the first 16 MB of
address space in head.S - this may not be ideal, because the mapping is
set up as non-cacheable and serialized (for reasons of hardware registers
mapped in the upper end of that segment).

I've taken care not to disturb the cache mode for the framebuffer if the
framebuffer resides in the first 4 MB of ST-RAM, for now. This is easily
disabled by reverting the relevant piece of code back to its old state
(preserving the changes to the virt/phys translation).

So far, I've only tested this on a patched version of ARAnyM, using Andreas'
SkipSTRAM or LoadToFastRAM options.

Code path for external framebuffer has not been changed - this code relies on
the user passing the address of an external VGA framebuffer to the kernel,
and should continue to work as normal.

The use of special ST-RAM virt/phys translation helpers somewhat complicates
the addition of code to deal with Videl-compatible hardware that uses a
dedicated video RAM chunk distinct from ST-RAM. Not sure how to work around
that.

Cheers,

Michael