From: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
To: Jordan Justen <jljusten@gmail.com>
Cc: ron minnich <rminnich@gmail.com>,
Anthony Liguori <aliguori@us.ibm.com>,
qemu-devel@nongnu.org, Coreboot <coreboot@coreboot.org>
Subject: Re: [Qemu-devel] Release plan for 0.12.0
Date: Sat, 03 Oct 2009 01:05:18 +0200 [thread overview]
Message-ID: <4AC6872E.6060103@gmx.net> (raw)
In-Reply-To: <2a50f7880910021528v742c39e8sd334b318c577fb71@mail.gmail.com>
On 03.10.2009 00:28, Jordan Justen wrote:
> On Fri, Oct 2, 2009 at 14:39, Carl-Daniel Hailfinger
> <c-d.hailfinger.devel.2006@gmx.net> wrote:
>
>> 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.
>>
>
> The edk2 project provides an infrastructure for building complete UEFI
> firmware solutions. OVMF is a sample platform which demonstrates how
> edk2 can be used to build firmware to boot a UEFI platform.
>
I wish to apologize for the misunderstanding. I thought OVMF was only
hardware init. Thanks for correcting me.
> Aside from just this, OVMF is an effort to support VMs on edk2. (Ie,
> more than just QEMU.) Ideally the project, and code of OVMF could be
> used by any VM vendor as a sample for building UEFI compatible
> firmware.
>
How does it relate to real hardware? You mention OVMF as an effort to
support VMs on edk2. Does this mean that VMs need special support or
that real hardware has different needs?
> Most of the code required to support QEMU was already open sourced on
> edk2 before OVMF was launched. At the time that we started OVMF, it
> did not seem like any project was targeting UEFI support on QEMU.
> Tristan Gingold had done a port for UEFI QEMU support, but at that
> time it did not seem to be functional with the current QEMU, nor
> actively developed.
>
I see.
>> 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 want to remove any need for OVMF on QEMU, then I think all that
> is needed is to support booting UEFI OS's for both i386 and x86-64.
> Of course, we may still have some use for the OVMF project on edk2 as
> a sample platform.
>
Given that my original statement incorrectly assumed OVMF was only about
hardware init, please let me try to express what I originally meant (and
which came across with unintended meaning).
I hope to use all EFI support code from OVMF, keep SeaBIOS, and have
coreboot as common hardware init base.
>> If
>> you ported/modified existing code, I'd be interested in the original
>> codebase to learn from it (especially what you had to change).
>>
>
> As I mentioned above, a good portion of the code was already available
> in edk2.tianocore.org.
Thanks for the pointer.
> Edk2 is BSD licensed, and therefore from a
> licensing perspective should be easy for your project to utilize.
>
(Speaking with my coreboot hat on.)
The goal of coreboot is not to assimilate and change other projects, but
to provide hardware init for any code which needs it.
After hardware init, it passes control to a payload (SeaBIOS, UEFI,
GRUB2, FILO, Linux, Plan9...). There are no callbacks to coreboot, each
payload is expected to talk to the hardware on its own. Except for ACPI
tables (and a memory map), nothing of coreboot stays in memory after
passing control to that payload. If you want some basic hardware drivers
for your favourite payload, you can use the BSD-licensed libpayload
library in your code, but most payloads (SeaBIOS, GRUB2, ...) have their
own drivers anyway.
Operating systems like Linux and Plan9 which do not need any BIOS/EFI
interface can be stored in the ROM and will be booted directly by
coreboot (if in ROM). Boot loaders like GRUB2 or FILO don't need
BIOS/EFI either, can be stored in ROM and will then be booted directly.
BIOS and EFI code can be used as a coreboot payload in ROM as well. Some
people are even working on making U-Boot available as coreboot payload.
The idea is to have coreboot handle all the hardware-specific
initialization and allow all other code to be mostly hardware-agnostic
(unless said code wants to implement drivers). The clean interface
(well, no interface, coreboot just passes control to the payload) allows
payloads to do whatever they want as long as they provide a single
32-bit entry point coreboot can jump to.
Regards,
Carl-Daniel
next prev parent reply other threads:[~2009-10-02 23:05 UTC|newest]
Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-29 23:54 [Qemu-devel] Release plan for 0.12.0 Anthony Liguori
2009-09-30 0:20 ` [Qemu-devel] " Dustin Kirkland
2009-09-30 2:18 ` Anthony Liguori
2009-09-30 2:28 ` [Qemu-devel] " Isaku Yamahata
2009-09-30 13:03 ` Anthony Liguori
2009-09-30 13:43 ` Michael S. Tsirkin
2009-09-30 5:17 ` [Qemu-devel] " Amit Shah
2009-09-30 13:04 ` Anthony Liguori
2009-09-30 13:37 ` Amit Shah
2009-09-30 14:47 ` Anthony Liguori
2009-09-30 14:50 ` Amit Shah
2009-09-30 6:41 ` [Qemu-devel] " Avi Kivity
2009-09-30 13:05 ` Anthony Liguori
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 13:07 ` Anthony Liguori
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 14:45 ` Anthony Liguori
2009-09-30 15:03 ` Fred Leeflang
2009-09-30 15:26 ` Luiz Capitulino
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
2009-10-02 22:28 ` Jordan Justen
2009-10-02 23:05 ` Carl-Daniel Hailfinger [this message]
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-08 13:55 ` Jens Osterkamp
2009-10-08 14:21 ` Anthony Liguori
2009-10-14 13:09 ` Arnd Bergmann
2009-10-14 13:53 ` Anthony Liguori
2009-10-14 14:01 ` Michael S. Tsirkin
2009-10-14 14:04 ` Michael S. Tsirkin
2009-10-14 13:21 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-14 14:17 ` Anthony Liguori
2009-10-14 14:24 ` Michael S. Tsirkin
2009-10-14 15:19 ` Jamie Lokier
2009-10-14 15:50 ` Michael S. Tsirkin
2009-10-14 21:10 ` Sridhar Samudrala
2009-10-14 22:53 ` Raw vs. tap (was: Re: [Qemu-devel] Re: Release plan for 0.12.0) Anthony Liguori
2009-10-15 6:36 ` Mark McLoughlin
2009-10-15 7:56 ` Michael S. Tsirkin
2009-10-15 13:32 ` [Qemu-devel] Re: Raw vs. tap Anthony Liguori
2009-10-15 15:04 ` Michael S. Tsirkin
2009-10-15 15:18 ` Anthony Liguori
2009-10-15 15:48 ` Michael S. Tsirkin
2009-10-15 18:37 ` Anthony Liguori
2009-10-15 22:08 ` Michael S. Tsirkin
2009-10-18 10:05 ` Michael S. Tsirkin
2009-10-15 7:51 ` [Qemu-devel] Re: Release plan for 0.12.0 Michael S. Tsirkin
2009-10-20 6:33 ` 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=4AC6872E.6060103@gmx.net \
--to=c-d.hailfinger.devel.2006@gmx.net \
--cc=aliguori@us.ibm.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).