qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Laszlo Ersek <lersek@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Jordan Justen <jljusten@gmail.com>,
	seabios@seabios.org, qemu-devel@nongnu.org,
	Kevin O'Connor <kevin@koconnor.net>,
	Gerd Hoffmann <kraxel@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>
Subject: Re: [Qemu-devel] [PATCH] qemu: piix: PCI bridge ACPI hotplug support
Date: Mon, 10 Jun 2013 14:57:21 -0500	[thread overview]
Message-ID: <87ehc920ym.fsf@codemonkey.ws> (raw)
In-Reply-To: <51B62C48.5060303@redhat.com>

Laszlo Ersek <lersek@redhat.com> writes:

> On 06/10/13 20:58, Anthony Liguori wrote:
>> "Michael S. Tsirkin" <mst@redhat.com> writes:
>> 
>>> This adds support for device hotplug behind
>>> pci bridges. Bridge devices themselves need
>>> to be pre-configured on qemu command line.
>>>
>>> One of the goals of this project was to
>>> demonstrate the advantages of generating
>>> ACPI tables in QEMU.
>>> In my opinion, it does this successfully.
>> 
>> Since you've gone out of your way to make this difficult to actually
>> review...
>
> I haven't tried to review the patch yet, but why would you say such a
> thing? Michael wants to convince you. There's no way he could sneak past
> you in this patch. You surely won't say "it's too hard to review, I'll
> yield", and he's obviously aware.

The patch is very large and depends on another large series.  It's not
split up as a logical series of changes and more importantly doesn't
solve significant problems (like live migration).

It makes it very difficult to properly evaluate the approach.  But even
taking those sort cuts, it looks like a lot of code in QEMU to avoid
what appears to be a significantly smaller amount of code in SeaBIOS.

There isn't deep dependency on information only available in QEMU.
AFAICT the only advantage of being in QEMU is being able to use a couple
data types from glib.

> [snip]
>
>>>        * No need for yet another interface to bios to detect qemu version
>>>          to check if it's safe to activate new code,
>>>          and to ship multiple table versions:
>> 
>> We only care about supporting one version of SeaBIOS.  SeaBIOS should
>> only care about supporting one version of QEMU.  We're not asking it to
>> support multiple versions.
>
> Kevin requires cross-compat between {old, new} qemu and {old, new} SeaBIOS:
>
> http://thread.gmane.org/gmane.comp.emulators.qemu/202005/focus=202072
>
>>>          we generated code so we know this is new qemu
>>>        * Use of glib's GArray makes it much easier to build
>>>          up tables in code without need for iasl and code patching
>> 
>> Adding a dynamic array to SeaBIOS isn't rocket science.
>
> Please take a look at my series for OVMF that adds basic support for
> SMBIOS tables. It took me three days of basically uninterrupted coding
> and two approaches to throw away until I got something submittable (with
> default tables for only type 0 and type 1).
>
> http://thread.gmane.org/gmane.comp.bios.tianocore.devel/3037
>
> I don't want to invite accusations like "this is a strawman argument,
> noone was speaking about SMBIOS", but the selective, dynamic patching is
> somewhat similar between AML and SMBIOS in any given boot firmware. You
> got a big bunch of named offsets that must be mangled individually.
>
> Allowing the firmware to only install blobs verbatim, or maybe patch
> them but only in a completely programmatic manner (ie. without specific
> field names & offsets in the firmware, which I did try for SMBIOS in
> OVMF, and failed, (*)), would be a big help.
>
> ((*) because the fw_cfg format of individual SMBIOS fields doesn't
> distinguish formatted fields from strings in the unformatted area)

I don't understand this piece.

Other than TianoCore being a weird environment, what made this more
difficult than it is to generate the tables in QEMU?

Regards,

Anthony Liguori

>
> Not rocket science, just churn and busywork.
>
> [snip]
>
>> So TL;DR, you break a bunch of stuff and introduce a mess of code.  It
>> would be less code and wouldn't break anything to add this logic to
>> SeaBIOS.
>> 
>> How is this even a discussion?
>
> Well it isn't for me any more; count me out. I'll go with the flow.
>
> Cheers,
> Laszlo

  reply	other threads:[~2013-06-10 19:57 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-10 16:41 [Qemu-devel] [PATCH] qemu: piix: PCI bridge ACPI hotplug support Michael S. Tsirkin
2013-06-10 18:58 ` Anthony Liguori
2013-06-10 19:17   ` Peter Maydell
2013-06-10 19:50     ` Anthony Liguori
2013-06-10 19:43   ` Laszlo Ersek
2013-06-10 19:57     ` Anthony Liguori [this message]
2013-06-10 20:43       ` Laszlo Ersek
2013-06-10 21:14         ` Laszlo Ersek
2013-06-10 21:45         ` Anthony Liguori
2013-06-10 23:05           ` Kevin O'Connor
2013-06-10 23:34             ` Anthony Liguori
2013-06-10 23:52               ` David Woodhouse
2013-06-11  0:11                 ` Anthony Liguori
2013-06-11 14:11                   ` David Woodhouse
2013-06-11  0:23               ` Kevin O'Connor
2013-06-11  0:51                 ` Anthony Liguori
2013-06-11  1:19                   ` Kevin O'Connor
2013-06-11  1:25                     ` Anthony Liguori
2013-06-11  1:49                       ` Kevin O'Connor
2013-06-11  6:49                       ` Michael S. Tsirkin
2013-06-11  0:28           ` Jordan Justen
2013-06-11  1:03             ` Anthony Liguori
2013-06-11  1:32               ` Jordan Justen
2013-06-11  7:35               ` Michael S. Tsirkin
2013-06-13 23:05                 ` Paolo Bonzini
2013-06-14  0:59                   ` Anthony Liguori
2013-06-14  1:23                     ` [Qemu-devel] [SeaBIOS] " Peter Stuge
2013-06-11 14:04               ` David Woodhouse
2013-06-13 23:02               ` [Qemu-devel] " Paolo Bonzini
2013-06-14  0:26                 ` Laszlo Ersek
2013-06-16 10:00                   ` Laszlo Ersek
2013-06-11  5:22   ` Michael S. Tsirkin
2013-06-11  5:33 ` Gerd Hoffmann
2013-06-11  6:55   ` Michael S. Tsirkin
2013-06-11  7:42     ` Gerd Hoffmann
2013-06-11  7:53       ` Michael S. Tsirkin
2013-06-11  8:00         ` Gerd Hoffmann
2013-06-11  8:18           ` Michael S. Tsirkin
2013-06-11  8:27             ` 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=87ehc920ym.fsf@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=dwmw2@infradead.org \
    --cc=jljusten@gmail.com \
    --cc=kevin@koconnor.net \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --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 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).