From: Kevin O'Connor <kevin@koconnor.net>
To: "Gabriel L. Somlo" <gsomlo@gmail.com>
Cc: seabios@seabios.org, Laszlo Ersek <lersek@redhat.com>,
Gerd Hoffmann <kraxel@redhat.com>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] E820 (Re: [v4 PATCH 00/12] SMBIOS: build full tables in QEMU)
Date: Mon, 7 Apr 2014 11:23:44 -0400 [thread overview]
Message-ID: <20140407152344.GA26674@morn.localdomain> (raw)
In-Reply-To: <20140407144953.GG1602@ERROL.INI.CMU.EDU>
On Mon, Apr 07, 2014 at 10:49:54AM -0400, Gabriel L. Somlo wrote:
> On Mon, Apr 07, 2014 at 10:14:36AM -0400, Kevin O'Connor wrote:
> > How about having QEMU produce the smbios table with a dummy type0
> > table and then both seabios and ovmf can replace the type0 table if
> > desired. After all, if OVMF is splitting the blob into tables, it can
> > just as easily replace type0 as append it.
> >
> > This way, the QEMU output is technically complete. And if someone
> > wishes to code up SeaBIOS to do the type0 replace (I'm not convinced
> > it's even necessary) then at least that SeaBIOS code could be used on
> > coreboot as well.
>
> OK, so as far as I'm concerned, it's down to two alternatives:
>
> 1. I create a full blob, starting with the anchor/entrypoint, and
> followed by a (dummy) type 0, type 1, etc, etc. all the way to
> the type 127 end marker. Pass that in via fw_cfg, and each BIOS
> is then responsible for editing type 0, overwriting it with
> appropriate values.
>
> I like this very much :) except for a serious discomfort with the idea
> of imposing an additional "convention" on the size (and choice of)
> strings included with the type0 table, beyond the smbios spec.
I agree that was too ugly. What I'm proposing now is that QEMU
produce a valid type0 table (with strings populated, but no special
padding) along with all the other tables (up to and including type
127).
Then SeaBIOS and OVMF can either pass this on exactly as is, or they
can modify the table to replace type0.
This is a few more lines of code for SeaBIOS (to replace type0 instead
of just patching it), but it has the advantage that QEMU developers
know they must produce a valid smbios table according to the specs and
the firmware developers know they will get a valid smbios table
(according to the specs) and know they must ultimately produce a valid
smbios table.
So, I'm suggesting QEMU produce two new fw_cfg files: an anchor file
with the valid anchor table (the address pointer can be just set to
zero), and an smbios table file with the complete set of smbios tables
formatted according to the smbios spec. SeaBIOS can then use the
existence of one of these new files to determine if it should deploy
(and optionally modify) them or if it should use the old smbios
generation code.
-Kevin
next prev parent reply other threads:[~2014-04-07 15:24 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-18 23:23 [Qemu-devel] [v4 PATCH 00/12] SMBIOS: build full tables in QEMU Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 01/12] SMBIOS: Rename smbios_set_type1_defaults() for more general use Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 02/12] SMBIOS: Use macro to set smbios defaults Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 03/12] SMBIOS: Use bitmaps to check for smbios table collisions Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 04/12] SMBIOS: Add code to build full smbios tables; build type 2 table Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 05/12] SMBIOS: Build full tables for types 0 and 1 Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 06/12] SMBIOS: Remove unused code for passing individual fields to bios Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 07/12] SMBIOS: Build full type 3 table Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 08/12] SMBIOS: Build full type 4 tables Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 09/12] SMBIOS: Build full smbios memory tables (type 16, 17, 19, and 20) Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 10/12] SMBIOS: Build full tables for type 32 and 127 Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 11/12] SMBIOS: Update all table definitions to smbios spec v2.3 Gabriel L. Somlo
2014-03-18 23:23 ` [Qemu-devel] [v4 PATCH 12/12] SMBIOS: Remove SeaBIOS compatibility quirks Gabriel L. Somlo
2014-03-26 19:58 ` [Qemu-devel] E820 (Re: [v4 PATCH 00/12] SMBIOS: build full tables in QEMU) Gabriel L. Somlo
2014-03-26 22:36 ` Kevin O'Connor
2014-03-31 20:18 ` Gabriel L. Somlo
2014-04-01 8:40 ` Laszlo Ersek
2014-04-01 14:39 ` Kevin O'Connor
2014-04-01 15:47 ` Laszlo Ersek
2014-04-01 18:47 ` Gabriel L. Somlo
2014-04-01 20:28 ` Kevin O'Connor
2014-04-01 21:28 ` Gabriel L. Somlo
2014-04-01 21:44 ` Laszlo Ersek
2014-04-01 22:00 ` Kevin O'Connor
2014-04-01 22:35 ` Laszlo Ersek
2014-04-02 12:38 ` Gabriel L. Somlo
2014-04-02 13:39 ` Laszlo Ersek
2014-04-05 2:48 ` Kevin O'Connor
2014-04-02 15:07 ` Gerd Hoffmann
2014-04-02 17:01 ` Gabriel L. Somlo
2014-04-03 1:57 ` Gabriel L. Somlo
2014-04-03 9:42 ` Laszlo Ersek
2014-04-03 13:32 ` Gabriel L. Somlo
2014-04-03 13:56 ` Laszlo Ersek
2014-04-07 6:50 ` Gerd Hoffmann
2014-04-07 6:47 ` Gerd Hoffmann
2014-04-01 21:48 ` Kevin O'Connor
2014-04-02 15:04 ` Gerd Hoffmann
2014-04-05 0:34 ` Kevin O'Connor
2014-04-05 1:15 ` Gabriel L. Somlo
2014-04-05 2:26 ` Kevin O'Connor
2014-04-07 7:09 ` Gerd Hoffmann
2014-04-07 14:14 ` Kevin O'Connor
2014-04-07 14:33 ` Laszlo Ersek
2014-04-07 14:49 ` Gabriel L. Somlo
2014-04-07 15:23 ` Kevin O'Connor [this message]
2014-04-07 18:05 ` Gabriel L. Somlo
2014-04-07 18:57 ` Kevin O'Connor
2014-04-08 13:51 ` Gabriel L. Somlo
2014-03-27 2:45 ` Gabriel L. Somlo
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=20140407152344.GA26674@morn.localdomain \
--to=kevin@koconnor.net \
--cc=gsomlo@gmail.com \
--cc=kraxel@redhat.com \
--cc=lersek@redhat.com \
--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).