From: "Michael S. Tsirkin" <mst@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: KVM devel mailing list <kvm@vger.kernel.org>,
Juan Quintela <quintela@redhat.com>,
seabios@seabios.org,
qemu-devel qemu-devel <qemu-devel@nongnu.org>,
dwmw2@infradead.org
Subject: Re: KVM call agenda for 2013-05-28
Date: Wed, 29 May 2013 12:17:23 +0300 [thread overview]
Message-ID: <20130529091723.GI4472@redhat.com> (raw)
In-Reply-To: <51A5C117.6000609@redhat.com>
On Wed, May 29, 2013 at 10:49:27AM +0200, Gerd Hoffmann wrote:
> On 05/29/13 01:53, Kevin O'Connor wrote:
> > On Thu, May 23, 2013 at 03:41:32PM +0300, Michael S. Tsirkin wrote:
> >> Juan is not available now, and Anthony asked for
> >> agenda to be sent early.
> >> So here comes:
> >>
> >> Agenda for the meeting Tue, May 28:
> >>
> >> - Generating acpi tables
> >
> > I didn't see any meeting notes, but I thought it would be worthwhile
> > to summarize the call. This is from memory so correct me if I got
> > anything wrong.
> >
> > Anthony believes that the generation of ACPI tables is the task of the
> > firmware. Reasons cited include security implications of running more
> > code in qemu vs the guest context,
>
> I fail to see the security issues here. It's not like the apci table
> generation code operates on untrusted input from the guest ...
>
> > complexities in running iasl on
> > big-endian machines,
>
> We already have a bunch of prebuilt blobs in the qemu repo for simliar
> reasons, we can do that with iasl output too.
>
> > possible complexity of having to regenerate
> > tables on a vm reboot,
>
> Why tables should be regenerated at reboot? I remember hotplug being
> mentioned in the call. Hmm? Which hotplugged component needs acpi
> table updates to work properly? And what is the point of hotplugging if
> you must reboot the guest anyway to get the acpi updates needed?
> Details please.
I think it's a mistake. I sent a mail explaining this part.
> Also mentioned in the call: "architectural reasons", which I understand
> as "real hardware works that way". Correct.
Not exactly. Real hardware is very likely to have
most of the tables pre-generated in ROM, load
them and tweak them in the minor way.
That's exactly what patches I sent do.
> But qemu's virtual
> hardware is configurable in more ways than real hardware, so we have
> different needs. For example: pci slots can or can't be hotpluggable.
> On real hardware this is fixed. IIRC this is one of the reasons why we
> have to patch acpi tables.
>
> > overall sloppiness of doing it in QEMU.
>
> /me gets the feeling that this is the *main* reason, given that the
> other ones don't look very convincing to me.
>
> > Raised
> > that QOM interface should be sufficient.
>
> Agree on this one. Ideally the acpi table generation code should be
> able to gather all information it needs from the qom tree, so it can be
> a standalone C file instead of being scattered over all qemu.
Did you look at the patchset I posted?
Generation is in a standalone C file there.
However, if you mean we should do things like
if (Device_id == foobar) {
}
in once central place, I disagree.
I think that's nasty, adding devices would
mean touching this central registry.
> > There were discussions on potentially introducing a middle component
> > to generate the tables. Coreboot was raised as a possibility, and
> > David thought it would be okay to use coreboot for both OVMF and
> > SeaBIOS.
>
> Certainly an option, but that is a long-term project.
>
> > The possibility was also raised of a "rom" that lives in the
> > qemu repo, is run in the guest, and generates the tables (which is
> > similar to the hvmloader approach that Xen uses).
>
> Also simliar to the coreboot idea.
>
> Also in the call: The idea of having some library for acpi table
> generation provided by qemu which the firmware can use. Has license
> compatibility issues. Also difficult due to the fact that there is no
> libc in firmware, so such a library would need firmware-specific
> abstraction layers even for simple stuff such as memory allocation.
>
> > Anthony requested that patches be made that generate the ACPI tables
> > in QEMU for the upcoming hotplug work, so that they could be evaluated
> > to see if they truly do need to live in QEMU or if the code could live
> > in the firmware.
>
> Good. I think having qemu generate the tables is also quite useful for
> evaluating the move to coreboot:
>
> (1) make qemu generate the acpi tables.
> (2a) make seabios use the qemu-generated tables.
> (2b) make ovmf use the qemu-generated tables.
> (2c) make coreboot use the qemu-generated tables.
>
> Now we can look where we stand when using coreboot+seabios or
> coreboot+tianocore compared to bare seabios / bare ovmf. I expect there
> are quite a few things to fix until the coreboot+seabios combo runs
> without regressions compared to bare seabios. But maybe not when qemu
> provides the acpi tables to coreboot.
>
> In case the coreboot testdrive works out well we can continue with:
>
> (3) use coreboot+seabios by default.
> (4) move acpi table generation from qemu to coreboot.
>
> cheers,
> Gerd
>
next prev parent reply other threads:[~2013-05-29 9:17 UTC|newest]
Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-23 12:41 KVM call agenda for 2013-05-28 Michael S. Tsirkin
2013-05-24 3:02 ` [SeaBIOS] " li guang
2013-05-28 23:53 ` Kevin O'Connor
2013-05-29 8:45 ` Michael S. Tsirkin
2013-05-29 16:12 ` Anthony Liguori
2013-05-29 16:19 ` Michael S. Tsirkin
2013-05-30 6:37 ` [Qemu-devel] " Gerd Hoffmann
2013-06-02 15:05 ` [SeaBIOS] " Gleb Natapov
2013-06-02 15:09 ` Michael S. Tsirkin
2013-06-02 15:40 ` Gleb Natapov
2013-06-02 15:53 ` [SeaBIOS] " Michael S. Tsirkin
2013-06-03 6:25 ` Paolo Bonzini
2013-05-29 8:49 ` Gerd Hoffmann
2013-05-29 9:17 ` Michael S. Tsirkin [this message]
2013-05-29 9:42 ` Gerd Hoffmann
2013-05-29 9:46 ` Michael S. Tsirkin
2013-05-29 16:18 ` [SeaBIOS] " Anthony Liguori
2013-05-29 16:28 ` Michael S. Tsirkin
2013-05-29 18:17 ` Michael S. Tsirkin
2013-05-29 16:35 ` [SeaBIOS] " Markus Armbruster
2013-05-30 1:12 ` Kevin O'Connor
2013-05-31 12:16 ` David Woodhouse
2013-05-30 6:12 ` Gerd Hoffmann
2013-05-30 9:23 ` David Woodhouse
2013-05-30 11:13 ` [Qemu-devel] " Laszlo Ersek
2013-05-30 12:19 ` [Qemu-devel] [SeaBIOS] " David Woodhouse
2013-05-30 12:27 ` [Qemu-devel] " Michael S. Tsirkin
2013-05-30 12:43 ` Laszlo Ersek
2013-05-30 16:20 ` [Qemu-devel] [SeaBIOS] " Jordan Justen
2013-05-30 16:41 ` Laszlo Ersek
2013-05-30 16:57 ` [Qemu-devel] " Jordan Justen
2013-05-30 17:37 ` Laszlo Ersek
2013-05-30 17:45 ` [Qemu-devel] " Michael S. Tsirkin
2013-05-31 9:32 ` [SeaBIOS] " Gerd Hoffmann
2013-05-31 9:55 ` [SeaBIOS] [Qemu-devel] " Peter Stuge
2013-05-31 23:01 ` [Qemu-devel] [SeaBIOS] " Jordan Justen
2013-06-03 5:28 ` Gerd Hoffmann
2013-05-30 17:44 ` [Qemu-devel] " Michael S. Tsirkin
2013-05-31 12:09 ` [Qemu-devel] [SeaBIOS] " David Woodhouse
2013-05-31 19:48 ` Patrick Georgi
2013-05-29 9:54 ` Michael S. Tsirkin
2013-05-31 2:34 ` Kevin O'Connor
2013-05-31 7:09 ` Jordan Justen
2013-05-31 11:45 ` Laszlo Ersek
2013-05-31 13:04 ` Anthony Liguori
2013-05-31 14:01 ` Laszlo Ersek
2013-05-31 14:38 ` Anthony Liguori
2013-05-31 16:36 ` Laszlo Ersek
2013-05-31 17:10 ` Anthony Liguori
2013-05-31 19:02 ` Jordan Justen
2013-05-31 20:27 ` Anthony Liguori
2013-05-31 21:03 ` Jordan Justen
2013-06-01 0:01 ` Laszlo Ersek
2013-06-01 3:16 ` Jordan Justen
2013-05-31 14:08 ` David Woodhouse
2013-05-31 14:28 ` Laszlo Ersek
2013-05-31 15:43 ` Anthony Liguori
2013-05-31 16:33 ` David Woodhouse
2013-05-31 16:54 ` Laszlo Ersek
2013-05-31 17:06 ` Anthony Liguori
2013-05-31 18:09 ` Paolo Bonzini
2013-05-31 18:35 ` Anthony Liguori
2013-05-31 19:28 ` Jordan Justen
2013-05-31 20:44 ` Anthony Liguori
2013-05-31 16:45 ` Laszlo Ersek
2013-06-02 9:43 ` Michael S. Tsirkin
2013-06-03 7:24 ` Jordan Justen
2013-05-31 8:13 ` [SeaBIOS] " Peter Stuge
2013-05-31 10:05 ` Gerd Hoffmann
2013-05-31 13:03 ` Laszlo Ersek
2013-06-01 3:41 ` Kevin O'Connor
2013-05-31 12:58 ` Anthony Liguori
2013-05-31 13:02 ` David Woodhouse
2013-06-01 3:11 ` Kevin O'Connor
2013-06-02 9:54 ` Michael S. Tsirkin
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=20130529091723.GI4472@redhat.com \
--to=mst@redhat.com \
--cc=dwmw2@infradead.org \
--cc=kraxel@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=seabios@seabios.org \
/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.