All of lore.kernel.org
 help / color / mirror / Atom feed
From: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: ron minnich <rminnich@gmail.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Jordan Justen <jljusten@gmail.com>,
	qemu-devel@nongnu.org, Coreboot <coreboot@coreboot.org>
Subject: Re: [Qemu-devel] Release plan for 0.12.0
Date: Fri, 02 Oct 2009 23:39:50 +0200	[thread overview]
Message-ID: <4AC67326.6080603@gmx.net> (raw)
In-Reply-To: <4AC64C32.4020509@codemonkey.ws>

[Adding the coreboot list to CC. Please ignore the moderation messages,
your addresses will be whitelisted ASAP.]

On 02.10.2009 20:53, Anthony Liguori wrote:
> Carl-Daniel Hailfinger wrote:
>> Given that you can easily pack coreboot+SeaBIOS+UEFI into one ROM and
>> have coreboot boot either SeaBIOS (BIOS interface) or UEFI (EFI
>> interface), wouldn't that solve all problems in one go? You get an
>> unified stack and don't have to mess around with different firmware
>> files because coreboot can read in a Qemu machine config option (or
>> NVRAM/CMOS) and select the interface based on that.
>>   
>
> If you want to to work seamlessly, you need to check for the EFI
> system partition to see whether it's an EFI capable OS and then
> fallback gracefully to SeaBIOS boot.

Hm. Wouldn't that be a layering violation (hw init != reading the disk)
and also cause problems if you want to boot an EFI capable OS from
SeaBIOS? I can think of someone having an EFI bootable disk image who
wants to boot that disk image with EFI and BIOS without having to
repartition.


>> The hardware init part would be identical for all variants, only the
>> interface would differ. coreboot works now and has the benefit of
>> supporting real hardware as well, so the difference between a setup
>> inside Qemu and a setup on real hardware is minimal.   
>
> Tianocore's OVMF project should provide all the required
> initialization for EFI on QEMU.

Yes, but then we'd have two sets of hardware init: OVMF for EFI, SeaBIOS
for SeaBIOS. That also means each hw init codebase has to support the
new Q35 chipset proposed for Qemu.

It's not any better if SeaBIOS gets changed into a CSM for EFI. Then you
have SeaBIOS on top of EFI on top of OVMF. As I understand it, OVMF had
less testing than the Bochs BIOS or SeaBIOS on Qemu.

