[coreboot] MIPS Yamon replacement?

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Thu Mar 27 02:54:15 CET 2008

Hi Jake,

On 26.03.2008 21:05, Jake Peavy wrote:
> New member here so forgive this question if it's ridiculous.

The question is actually one I'm really glad to hear.

> Has anyone looked at porting Coreboot onto MIPS architecture?  Can it be
> used as a Yamon replacement?

Nobody has looked into it yet, but we welcome all contributions to
Coreboot, especially for non-x86 architectures. Please note, though,
that the x86 arch (main support area for Coreboot) traditionally has
extremely crappy firmware/BIOS compared to any other architecture. I
have to admit that I just started to read up on Yamon and it roughly
seems to do what we would achieve with a combination of Coreboot and a
payload like OpenFirmware.

Coreboot is designed to make lowlevel init fast and easy with clean and
well-structured code, supporting diverse payloads. Target settings
(northbridge, southbridge, SuperI/O) are compiled in except for the
usual bus probing stuff. A Coreboot MIPS target could do it all
differently, though. Unfortunately linux-mip.org is down and I could not
find out whether Yamon really tries to support all available hardware
with one binary. That would be impossible in the x86 world due to
inability to probe certain stuff and due to size constraints.

If you decide to look into Coreboot MIPS support, please don't study
coreboot v2. The coreboot v3 architecture is a lot cleaner because we
learned a lot with previous generations, the code is nicer and we even
have a design document which is reasonably accurate. Of course, if the
MIPS angle shows considerable problems with the current Coreboot v3
design, we'd be happy to hear about it to improve the design.

By the way, it would be nice to know how execution starts on MIPS (top
or bottom of address space). I have a patch which adds handling for
bottom-booting architectures to v3, but so far we have seen no use case.


More information about the coreboot mailing list