|
From: Antonino D. <ad...@po...> - 2003-03-11 23:05:38
|
On Wed, 2003-03-12 at 06:54, Jon Smirl wrote: > --- Antonino Daplas <ad...@po...> wrote: > > On Wed, 2003-03-12 at 06:05, Jon Smirl wrote: > > > If your in messing with the early boot sequence, > > why > > > don't you make the kernel initialize all of the > > video > > > cards in the system instead of only the primary > > one. > > > > Because I don't know how to :)? It basically just > > involves a far call > > no, if we know where the VBIOS code actually starts? > > It is more complicated. You need to call the PCI Bios > to find the video cards by their PCI class. There is > already code in the kernel that calls PCIBios. > arch/i386/pci/* > > Then you need to one by one map their ROMs (via PCI > config registers) into C000:0 and call C000:3. But as > you swap out the other adapters you need to disable > their VGA emulation as there can only be on VGA device > per system. By default the VBIOS code will enable VGA > emulation on all of the adapters and they won't. You > also need to record the INT vectors and make sure they > get set back to the primary ones. > Yikes! No, it can't be done this way. During the early boot sequence, the kernel is not yet decompressed and loaded, so all the services the kernel provides are still unavailable. Unless you want to walk, detect, enable, etc the PCI subsystem in pure 16-bit assembly... Tony |