Bug 1906076

Summary: seabios: Support SMBIOS 3.0 Entry Point Type
Product: Red Hat Enterprise Linux 9 Reporter: Eduardo Habkost <ehabkost>
Component: seabiosAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED ERRATA QA Contact: Xueqiang Wei <xuwei>
Severity: unspecified Docs Contact:
Priority: high    
Version: 9.0CC: ailan, chdong, coli, jinzhao, juzhang, kkiwi, kraxel, leidwang, mrezanin, nilal, virt-maint, yama
Target Milestone: rcKeywords: FutureFeature, TestOnly, Triaged
Target Release: 9.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: seabios-1.16.0-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-15 10:12:39 UTC Type: Feature Request
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2066826    
Bug Blocks: 1788991, 1906077    

Description Eduardo Habkost 2020-12-09 16:06:04 UTC
This bug was initially created as a copy of Bug #1904267

I am copying this bug because: 
SMBIOS 3.0 can't be enabled by default in QEMU if we don't support it in Seabios.


A VM with more than ~720 VCPUs can hit the 65535 bytes limit on SMBIOS tables.  edk2, however, supports SMBIOS 3.0 Entry Points.

We need to support SMBIOS 3.0 entry points on Q35, probably through a new command line option.

Comment 1 Eduardo Habkost 2020-12-10 21:56:30 UTC
Series submitted upstream, at:
https://mail.coreboot.org/hyperkitty/list/seabios@seabios.org/thread/Q54IABJGUZFM5XIS2U5CMPAYNHMWT2MY/

Comment 3 John Ferlan 2021-09-09 18:42:22 UTC
Bulk update: Move RHEL-AV bugs to RHEL8 with existing RHEL9 clone.

Comment 4 Eduardo Habkost 2021-11-10 22:34:11 UTC
Assigning to virt-maint, as I won't be able to work on this.

For reference, the next steps are the ones mentioned at:
https://marc.info/?l=qemu-devel&m=163658203909207&w=2

Pasting it here:

> We can switch the default, but SeaBIOS maintainers won't include
> the SMBIOS 3.0 code I had submitted[1] until this is supported by
> QEMU.
> 
> After we patch SeaBIOS to support SMBIOS 3.0 and update the
> SeaBIOS binaries in the QEMU tree, we can switch the default in
> Q35 and/or i440fx to SMBIOS 3.0.
> 
> [1] https://www.mail-archive.com/seabios@seabios.org/msg12415.html
>     https://www.mail-archive.com/seabios@seabios.org/msg12438.html

Comment 5 Gerd Hoffmann 2021-11-17 10:13:59 UTC
Oh, noticed nothing of that was merged yet.
Kevin suggested to merge 1-18, plus 19 later
after qemu update.  Seems that never happened though ...

Can you push a branch with the latest seabios patches somewhere?
Or git send-email the latest version to me?

On the qemu side: I assume we must keep old machine types at 2.1
and can enable 3.0 for new versions only?  Do we already have a
runtime switch for that?

Comment 6 Eduardo Habkost 2021-11-17 17:26:11 UTC
(In reply to Gerd Hoffmann from comment #5)
> Oh, noticed nothing of that was merged yet.
> Kevin suggested to merge 1-18, plus 19 later
> after qemu update.  Seems that never happened though ...
> 
> Can you push a branch with the latest seabios patches somewhere?
> Or git send-email the latest version to me?

The series I've submitted at https://www.mail-archive.com/seabios@seabios.org/msg12415.html is at:
https://gitlab.com/ehabkost/seabios/-/commits/work/smbios-3.0-v1

An untested rebase (not very recent) is at:
https://gitlab.com/ehabkost/seabios/-/commits/work/smbios-3.0/

> 
> On the qemu side: I assume we must keep old machine types at 2.1
> and can enable 3.0 for new versions only?  Do we already have a
> runtime switch for that?

It is probably safer to keep old machines at 2.1.

I have submitted patches adding a runtime switch ("smbios-entry-point-type" machine property) at:
https://lore.kernel.org/qemu-devel/20211026151100.1691925-1-ehabkost@redhat.com/

Comment 8 Gerd Hoffmann 2022-01-13 11:12:01 UTC
upstream status:
 * seabios: patches are merged in master branch, new seabios release should be out rather sooner than later (late january or early february).
 * qemu: someone needs to pick up the qemu patches (see comment 6), the seabios change alone wouldn't fix this.

Comment 9 Gerd Hoffmann 2022-01-13 11:14:24 UTC
>  * qemu: someone needs to pick up the qemu patches (see comment 6), the
> seabios change alone wouldn't fix this

Bug for the qemu side of things is 1906077.

Comment 13 Nitesh Narayan Lal 2022-02-03 13:56:02 UTC
Moving this to rhel9, if the fix is going to come as part of the rebase, then we can mark this as TestOnly.
For rhel8, we will create a clone if required.
There are a couple of reasons for this change:
- As Gerd mentioned, "If qemu doesn't switch to smbios-3 by default in rhel-8 we don't need this in rhel-8 either". The work to automatically use SMBIOS 3.0 is to be done as part of BZ#1906076 which is 
  currently targetted for rhel9.
- This will also make things a little more consistent. At the moment, for this support, some bugs are targeted for rhel8 and some are for Rhel9.

Comment 24 Xueqiang Wei 2022-05-06 08:25:24 UTC
According to https://bugzilla.redhat.com/show_bug.cgi?id=1904267#c98, set status to VERIFIED. Thanks.

Comment 26 errata-xmlrpc 2022-11-15 10:12:39 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (seabios bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:8051