Hi!
We're developing a set-top-box using the National Semiconductors SC1200
Internet Appliance System-On-Chip, which has some similarities with the
SiS 630, but with even more stuff packed into it.
For more information on the chip, visit http://www.national.com/ and do a
search for the SC1200 but in short it's a GX1 CPU core and memory controller,
a SuperIO-subsystem, PCI bridge, video processor, USB host, graphics
controller and probably something else I've left out integrated into one BGA
chip.
We're currently looking into creating a minimal BIOS on our own, just enough
to boot Linux in some way. But then I found the LinuxBIOS project and it
seems like it would fit us very well. However, there is a slight problem
with just putting together the needed code for the SC1200 "mainboard";
proprietary object code is required to enable some of the functions of the
chip. :\ This object code is available from NSC and I have it, so I've
gotten as far as building a BIOS of my own that will actually load Linux.
But when Linux wants to mount root, the ramdisk isn't around in memory.
I'm using Etherboot/32 to (down)load Linux but more flexibility would be
very nice. Etherboot doesn't relocate the kernel, it places it at the right
location in memory immediately, but the ramdisk is relocated. However, if I
try to mount root over NFS instead of from memory I get oops:es, so I'm
thinking that everything isn't quite right.
The code from NSC only has graphics services, so I've implemented some of
the services I found were used by Linux at boot, int 15/87,88,ee01,int 11,
int 12 and a few more. I recently discovered that I've missed out on a few
services that are used and I'm about to add them to my BIOS and try it out,
but then I discovered LinuxBIOS and wanted to drop the people here a note.
My immediate concern is to get Linux booting on the system, but, if
practical, it would also be very nice to add SC1200 support to the LinuxBIOS
project. I honestly think that would be of interest to NSC as well.
Please give me your comments on this. I've checked out the CVS sources but
I got a bit lost in all the directories..
Also, is there be some nifty way to modify Etherboot so that the parts of
Linux requiring BIOS services are left out completely that I could try, and
maybe not have to implement any yucky services at all? If so, how?
Thanks in advance!
//Peter
--
Peter Stuge
H�rdvarubolaget
Ideon
S-223 70 Lund
Sweden
GSM. +46-736-601011
Tel. +46-46-2865011
Fax. +46-46-2865199