Hamish:
Part of my reasoning in posting an intro was to find out just what was going on. I half expected to get a reply that it was already done, here's the link, etc... But I would be happy to co-ordinate in any way that makes sense. I suspect you have done a much more careful job that I, but my main interest was a video console, which does not seem to be a focus of the linuxbios project due to its prime interest in large clusters. My prime interest is in custom motherboards for embedded systems, and for my project, alpha vga is essential. The VGA (IMHO) is the hard part. Most of the code was lifted and massaged from ST and from and the original stpc/freebios archive, and the linux vga console drivers. My stpc implementation puts the stack of code in assy language after protected mode, e.g., Config (mainboard):
arch i386 mainboardinit cpu/i386/entry16.inc mainboardinit cpu/i386/entry32.inc ldscript cpu/i386/entry16.lds ldscript cpu/i386/entry32.lds mainboardinit cpu/i386/reset16.inc ldscript cpu/i386/reset16.lds
mainboardinit cpu/stpc/consumer2/stpc_chip.inc mainboardinit cpu/stpc/consumer2/stpc_ram_init.inc
option SMC_BASE=0x370 mainboardinit superio/SMC/fdc37b78x/setup_serial.inc
mainboardinit pc80/serial.inc mainboardinit arch/i386/lib/console.inc
mainboardinit cpu/stpc/consumer2/stpc_ioinit.inc mainboardinit cpu/stpc/consumer2/stpc_memsize.inc mainboardinit cpu/stpc/consumer2/stpc_framebuffer.inc mainboardinit cpu/stpc/consumer2/stpc_cache.inc
# this links in stpc vga through displayinit() and VIDEO_CONSOLE option option VGA_HARDWARE_FIXUP=1
northsouthbridge stpc/consumer2
nsuperio SMC/fdc37b78x com1={1} floppy=1 lpt=1 keyboard=1
cpu stpc/consumer2
object mainboard.o -----------
Not sure of the best way to go about it, but obviously two different approaches pulling at each other in the archive is not good. In fact, it may be that it is best for me to hang on to what I have and let you go ahead since you have been working on it for some time, and my implementation is restricted to the consumerII only. Or I could send you a tarball of my source tree. I do think it is important to get something in the archive in the near term so others can benefit, rather than waiting until it is perfect (my philosophy anyway).
Any approach that makes sense is fine to me. I just wanted to make sure I contributed what I had in the event someone was interested.
-Steve
I have done a lot of work for LinuxBIOS with all of the STPC devices and am in fact just waiting for the latest cloud of changes to filter through, and for Ron to tell me things are relatively stable before comitting. What I have been working on is a generic STPC support (there are now about 9 devices in the STPC family), which basically provides a small layer which virtualises any STPC device (after initialising super-I/O's or built-in devices to the same level) with a final jump vector in protected mode to LinxBIOS code.
This little filter layer is accomplished in a maximum of about 4k of binary code and includes pre-initialisation of the PCI stuff, so a PCI routing table is not required.
Your inputs though are really welcome, maybe we should pool our efforts!
Regards
Hamish