On 07/31/15 20:40, Laszlo Ersek wrote:
> The SMBIOS 3.x entry point is structurally different from the 2.x
> variant, therefore the current code used by OvmfPkg and ArmVirtPkg
> doesn't recognize an SMBIOS 3.0 entry point structure even if QEMU
> exports one. This series rectifies that.
> 
> The first four patches implement Jordan's great idea: they refactor the
> code without any observable changes, unifying the currently duplicated
> QEMU SMBIOS entry point checks / version setting between OvmfPkg and
> ArmVirtPkg.
> 
> Patches 5 to 7, inclusive, eliminate yet another instance of the entry
> point checks, this time the last one, from SmbiosPlatformDxe.
> 
> Building on the centralized QEMU SMBIOS entry point examination, patches
> 8 and 9 add SMBIOS 3.0 support for real.
> 
> The series builds at every stage. I regression-tested it with OVMF (2.8
> entry point), and tested the 3.0 entry point support using Wei's QEMU
> series pending at
> <http://thread.gmane.org/gmane.comp.emulators.qemu/353282>, with a small
> QEMU fix on top (which I posted in that thread).
> 
> As I wrote in that thread as well, I didn't test with dmidecode in an
> aarch64 Linux guest just yet; I used the "smbiosview" UEFI shell command
> in the guest.
> 
> Public branch: <https://github.com/lersek/edk2/commits/smbios30_round2>.
> 
> Wei, you can find a binary at
> <http://people.redhat.com/~lersek/smbios30_round2_v1/QEMU_EFI.fd.xz>,
> for testing any further QEMU changes.
> 
> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
> Cc: Wei Huang <w...@redhat.com>
> Cc: Jordan Justen <jordan.l.jus...@intel.com>
> Cc: Gabriel L. Somlo <so...@cmu.edu>
> 
> Thanks
> Laszlo
> 
> Laszlo Ersek (9):
>   OvmfPkg: SmbiosVersionLib: add "plugin" for detecting SMBIOS version
>   OvmfPkg: set SMBIOS version in DetectSmbiosVersionLib instead of
>     PlatformPei
>   ArmVirtPkg: set SMBIOS version in DetectSmbiosVersionLib instead of
>     QemuFwCfgToPcdDxe
>   ArmVirtPkg: revert "ArmVirtPkg: add QemuFwCfgToPcdDxe"
>   OvmfPkg: introduce PcdQemuSmbiosValidated
>   ArmVirtPkg/ArmVirtQemu.dsc: set default for PcdQemuSmbiosValidated
>   OvmfPkg: SmbiosPlatformDxe: eliminate duplicate entry point validation
>   ArmVirtPkg: set default for PcdSmbiosDocRev
>   OvmfPkg: SmbiosVersionLib: recognize SMBIOS 3.x entry point
> 
>  ArmVirtPkg/ArmVirtQemu.dsc                                  |   8 +-
>  ArmVirtPkg/ArmVirtQemu.fdf                                  |   2 -
>  ArmVirtPkg/QemuFwCfgToPcdDxe/QemuFwCfgToPcd.c               |  73 
> -------------
>  ArmVirtPkg/QemuFwCfgToPcdDxe/QemuFwCfgToPcd.inf             |  46 ---------
>  OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.c   | 107 
> ++++++++++++++++++++
>  OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf |  53 ++++++++++
>  OvmfPkg/OvmfPkg.dec                                         |   1 +
>  OvmfPkg/OvmfPkgIa32.dsc                                     |   7 +-
>  OvmfPkg/OvmfPkgIa32X64.dsc                                  |   7 +-
>  OvmfPkg/OvmfPkgX64.dsc                                      |   7 +-
>  OvmfPkg/PlatformPei/Platform.c                              |  39 -------
>  OvmfPkg/PlatformPei/PlatformPei.inf                         |   2 -
>  OvmfPkg/SmbiosPlatformDxe/Qemu.c                            |  30 ++----
>  OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf             |   4 +
>  14 files changed, 198 insertions(+), 188 deletions(-)
>  create mode 100644 OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.c
>  create mode 100644 
> OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
>  delete mode 100644 ArmVirtPkg/QemuFwCfgToPcdDxe/QemuFwCfgToPcd.c
>  delete mode 100644 ArmVirtPkg/QemuFwCfgToPcdDxe/QemuFwCfgToPcd.inf
> 

Committed to SVN, r18174..18182, inclusive.

Thanks
Laszlo
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to