[edk2-devel] [PATCH v5 2/5] OvmfPkg: Create global entry point for SMBIOS parsing
sebastien.boeuf at intel.com
sebastien.boeuf at intel.com
Mon Dec 6 15:58:32 UTC 2021
From: Sebastien Boeuf <sebastien.boeuf at intel.com>
Move the generic entry point part out of Qemu.c to anticipate the
addition of new ways of retrieving the SMBIOS table.
Reviewed-by: Gerd Hoffmann <kraxel at redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao at intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf at intel.com>
---
OvmfPkg/SmbiosPlatformDxe/EntryPoint.c | 42 +++++++++++++++++++
OvmfPkg/SmbiosPlatformDxe/Qemu.c | 35 ----------------
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h | 11 +++++
.../SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 1 +
4 files changed, 54 insertions(+), 35 deletions(-)
create mode 100644 OvmfPkg/SmbiosPlatformDxe/EntryPoint.c
diff --git a/OvmfPkg/SmbiosPlatformDxe/EntryPoint.c b/OvmfPkg/SmbiosPlatformDxe/EntryPoint.c
new file mode 100644
index 0000000000..c72ba1d14b
--- /dev/null
+++ b/OvmfPkg/SmbiosPlatformDxe/EntryPoint.c
@@ -0,0 +1,42 @@
+/** @file
+ Find and extract SMBIOS data.
+
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+**/
+
+#include <Library/MemoryAllocationLib.h> // FreePool()
+
+#include "SmbiosPlatformDxe.h"
+
+/**
+ Installs SMBIOS information for OVMF
+
+ @param ImageHandle Module's image handle
+ @param SystemTable Pointer of EFI_SYSTEM_TABLE
+
+ @retval EFI_SUCCESS Smbios data successfully installed
+ @retval Other Smbios data was not installed
+
+**/
+EFI_STATUS
+EFIAPI
+SmbiosTablePublishEntry (
+ IN EFI_HANDLE ImageHandle,
+ IN EFI_SYSTEM_TABLE *SystemTable
+ )
+{
+ EFI_STATUS Status;
+ UINT8 *SmbiosTables;
+
+ Status = EFI_NOT_FOUND;
+ //
+ // Add QEMU SMBIOS data if found
+ //
+ SmbiosTables = GetQemuSmbiosTables ();
+ if (SmbiosTables != NULL) {
+ Status = InstallAllStructures (SmbiosTables);
+ FreePool (SmbiosTables);
+ }
+
+ return Status;
+}
diff --git a/OvmfPkg/SmbiosPlatformDxe/Qemu.c b/OvmfPkg/SmbiosPlatformDxe/Qemu.c
index a668c6ac21..56e720aa08 100644
--- a/OvmfPkg/SmbiosPlatformDxe/Qemu.c
+++ b/OvmfPkg/SmbiosPlatformDxe/Qemu.c
@@ -11,8 +11,6 @@
#include <Library/PcdLib.h> // PcdGetBool()
#include <Library/QemuFwCfgLib.h> // QemuFwCfgFindFile()
-#include "SmbiosPlatformDxe.h"
-
/**
Locates and extracts the QEMU SMBIOS data if present in fw_cfg
@@ -48,36 +46,3 @@ GetQemuSmbiosTables (
return QemuTables;
}
-
-/**
- Installs SMBIOS information for OVMF
-
- @param ImageHandle Module's image handle
- @param SystemTable Pointer of EFI_SYSTEM_TABLE
-
- @retval EFI_SUCCESS Smbios data successfully installed
- @retval Other Smbios data was not installed
-
-**/
-EFI_STATUS
-EFIAPI
-SmbiosTablePublishEntry (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-{
- EFI_STATUS Status;
- UINT8 *SmbiosTables;
-
- Status = EFI_NOT_FOUND;
- //
- // Add QEMU SMBIOS data if found
- //
- SmbiosTables = GetQemuSmbiosTables ();
- if (SmbiosTables != NULL) {
- Status = InstallAllStructures (SmbiosTables);
- FreePool (SmbiosTables);
- }
-
- return Status;
-}
diff --git a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h
index 213a7f39e9..4286a80170 100644
--- a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h
+++ b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h
@@ -22,4 +22,15 @@ InstallAllStructures (
IN UINT8 *TableAddress
);
+/**
+ Locates and extracts the QEMU SMBIOS data if present in fw_cfg
+
+ @return Address of extracted QEMU SMBIOS data
+
+**/
+UINT8 *
+GetQemuSmbiosTables (
+ VOID
+ );
+
#endif
diff --git a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
index eaee73110d..e239a631f2 100644
--- a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
+++ b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
@@ -24,6 +24,7 @@
#
[Sources]
+ EntryPoint.c
Qemu.c
SmbiosPlatformDxe.c
SmbiosPlatformDxe.h
--
2.30.2
---------------------------------------------------------------------
Intel Corporation SAS (French simplified joint stock company)
Registered headquarters: "Les Montalets"- 2, rue de Paris,
92196 Meudon Cedex, France
Registration Number: 302 456 199 R.C.S. NANTERRE
Capital: 4,572,000 Euros
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#84414): https://edk2.groups.io/g/devel/message/84414
Mute This Topic: https://groups.io/mt/87542822/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list