X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=QuarkPlatformPkg%2FPlatform%2FDxe%2FSmbiosMiscDxe%2FMiscBaseBoardManufacturerFunction.c;fp=QuarkPlatformPkg%2FPlatform%2FDxe%2FSmbiosMiscDxe%2FMiscBaseBoardManufacturerFunction.c;h=0000000000000000000000000000000000000000;hp=a9597ebcc27df73fd2f5e2bf8ac46eff8a64ede5;hb=5347c48016f27061475fdb053e867a06ce73492f;hpb=96ef5a8e30a8da33eaab09f13cc8d752342717a5 diff --git a/QuarkPlatformPkg/Platform/Dxe/SmbiosMiscDxe/MiscBaseBoardManufacturerFunction.c b/QuarkPlatformPkg/Platform/Dxe/SmbiosMiscDxe/MiscBaseBoardManufacturerFunction.c deleted file mode 100644 index a9597ebcc2..0000000000 --- a/QuarkPlatformPkg/Platform/Dxe/SmbiosMiscDxe/MiscBaseBoardManufacturerFunction.c +++ /dev/null @@ -1,181 +0,0 @@ -/** @file -Base Board Information boot time changes. -Misc. subclass type 4. -SMBIOS type 2. - -Copyright (c) 2013-2015 Intel Corporation. - -SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - - -#include "CommonHeader.h" -#include "SmbiosMisc.h" - -/** - This function makes boot time changes to the contents of the - MiscBaseBoardManufacturer (Type 2). - - @param RecordData Pointer to copy of RecordData from the Data Table. - - @retval EFI_SUCCESS All parameters were valid. - @retval EFI_UNSUPPORTED Unexpected RecordType value. - @retval EFI_INVALID_PARAMETER Invalid parameter was found. - -**/ -MISC_SMBIOS_TABLE_FUNCTION(MiscBaseBoardManufacturer) -{ - CHAR8 *OptionalStrStart; - UINTN ManuStrLen; - UINTN ProductStrLen; - UINTN VerStrLen; - UINTN AssertTagStrLen; - UINTN SerialNumStrLen; - UINTN ChassisStrLen; - EFI_STATUS Status; - EFI_STRING Manufacturer; - EFI_STRING Product; - EFI_STRING Version; - EFI_STRING SerialNumber; - EFI_STRING AssertTag; - EFI_STRING Chassis; - STRING_REF TokenToGet; - STRING_REF TokenToUpdate; - EFI_SMBIOS_HANDLE SmbiosHandle; - SMBIOS_TABLE_TYPE2 *SmbiosRecord; - EFI_MISC_BASE_BOARD_MANUFACTURER *ForType2InputData; - UINTN TypeStringSize; - CHAR16 TypeString[SMBIOS_STRING_MAX_LENGTH]; - - ForType2InputData = (EFI_MISC_BASE_BOARD_MANUFACTURER *)RecordData; - - // - // First check for invalid parameters. - // - if (RecordData == NULL) { - return EFI_INVALID_PARAMETER; - } - - TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_MANUFACTURER); - Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL); - ManuStrLen = StrLen(Manufacturer); - if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) { - return EFI_UNSUPPORTED; - } - - StrCpy (TypeString, L""); - TypeStringSize = PcdGetSize (PcdPlatformTypeName); - if (TypeStringSize > 0 && TypeStringSize <= sizeof (TypeString)) { - CopyMem (TypeString, PcdGetPtr (PcdPlatformTypeName), TypeStringSize); - } - if (StrLen (TypeString) == 0) { - StrCpy (TypeString, L"Unknown"); - } - TokenToUpdate = STRING_TOKEN (STR_MISC_BASE_BOARD_PRODUCT_NAME); - HiiSetString (mHiiHandle, TokenToUpdate, TypeString, NULL); - - TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_PRODUCT_NAME); - Product = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL); - ProductStrLen = StrLen(TypeString); - if (ProductStrLen > SMBIOS_STRING_MAX_LENGTH) { - return EFI_UNSUPPORTED; - } - - TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_VERSION); - Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL); - VerStrLen = StrLen(Version); - if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) { - return EFI_UNSUPPORTED; - } - - TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_SERIAL_NUMBER); - SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL); - SerialNumStrLen = StrLen(SerialNumber); - if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) { - return EFI_UNSUPPORTED; - } - - TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_ASSET_TAG); - AssertTag = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL); - AssertTagStrLen = StrLen(AssertTag); - if (AssertTagStrLen > SMBIOS_STRING_MAX_LENGTH) { - return EFI_UNSUPPORTED; - } - - TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_CHASSIS_LOCATION); - Chassis = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL); - ChassisStrLen = StrLen(Chassis); - if (ChassisStrLen > SMBIOS_STRING_MAX_LENGTH) { - return EFI_UNSUPPORTED; - } - - - // - // Two zeros following the last string. - // - SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + ChassisStrLen +1 + 1); - ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + ChassisStrLen +1 + 1); - - SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BASEBOARD_INFORMATION; - SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE2); - // - // Make handle chosen by smbios protocol.add automatically. - // - SmbiosRecord->Hdr.Handle = 0; - // - // Manu will be the 1st optional string following the formatted structure. - // - SmbiosRecord->Manufacturer = 1; - // - // ProductName will be the 2st optional string following the formatted structure. - // - SmbiosRecord->ProductName = 2; - // - // Version will be the 3rd optional string following the formatted structure. - // - SmbiosRecord->Version = 3; - // - // SerialNumber will be the 4th optional string following the formatted structure. - // - SmbiosRecord->SerialNumber = 4; - // - // AssertTag will be the 5th optional string following the formatted structure. - // - SmbiosRecord->AssetTag = 5; - - // - // LocationInChassis will be the 6th optional string following the formatted structure. - // - SmbiosRecord->LocationInChassis = 6; - SmbiosRecord->FeatureFlag = (*(BASE_BOARD_FEATURE_FLAGS*)&(ForType2InputData->BaseBoardFeatureFlags)); - SmbiosRecord->ChassisHandle = 0; - SmbiosRecord->BoardType = (UINT8)ForType2InputData->BaseBoardType; - SmbiosRecord->NumberOfContainedObjectHandles = 0; - - OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1); - // - // Since we fill NumberOfContainedObjectHandles = 0 for simple, just after this filed to fill string - // - //OptionalStrStart -= 2; - UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart); - UnicodeStrToAsciiStr(Product, OptionalStrStart + ManuStrLen + 1); - UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1); - UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1); - UnicodeStrToAsciiStr(AssertTag, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1); - UnicodeStrToAsciiStr(Chassis, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1); - - // - // Now we have got the full smbios record, call smbios protocol to add this record. - // - SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED; - Status = Smbios-> Add( - Smbios, - NULL, - &SmbiosHandle, - (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord - ); - - FreePool(SmbiosRecord); - return Status; -}