From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: redhat.com, ip: 209.132.183.28, mailfrom: lersek@redhat.com) Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by groups.io with SMTP; Tue, 28 May 2019 10:06:22 -0700 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 980C4307D935; Tue, 28 May 2019 17:06:07 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-40.rdu2.redhat.com [10.10.120.40]) by smtp.corp.redhat.com (Postfix) with ESMTP id C53825D9DC; Tue, 28 May 2019 17:06:04 +0000 (UTC) Subject: Re: [edk2-devel] OVMF and SMBIOS To: devel@edk2.groups.io, tpilar@solarflare.com References: <16be83ee265e46db88af85dc47949e23@ukex01.SolarFlarecom.com> From: "Laszlo Ersek" Message-ID: Date: Tue, 28 May 2019 19:06:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <16be83ee265e46db88af85dc47949e23@ukex01.SolarFlarecom.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.48]); Tue, 28 May 2019 17:06:10 +0000 (UTC) Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit On 05/28/19 17:18, Tomas Pilar (tpilar) wrote: > Hi, > > I am trying to create kvm instance using libvirt and Qemu and OVMF that also has SMBIOS included. My current version of Qemu only supports type 0 and type 1 SMBIOS tables so I specify those. However, when I use smbiosview in the UEFI shell, I get back "SMBIOS not found". > > I attach my current libvirt xml specification for the kvm host. > > Does anyone have any immediate ideas? The SMBIOS fw_cfg interface between QEMU and guest firmware was reworked in the QEMU v2.1.0 release (primarily in commit c97294ec1b9e, "SMBIOS: Build aggregate smbios tables and entry point", 2014-05-05). If you use an earlier QEMU release, or else you use a machine type earlier than pc-i440fx-2.1, then the new SMBIOS fw_cfg interface is not exposed to guest firmware. And, upstream OVMF never gained patches for the "legacy" SMBIOS fw_cfg interface. I had posted patches for that in 2013, but they were not accepted. The thread starts here: [edk2] [PATCH 0/3] OvmfPkg: basic SMBIOS support on QEMU https://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg02917.html We (RH) carried forward these patches for quite some time in RHEL7 and (IIRC) Fedora as well, but QEMU v2.1.0 was released in Aug 2014 if I read the git log right, and so we too dropped the downstream-only patches at some point, in favor of the new interface. Based on your libvirt domain xml... It looks likely that you use the qemu-kvm package that is part of base RHEL7. That package is based on upstream QEMU 1.5.3, and so it indeed lacks support for the "new" SMBIOS interface. If you can use CentOS, you could try the qemu-kvm-ev package instead. (That one is based on upstream 2.12.) Alternatively, you could check the "OVMF-20160202-2.gitd7c0dfa.el7" package (or earlier), which should (a) still include the above-referenced patches, and (b) still run on the 1.5.3-based qemu-kvm emulator. (Later OVMF packages would only provide the SMM_REQUIRE firmware binary, which does not boot on the 1.5.3-based qemu-kvm emulator.) Thanks Laszlo