From: James S. <jsi...@tr...> - 2001-05-14 17:27:44
|
> > Yuck! You can use the no-page trick to handle banked video cards. Its been > > done before. Noramlly VGA uses A000 to AFFFF. Once you go beyond that > > (B000) you can stop this is in a page fault handler and then program the > > register to switch to a new bank. Note you have to keep a eye on what the > > current bank is at all times (think SMP). You also have to flush the page > > tables so you can keep page faulting :-( > > I tried something like this but I was unable to keep the page > fault: where I can flush the page tables? memory.c will create > a page entry with the physical address I returned by the no_page > handler, so I should flush the page in mm/memory.c? It can be done from a module or inside the kernel and it is platform independent. See linux/Documentation/cachetlb.txt. Note it is a expensive operation. I would only flush the TLB when you need to switch to another bank. > The other problem is that without a PACKED_PIXEL display all the > userspace currently available will not work. > To make it working without too problems with old PCs was my goal. Well if the video mmeory is not layed out in packed pixel mode their isn't much you can do. You have to let userland know that the mode is not packed pixels but something else. Then the userland program has to deal with it. |