From: Laszlo Ersek <lersek@redhat.com>
To: "Gabriel L. Somlo" <gsomlo@gmail.com>
Cc: Kevin O'Connor <kevin@koconnor.net>,
seabios@seabios.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] E820 (Re: [v4 PATCH 00/12] SMBIOS: build full tables in QEMU)
Date: Wed, 02 Apr 2014 15:39:33 +0200 [thread overview]
Message-ID: <533C1315.3020706@redhat.com> (raw)
In-Reply-To: <20140402123816.GJ9466@ERROL.INI.CMU.EDU>
On 04/02/14 14:38, Gabriel L. Somlo wrote:
> On Wed, Apr 02, 2014 at 12:35:26AM +0200, Laszlo Ersek wrote:
>> On 04/02/14 00:00, Kevin O'Connor wrote:
>>> On Tue, Apr 01, 2014 at 11:44:12PM +0200, Laszlo Ersek wrote:
>>>> Right now, OVMF can accept individual fields, or table-at-a-time blobs,
>>>> via fw_cfg.
>>>>
>>>> The internal interface (EFI_SMBIOS_PROTOCOL) expects one table at a time
>>>> (for which table-at-a-time blobs are a perfect match).
>>>
>>> I wasn't aware of this. The SMBIOS spec calls for all the sub-tables
>>> to be concatenanted into a single linear area of memory. Is there
>>> something in EFI or OVMF that is dictating otherwise? Can you provide
>>> a link so I can further understand? (I briefly checked through the
>>> UEFI v2.3.1 spec and nothing popped out at me.)
>>
>> The "UEFI Specification" is not relevant here, the "UEFI Platform
>> Initialization (PI) Specification" is.
>>
>> You can download the PI spec at <http://www.uefi.org/specs/access>. The
>> relevant section is (I have version 1.2.1):
>>
>> VOLUME 5: Platform Initialization Specification
>> Standards
>> 6 SMBIOS Protocol
>>
>> The function to call is EFI_SMBIOS_PROTOCOL.Add().
>>
>>>> I think that concatenating table-at-a-time blobs in SeaBIOS is easier
>>>> than parsing & splitting a complete dump into tables in OVMF.
>>>
>>> I don't think it's very difficult either way. It would be nice,
>>> though, if there was just one owner for the smbios. The current setup
>>> where some data comes from QEMU and some from the firmware, along with
>>> mechanisms for providing defaults and overrides is way too complex in
>>> my opinion.
>>
>> I certainly agree with the direction. I'm OK with the current
>> table-at-a-time blobs (which should leave only the SMBIOS entry point to
>> the firmware). I'm also OK with any new, comprehensive format that
>> allows me, with reasonable parsing, to identify the individual tables in
>> the big concat (and to throw away the passed down entry point).
>>
>> I already wrote display_uuid() [src/fw/smbios.c] for SeaBIOS, so I guess
>> I could repeat the exercise if it's unavoidable... :)
>
> Kevin, Laszlo,
>
> What if I found a way to send an entry point structure via fw_cfg, as
> a signal to ${BIOS} to simply assemble all the table-at-a-time blobs,
> but without generating any of its own ?
>
> I'm still working my way through whether *I* like the idea or not, but
> figured I'd throw it out there as a potential compromise ? :)
If you send the entry point structure in a new fw_cfg file, then (I
believe) I could ignore it easily, and just go ahead with the
table-at-a-time blobs. OVMF has defaults (fallbacks) only for Type 0 and
Type 1 tables now, which you are (almost) guaranteed to send down
anyway, so the above approach might work for OVMF without even changing
the OVMF code. (Regarding individual fields, you'd simply not send such,
if I understand correctly.)
Thanks
Laszlo
next prev parent reply other threads:[~2014-04-02 13:39 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 [this message]
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
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=533C1315.3020706@redhat.com \
--to=lersek@redhat.com \
--cc=gsomlo@gmail.com \
--cc=kevin@koconnor.net \
--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).