|
From: Jon S. <jon...@ya...> - 2003-03-11 22:54:08
|
--- 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. > Note that this will still be arch-specific. > Separate non-primary card > initialization code for each arch is still > necessary. Having X86 work is better than nothing. > Again, most BIOS code cannot run in protected mode, > so we need to > emulate a real-mode environment for them. It's > doubtful that Linus > would want that in his kernel. Our only chance to > do this is during > early boot, or in user space. The right answer is to get the vendors to give us the info and then write protected mode versions of reset/DDC into the fb drivers. Until they do this everything else is a major hack. It is not possible to enter VM86 mode from a device driver. Only two choices are: early boot time or as a user app. I have to send you the app directly, it is too big for SF list. Early boot time may be a better solution. A complete implementation would reset all video adapters in the system and record their DDC info for retrieval by the FB drivers. > Tony > > ===== Jon Smirl jon...@ya... __________________________________________________ Do you Yahoo!? Yahoo! Web Hosting - establish your business online http://webhosting.yahoo.com |