[coreboot] locking...

Stefan Reinauer stepan at coresystems.de
Sat Jun 20 10:31:52 CEST 2009

On 20.06.2009 2:57 Uhr, Carl-Daniel Hailfinger wrote:
> On 20.06.2009 02:39, ron minnich wrote:
>> On Fri, Jun 19, 2009 at 4:46 PM, Carl-Daniel Hailfinger wrote
>>> do_printk is defined in src/arch/i386/lib/printk_init.c as almost
>>> identical function, but without console_tx_flush and without locking. If
>>> only one CPU uses the lockless variant, we lose.
>> it's very useful. It can be used in the rom/CAR code before consoles
>> really work.
> Hm. AFAICS both versions have the same console requirements and just
> differ in locking (if you ignore the _flush no-op).
>> This kind of thing is common. Just about all OSes have a "printk
>> before printk" function.
> True, but our console requirements for both versions are pretty minimal
> and I think we showed in v3 that a one-size-fits-all printk can work fine.

It didn't, that's the point.. No locking, and it destroyed output of
i.e. a GDB interface by appending (CB) to each line. Plus, the ifdef
mess is really not (much?) nicer to look at than the linker sets.

One thing I think v3 does right is to not come with a VGA console. I
still think that every line of coreboot output is always a debugging
message. If your machine is so b0rked you can't get to the payload (but
survive far enough to enable vga, which wis realistic in 0% of the
cases, except you're a developer working on the table creation code) you
shouldn't be bothered with text messages on vga but instead connect a
serial console.


coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090620/ed49bd6d/attachment.html>

More information about the coreboot mailing list