Order of the Butterfly
Posts: 301 from 2003/2/24
From: Genesi
@ken, zylesea
A clever solution comes to mind.
Why not use the video card memory as extra memory? With 128MB on the graphics board and 128MB on main memory that's 256MB total.
Why not partition off 64MB or 96MB of the video card memory for generic system use (paging it back in and out of main memory at theoretically 266MB/s bursts.. it would not be that fast because of the overhead for protocol and also the swap subsystem itself.. but still better than nothing)
It should be a fairly rudimentary job to make a portion of video memory look like a swap disk under Linux, as the most hacky way possible of doing it (there was talk once of having the Marvell controller on the Pegasos do this with the memory >2GB, but there was very little worth in doing it). That's for a proof of concept anyway.
Under MorphOS it would be even easier; somehow notify the graphics driver that it only has the first 32MB of the graphics card memory space to use. Then just link the rest of the memory space into the memory node list; MorphOS will allocate and free it like any other memory, and with a lower priority than main memory, you would not see a performance hit until you actually had to use it. If at all!
Why not re-unify the memory architecture? Let the PCI arbiter and DMA engine do all your hard work for you? :)
A hard disk would be a last resort fallback, although a lot of PDAs (with 32MB or 64MB of real RAM inside) use CompactFlash as RAM too. The performance of CF is no better than the ATA controller that's about 1MB/s thru 10MB/s depending on the attached device. You can never tell the difference if it's coming from CF or RAM :)
Matt Sealey, Genesi USA, Inc.
Developer Relations
Product Development Analyst