Jordan, I have to admit that I'm surprised OVMF was apparently created
from scratch although quite a few (established) hardware init solutions
already exist for Qemu: SeaBIOS, Bochs BIOS, coreboot, and some old
hobbyist projects. I'd like to understand the reasons for that and fix
them in coreboot (Kevin O'Connor will probably fix them in SeaBIOS). If
you ported/modified existing code, I'd be interested in the original
codebase to learn from it (especially what you had to change).


>> The coreboot solution would also avoid converting SeaBIOS because
>> SeaBIOS already works as coreboot payload (that's how coreboot
>> developers call the CSM).
>>   
>
> I'll bite, what's the advantage of doing coreboot + SeaBIOS vs.
> SeaBIOS alone?  Forget about EFI for the moment, should be considering
> switching to coreboot + SeaBIOS for 0.12?

Advantages:
- Code coverage increase: SeaBIOS is used with coreboot on real
hardware, so the BIOS interface part of SeaBIOS gets a lot more testing
than the Qemu hardware init part of SeaBIOS.

- coreboot supports real 440BX hardware besides Qemu, so the coreboot
init code is exercised more (and there is still a sizable number of such
machines around (clusters), many of them running coreboot).

- Only one ROM image needed. A coreboot ROM can pack the VGA BIOS into
the ROM image and SeaBIOS will automatically load it from there. Same
for network card ROMs (with gPXE etc.).

- coreboot ROMs (including those with SeaBIOS and/or EFI and/or VGABIOS)
are archives and can be listed/edited with cbfstool if you want to know
what's in there.

- coreboot ROMs use compression, so you can stuff more code (and PCI
option ROMs) into smaller ROMs.

- coreboot has pretty verbose hardware init messages (if you want that)
and can be totally silent as well. The messages end up in a log buffer
which can be read by the OS (experimental feature, not available by
default).

There are a lot more advantages, but I want to give other coreboot
developers a chance to chime in. If you add EFI to the mix, the
synergies increase.


Regards,
Carl-Daniel

  reply	other threads:[~2009-10-02 21:39 UTC|newest]

Thread overview: 168+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-29 23:54 Release plan for 0.12.0 Anthony Liguori
2009-09-29 23:54 ` [Qemu-devel] " Anthony Liguori
2009-09-30  0:20 ` Dustin Kirkland
2009-09-30  0:20   ` [Qemu-devel] " Dustin Kirkland
2009-09-30  2:18   ` Anthony Liguori
2009-09-30  2:18     ` [Qemu-devel] " Anthony Liguori
2009-09-30  2:28 ` [Qemu-devel] " Isaku Yamahata
2009-09-30  2:28   ` Isaku Yamahata
2009-09-30 13:03   ` Anthony Liguori
2009-09-30 13:03     ` Anthony Liguori
2009-09-30 13:43     ` Michael S. Tsirkin
2009-09-30 13:43       ` Michael S. Tsirkin
2009-09-30  5:17 ` Amit Shah
2009-09-30  5:17   ` [Qemu-devel] " Amit Shah
2009-09-30 13:04   ` Anthony Liguori
2009-09-30 13:04     ` [Qemu-devel] " Anthony Liguori
2009-09-30 13:37     ` Amit Shah
2009-09-30 13:37       ` [Qemu-devel] " Amit Shah
2009-09-30 14:47       ` Anthony Liguori
2009-09-30 14:47         ` [Qemu-devel] " Anthony Liguori
2009-09-30 14:50         ` Amit Shah
2009-09-30 14:50           ` [Qemu-devel] " Amit Shah
2009-09-30  6:41 ` [Qemu-devel] " Avi Kivity
2009-09-30  6:41   ` Avi Kivity
2009-09-30 13:05   ` Anthony Liguori
2009-09-30 13:05     ` Anthony Liguori
2009-10-01 21:13     ` Luiz Capitulino
2009-10-01 21:13       ` Luiz Capitulino
2009-10-03 10:04       ` Avi Kivity
2009-10-05 12:43         ` Luiz Capitulino
2009-10-05 13:52           ` Avi Kivity
2009-09-30 13:31   ` Luiz Capitulino
2009-09-30  8:53 ` Michael Tokarev
2009-09-30  9:01   ` Avi Kivity
2009-09-30  9:31 ` Carl-Daniel Hailfinger
2009-09-30  9:31   ` Carl-Daniel Hailfinger
2009-09-30 13:07   ` Anthony Liguori
2009-09-30 13:07     ` Anthony Liguori
2009-09-30 15:59     ` Carl-Daniel Hailfinger
2009-09-30 15:59       ` Carl-Daniel Hailfinger
2009-09-30 19:25       ` Blue Swirl
2009-09-30 13:30 ` Luiz Capitulino
2009-09-30 13:30   ` Luiz Capitulino
2009-09-30 14:45   ` Anthony Liguori
2009-09-30 14:45     ` Anthony Liguori
2009-09-30 15:03     ` Fred Leeflang
2009-09-30 15:03       ` [Qemu-devel] " Fred Leeflang
2009-09-30 15:26       ` Luiz Capitulino
2009-09-30 15:26         ` Luiz Capitulino
2009-09-30 17:03     ` Juan Quintela
2009-09-30 19:28     ` [Qemu-devel] " Gerd Hoffmann
2009-09-30 19:28       ` Gerd Hoffmann
2009-10-01  1:55 ` Natalia Portillo
2009-10-01  8:07   ` Carl-Daniel Hailfinger
2009-10-01 21:02     ` Jordan Justen
2009-10-02  4:38     ` Natalia Portillo
2009-10-02  5:37       ` Jordan Justen
2009-10-02 22:33         ` Carl-Daniel Hailfinger
2009-10-01 12:45   ` Anthony Liguori
2009-10-01 21:10     ` Jordan Justen
2009-10-01 21:23       ` Anthony Liguori
2009-10-02  0:41         ` Jordan Justen
2009-10-02 13:29           ` Anthony Liguori
2009-10-02 16:58             ` Jordan Justen
2009-10-02 18:45               ` Carl-Daniel Hailfinger
2009-10-02 18:53                 ` Anthony Liguori
2009-10-02 21:39                   ` Carl-Daniel Hailfinger [this message]
2009-10-02 22:28                     ` Jordan Justen
2009-10-02 23:05                       ` Carl-Daniel Hailfinger
2009-10-03  0:32                         ` Jordan Justen
2009-10-03 17:30                           ` [coreboot] " Peter Stuge
2009-10-03 21:49                             ` Jordan Justen
2009-10-03 21:58                               ` Patrick Georgi
2009-10-04 19:31                                 ` Anthony Liguori
2009-10-04 19:39                                   ` Stefan Reinauer
2009-10-05 13:03                                     ` Anthony Liguori
2009-10-05 13:23                                       ` Carl-Daniel Hailfinger
2009-10-05 13:51                                         ` Anthony Liguori
2009-10-05 14:43                                           ` Carl-Daniel Hailfinger
2009-10-04 19:49                                   ` Patrick Georgi
2009-10-05 13:07                                     ` Anthony Liguori
2009-10-03 22:02                               ` Stefan Reinauer
2009-10-03 22:40                                 ` Jordan Justen
2009-10-03 23:03                                   ` Stefan Reinauer
2009-10-03 23:52                                     ` Jordan Justen
2009-10-03 15:08                     ` Gleb Natapov
2009-10-03 17:32                       ` [coreboot] " Peter Stuge
2009-10-03 17:40                         ` ron minnich
2009-10-03 18:16                           ` Gleb Natapov
2009-10-03 18:30                             ` Peter Stuge
2009-10-03 19:09                               ` Kevin O'Connor
2009-10-03 19:09                               ` Gleb Natapov
2009-10-03 22:13                           ` Jordan Justen
2009-10-03 22:19                             ` Patrick Georgi
2009-10-03 23:04                               ` Jordan Justen
2009-10-04 19:35                                 ` Anthony Liguori
2009-10-04  4:10                               ` Natalia Portillo
2009-10-04 11:16                                 ` Carl-Daniel Hailfinger
2009-10-04 16:06                                   ` Natalia Portillo
2009-10-05  0:29                                     ` Carl-Daniel Hailfinger
2009-10-03 22:46                             ` Stefan Reinauer
     [not found]                             ` <CB4CCBB6-0EE4-4883-AA4D-2151189C7977@claunia.com>
     [not found]                               ` <2a50f7880910031701s52c901d8u2dfb956f595eeedf@mail.gmail.com>
2009-10-04  3:55                                 ` Natalia Portillo
2009-10-05 14:08                                   ` Lennart Sorensen
2009-10-02 20:57                 ` Jordan Justen
2009-10-02 21:37                   ` Anthony Liguori
2009-10-02 22:19                   ` Carl-Daniel Hailfinger
2009-10-02  4:55       ` Natalia Portillo
2009-10-01 20:50   ` Stuart Brady
2009-10-02  4:51     ` Natalia Portillo
2009-10-02 19:07       ` Stuart Brady
2009-10-02 20:21         ` Natalia Portillo
2009-10-01 18:45 ` Stefan Weil
2009-10-01 19:02   ` Anthony Liguori
2009-10-01 19:18     ` Stefan Weil
2009-10-03  4:28 ` TAKEDA, toshiya
2009-10-03  4:28   ` [Qemu-devel] " TAKEDA, toshiya
2009-10-08 13:55 ` Jens Osterkamp
2009-10-08 14:21   ` Anthony Liguori
2009-10-08 14:21     ` [Qemu-devel] " Anthony Liguori
2009-10-14 13:09     ` Arnd Bergmann
2009-10-14 13:09       ` Arnd Bergmann
2009-10-14 13:53       ` Anthony Liguori
2009-10-14 13:53         ` Anthony Liguori
2009-10-14 14:01         ` Michael S. Tsirkin
2009-10-14 14:01           ` Michael S. Tsirkin
2009-10-14 14:04       ` Michael S. Tsirkin
2009-10-14 14:04         ` Michael S. Tsirkin
2009-10-14 13:21     ` Michael S. Tsirkin
2009-10-14 13:21       ` [Qemu-devel] " Michael S. Tsirkin
2009-10-14 14:17       ` Anthony Liguori
2009-10-14 14:17         ` [Qemu-devel] " Anthony Liguori
2009-10-14 14:24         ` Michael S. Tsirkin
2009-10-14 14:24           ` [Qemu-devel] " Michael S. Tsirkin
2009-10-14 15:19           ` Jamie Lokier
2009-10-14 15:19             ` Jamie Lokier
2009-10-14 15:50             ` Michael S. Tsirkin
2009-10-14 15:50               ` [Qemu-devel] " Michael S. Tsirkin
2009-10-14 21:10               ` Sridhar Samudrala
2009-10-14 21:10                 ` Sridhar Samudrala
2009-10-14 22:53                 ` Raw vs. tap (was: Re: Re: Release plan for 0.12.0) Anthony Liguori
2009-10-14 22:53                   ` Raw vs. tap (was: Re: [Qemu-devel] " Anthony Liguori
2009-10-15  6:36                   ` Mark McLoughlin
2009-10-15  6:36                     ` Mark McLoughlin
2009-10-15  7:56                   ` Raw vs. tap (was: " Michael S. Tsirkin
2009-10-15  7:56                     ` Raw vs. tap (was: Re: [Qemu-devel] " Michael S. Tsirkin
2009-10-15 13:32                     ` Raw vs. tap Anthony Liguori
2009-10-15 13:32                       ` [Qemu-devel] " Anthony Liguori
2009-10-15 15:04                       ` Michael S. Tsirkin
2009-10-15 15:04                         ` [Qemu-devel] " Michael S. Tsirkin
2009-10-15 15:18                         ` Anthony Liguori
2009-10-15 15:18                           ` [Qemu-devel] " Anthony Liguori
2009-10-15 15:48                           ` Michael S. Tsirkin
2009-10-15 15:48                             ` [Qemu-devel] " Michael S. Tsirkin
2009-10-15 18:37                             ` Anthony Liguori
2009-10-15 18:37                               ` [Qemu-devel] " Anthony Liguori
2009-10-15 22:08                               ` Michael S. Tsirkin
2009-10-15 22:08                                 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-18 10:05                             ` Michael S. Tsirkin
2009-10-18 10:05                               ` [Qemu-devel] " Michael S. Tsirkin
2009-10-15  7:51                 ` [Qemu-devel] Re: Release plan for 0.12.0 Michael S. Tsirkin
2009-10-15  7:51                   ` Michael S. Tsirkin
2009-10-20  6:33 ` Takahiro Hirofuchi
2009-10-20  6:33   ` [Qemu-devel] " Takahiro Hirofuchi
  -- strict thread matches above, loose matches on Subject: below --
2009-10-01  8:03 [Qemu-devel] " Laurent Vivier
2009-10-02  4:37 ` Natalia Portillo
     [not found] <4ac463fa.a553f10a.2808.fffff1a9SMTPIN_ADDED@mx.google.com>
2009-10-01 15:10 ` G 3
2009-10-02  4:45   ` Natalia Portillo
2009-10-02  7:36 Laurent Vivier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AC67326.6080603@gmx.net \
    --to=c-d.hailfinger.devel.2006@gmx.net \
    --cc=aliguori@us.ibm.com \
    --cc=anthony@codemonkey.ws \
    --cc=coreboot@coreboot.org \
    --cc=jljusten@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rminnich@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.