]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Bhyve/SmbiosPlatformDxe/Bhyve.c
OvmfPkg: Apply uncrustify changes
[mirror_edk2.git] / OvmfPkg / Bhyve / SmbiosPlatformDxe / Bhyve.c
1 /*
2 * Copyright (c) 2020, Rebecca Cran <rebecca@bsdio.com>
3 * Copyright (c) 2014, Pluribus Networks, Inc.
4 *
5 * SPDX-License-Identifier: BSD-2-Clause-Patent
6 */
7
8 #include "SmbiosPlatformDxe.h"
9
10 #define BHYVE_SMBIOS_PHYSICAL_ADDRESS 0x000F0000
11 #define BHYVE_SMBIOS_PHYSICAL_END 0x000FFFFF
12
13 /**
14 Locates the bhyve SMBIOS data if it exists
15
16 @return SMBIOS_TABLE_ENTRY_POINT Address of bhyve SMBIOS data
17
18 **/
19 SMBIOS_TABLE_ENTRY_POINT *
20 GetBhyveSmbiosTables (
21 VOID
22 )
23 {
24 UINT8 *BhyveSmbiosPtr;
25 SMBIOS_TABLE_ENTRY_POINT *BhyveSmbiosEntryPointStructure;
26
27 for (BhyveSmbiosPtr = (UINT8 *)(UINTN)BHYVE_SMBIOS_PHYSICAL_ADDRESS;
28 BhyveSmbiosPtr < (UINT8 *)(UINTN)BHYVE_SMBIOS_PHYSICAL_END;
29 BhyveSmbiosPtr += 0x10)
30 {
31 BhyveSmbiosEntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *)BhyveSmbiosPtr;
32
33 if (!AsciiStrnCmp ((CHAR8 *)BhyveSmbiosEntryPointStructure->AnchorString, "_SM_", 4) &&
34 !AsciiStrnCmp ((CHAR8 *)BhyveSmbiosEntryPointStructure->IntermediateAnchorString, "_DMI_", 5) &&
35 IsEntryPointStructureValid (BhyveSmbiosEntryPointStructure))
36 {
37 return BhyveSmbiosEntryPointStructure;
38 }
39 }
40
41 return NULL;
42 }