33CreatePlatformSmbiosMemoryRecords (
40 EFI_SMBIOS_HANDLE PhyscialMemoryArrayHandle;
41 EFI_SMBIOS_HANDLE SmbiosHandle;
43 Smbios16.Hdr =
SmbiosLibGetRecord (EFI_SMBIOS_TYPE_PHYSICAL_MEMORY_ARRAY, 0, &PhyscialMemoryArrayHandle);
44 if (Smbios16.Hdr ==
NULL) {
50 if (Smbios17.Hdr ==
NULL) {
52 Smbios17.Type17->MemoryArrayHandle = PhyscialMemoryArrayHandle;
56 gSmbiosType19Template.MemoryArrayHandle = PhyscialMemoryArrayHandle;
58 while ((HobPtr.Raw =
GetNextHob (EFI_HOB_TYPE_RESOURCE_DESCRIPTOR, HobPtr.Raw)) !=
NULL) {
59 if (HobPtr.ResourceDescriptor->
ResourceType == EFI_RESOURCE_SYSTEM_MEMORY) {
60 gSmbiosType19Template.ExtendedStartingAddress = HobPtr.ResourceDescriptor->
PhysicalStart;
61 gSmbiosType19Template.ExtendedEndingAddress =
68 HobPtr.Raw = GET_NEXT_HOB (HobPtr);
89 EFI_SMBIOS_HANDLE SmbiosHandle;
102 if (Smbios.Type0 !=
NULL) {
108 Smbios.Type0->BiosVersion,
109 (CHAR16 *)
PcdGetPtr (PcdFirmwareVersionString)
113 Smbios.Type0->BiosReleaseDate,
114 (CHAR16 *)
PcdGetPtr (PcdFirmwareReleaseDateString)
125 CreatePlatformSmbiosMemoryRecords ();
VOID *EFIAPI GetNextHob(IN UINT16 Type, IN CONST VOID *HobStart)
VOID *EFIAPI GetHobList(VOID)
UINT64 EFIAPI DivU64x32(IN UINT64 Dividend, IN UINT32 Divisor)
#define ASSERT_EFI_ERROR(StatusParameter)
#define FixedPcdGet64(TokenName)
#define PcdGetPtr(TokenName)
SMBIOS_STRUCTURE *EFIAPI SmbiosLibGetRecord(IN EFI_SMBIOS_TYPE Type, IN UINTN Instance, OUT EFI_SMBIOS_HANDLE *SmbiosHandle)
EFI_STATUS EFIAPI SmbiosLibCreateEntry(IN SMBIOS_STRUCTURE *SmbiosEntry, IN CHAR8 **StringArray)
EFI_STATUS EFIAPI SmbiosLibInitializeFromTemplate(IN SMBIOS_TEMPLATE_ENTRY *Template)
EFI_STATUS EFIAPI SmbiosLibUpdateUnicodeString(IN EFI_SMBIOS_HANDLE SmbiosHandle, IN SMBIOS_TABLE_STRING StringNumber, IN CHAR16 *String)
EFI_PHYSICAL_ADDRESS PhysicalStart
EFI_RESOURCE_TYPE ResourceType