<br><br><div class="gmail_quote">On Tue, Dec 22, 2009 at 2:27 PM, Patrick Georgi <span dir="ltr"><<a href="mailto:patrick@georgi-clan.de">patrick@georgi-clan.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<br>
- Provide a framework to build image selection logic<br>
In newconfig, most boards have their own code to select the image. The<br>
goal in this layout is to have generic decision routines to take care of<br>
that, and encourage their use.<br></blockquote><div>Is it possible to have it be generic?  Won't we have to unify CMOS layouts for that to happen?<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

- Push as much as possible out of the bootblock<br>
The failover mechanism so far did CAR in the bootblock and raminit in<br>
the later stage. With tinybootblock, CAR is supposed to end up outside<br>
the bootblock. "Safe updates", once we provide them, will be able to<br>
update CAR support for new CPU types, too.<br>
<br>
<br>
Code flow in tinybootblock:<br>
- 16bit reset vector (0xfffffff0)<br>
- jump to 32bit mode<br>
- Do whatever is necessary to have the entire ROM around (C code,<br>
compiled with romcc)<br></blockquote><div>I think it would be a mistake to bring romcc to targets that don't need it now.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

- Look up fallback/romstage in CBFS (this can be extended with selection<br>
logic if desired) ("selection logic" is C, compiled with romcc, lookup<br>
is assembly)<br></blockquote><div>It's more important to me to avoid assembly than to have the absolute minimum size bootblock.  Especially for K8 & Fam10, there's plenty of space to not have to do this.<br> <br>
Picky detail:<br>Since CONFIG_TINY_BOOTBLOCK is referenced in a Makefile that isn't board specific, the Kconfig entry for it should go there too (with a default n).  There should just be a "select" in qemu-x86/Kconfig<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Signed-off-by: Patrick Georgi <<a href="mailto:patrick.georgi@coresystems.de">patrick.georgi@coresystems.de</a>><br></blockquote><div><br>I think it's a good start, and since it doesn't break anything until it's used...<br>
<br>Acked-by: Myles Watson <<a href="mailto:mylesgw@gmail.com">mylesgw@gmail.com</a>> <br></div></div><br>