+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_BASE_BOARD_MANUFACTURER #language en-US "Base Board Manufacturer"\r
-#string STR_MISC_BASE_BOARD_PRODUCT_NAME #language en-US "Base Board Product Name"\r
-#string STR_MISC_BASE_BOARD_VERSION #language en-US "Base Board Version"\r
-#string STR_MISC_BASE_BOARD_SERIAL_NUMBER #language en-US "Base Board Serial Number"\r
-#string STR_MISC_BASE_BOARD_ASSET_TAG #language en-US "Base Board Asset Tag"\r
-#string STR_MISC_BASE_BOARD_CHASSIS_LOCATION #language en-US "Base Board Chassis Location"\r
-\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscBaseBoardManufacturerData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_BASE_BOARD_MANUFACTURER_DATA, MiscBaseBoardManufacturer) = {\r
- STRING_TOKEN(STR_MISC_BASE_BOARD_MANUFACTURER),\r
- STRING_TOKEN(STR_MISC_BASE_BOARD_PRODUCT_NAME),\r
- STRING_TOKEN(STR_MISC_BASE_BOARD_VERSION),\r
- STRING_TOKEN(STR_MISC_BASE_BOARD_SERIAL_NUMBER),\r
- STRING_TOKEN(STR_MISC_BASE_BOARD_ASSET_TAG),\r
- STRING_TOKEN(STR_MISC_BASE_BOARD_CHASSIS_LOCATION),\r
- { // BaseBoardFeatureFlags\r
- 1, // Motherboard\r
- 0, // RequiresDaughterCard\r
- 0, // Removable\r
- 1, // Replaceable,\r
- 0, // HotSwappable\r
- 0, // Reserved\r
- },\r
- EfiBaseBoardTypeUnknown, // BaseBoardType\r
- { // BaseBoardChassisLink\r
- EFI_MISC_SUBCLASS_GUID, // ProducerName\r
- 1, // Instance\r
- 1, // SubInstance\r
- },\r
- 0, // BaseBoardNumberLinks\r
- { // LinkN\r
- EFI_MISC_SUBCLASS_GUID, // ProducerName\r
- 1, // Instance\r
- 1, // SubInstance\r
- },\r
-};\r
-\r
-/* eof - MiscBaseBoardManufacturerData.c */\r
+++ /dev/null
-/** @file\r
- BaseBoard manufacturer information boot time changes.\r
- SMBIOS type 2.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscBaseBoardManufacturer (Type 2).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(MiscBaseBoardManufacturer)\r
-{\r
- CHAR8 *OptionalStrStart;\r
- UINTN ManuStrLen;\r
- UINTN ProductStrLen;\r
- UINTN VerStrLen;\r
- UINTN AssertTagStrLen;\r
- UINTN SerialNumStrLen;\r
- UINTN ChassisStrLen;\r
- EFI_STATUS Status;\r
- EFI_STRING Manufacturer;\r
- EFI_STRING Product;\r
- EFI_STRING Version;\r
- EFI_STRING SerialNumber;\r
- EFI_STRING AssertTag;\r
- EFI_STRING Chassis;\r
- STRING_REF TokenToGet;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE2 *SmbiosRecord;\r
- EFI_MISC_BASE_BOARD_MANUFACTURER *ForType2InputData;\r
-\r
- ForType2InputData = (EFI_MISC_BASE_BOARD_MANUFACTURER *)RecordData;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_MANUFACTURER);\r
- Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- ManuStrLen = StrLen(Manufacturer);\r
- if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_PRODUCT_NAME);\r
- Product = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- ProductStrLen = StrLen(Product);\r
- if (ProductStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_VERSION);\r
- Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- VerStrLen = StrLen(Version);\r
- if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_SERIAL_NUMBER);\r
- SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- SerialNumStrLen = StrLen(SerialNumber);\r
- if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_ASSET_TAG);\r
- AssertTag = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- AssertTagStrLen = StrLen(AssertTag);\r
- if (AssertTagStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BASE_BOARD_CHASSIS_LOCATION);\r
- Chassis = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- ChassisStrLen = StrLen(Chassis);\r
- if (ChassisStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + ChassisStrLen +1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + ChassisStrLen +1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BASEBOARD_INFORMATION;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE2);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- //\r
- // Manu will be the 1st optional string following the formatted structure.\r
- //\r
- SmbiosRecord->Manufacturer = 1;\r
- //\r
- // ProductName will be the 2st optional string following the formatted structure.\r
- //\r
- SmbiosRecord->ProductName = 2;\r
- //\r
- // Version will be the 3rd optional string following the formatted structure.\r
- //\r
- SmbiosRecord->Version = 3;\r
- //\r
- // SerialNumber will be the 4th optional string following the formatted structure.\r
- //\r
- SmbiosRecord->SerialNumber = 4;\r
- //\r
- // AssertTag will be the 5th optional string following the formatted structure.\r
- //\r
- SmbiosRecord->AssetTag = 5;\r
-\r
- //\r
- // LocationInChassis will be the 6th optional string following the formatted structure.\r
- //\r
- SmbiosRecord->LocationInChassis = 6;\r
- SmbiosRecord->FeatureFlag = (*(BASE_BOARD_FEATURE_FLAGS*)&(ForType2InputData->BaseBoardFeatureFlags));\r
- SmbiosRecord->ChassisHandle = 0;\r
- SmbiosRecord->BoardType = (UINT8)ForType2InputData->BaseBoardType;\r
- SmbiosRecord->NumberOfContainedObjectHandles = 0;\r
-\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- //\r
- // Since we fill NumberOfContainedObjectHandles = 0 for simple, just after this filed to fill string\r
- //\r
- OptionalStrStart -= 2;\r
- UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);\r
- UnicodeStrToAsciiStr(Product, OptionalStrStart + ManuStrLen + 1);\r
- UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1);\r
- UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1);\r
- UnicodeStrToAsciiStr(AssertTag, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1);\r
- UnicodeStrToAsciiStr(Chassis, OptionalStrStart + ManuStrLen + 1 + ProductStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1);\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_BIOS_VENDOR #language en-US "Bios Vendor"\r
-#string STR_MISC_BIOS_VERSION #language en-US "Bios Version"\r
-#string STR_MISC_BIOS_RELEASE_DATE #language en-US "Bios Release Date"\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscBiosVendorData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_BIOS_VENDOR_DATA, MiscBiosVendor) = {\r
- STRING_TOKEN(STR_MISC_BIOS_VENDOR), // BiosVendor\r
- STRING_TOKEN(STR_MISC_BIOS_VERSION), // BiosVersion\r
- STRING_TOKEN(STR_MISC_BIOS_RELEASE_DATE), // BiosReleaseDate\r
- 0xBABE, // BiosStartingAddress\r
- { // BiosPhysicalDeviceSize\r
- 2, // Value\r
- 3, // Exponent\r
- },\r
- { // BiosCharacteristics1\r
- 0, // Reserved1 :2\r
- 0, // Unknown :1\r
- 1, // BiosCharacteristicsNotSupported :1\r
- 0, // IsaIsSupported :1\r
- 0, // McaIsSupported :1\r
- 0, // EisaIsSupported :1\r
- 0, // PciIsSupported :1\r
- 0, // PcmciaIsSupported :1\r
- 0, // PlugAndPlayIsSupported :1\r
- 0, // ApmIsSupported :1\r
- 0, // BiosIsUpgradable :1\r
- 0, // BiosShadowingAllowed :1\r
- 0, // VlVesaIsSupported :1\r
- 0, // EscdSupportIsAvailable :1\r
- 0, // BootFromCdIsSupported :1\r
- 0, // SelectableBootIsSupported :1\r
- 0, // RomBiosIsSocketed :1\r
- 0, // BootFromPcmciaIsSupported :1\r
- 0, // EDDSpecificationIsSupported :1\r
- 0, // JapaneseNecFloppyIsSupported :1\r
- 0, // JapaneseToshibaFloppyIsSupported :1\r
- 0, // Floppy525_360IsSupported :1\r
- 0, // Floppy525_12IsSupported :1\r
- 0, // Floppy35_720IsSupported :1\r
- 0, // Floppy35_288IsSupported :1\r
- 0, // PrintScreenIsSupported :1\r
- 0, // Keyboard8042IsSupported :1\r
- 0, // SerialIsSupported :1\r
- 0, // PrinterIsSupported :1\r
- 0, // CgaMonoIsSupported :1\r
- 0, // NecPc98 :1\r
- 0, // AcpiIsSupported :1\r
- 0, // UsbLegacyIsSupported :1\r
- 0, // AgpIsSupported :1\r
- 0, // I20BootIsSupported :1\r
- 0, // Ls120BootIsSupported :1\r
- 0, // AtapiZipDriveBootIsSupported :1\r
- 0, // Boot1394IsSupported :1\r
- 0, // SmartBatteryIsSupported :1\r
- 0, // BiosBootSpecIsSupported :1\r
- 0, // FunctionKeyNetworkBootIsSupported :1\r
- 0 // Reserved :22\r
- },\r
- { // BiosCharacteristics2\r
- 0, // BiosReserved :16\r
- 0, // SystemReserved :16\r
- 0 // Reserved :32\r
- },\r
-};\r
-\r
-/* eof - MiscBiosVendorData.c */\r
+++ /dev/null
-/** @file\r
- BIOS vendor information boot time changes.\r
- Misc. subclass type 2.\r
- SMBIOS type 0.\r
-\r
- Copyright (c) 2009, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-/**\r
- This function returns the value & exponent to Base2 for a given\r
- Hex value. This is used to calculate the BiosPhysicalDeviceSize.\r
-\r
- @param Value The hex value which is to be converted into value-exponent form\r
- @param Exponent The exponent out of the conversion\r
-\r
- @retval EFI_SUCCESS All parameters were valid and *Value & *Exponent have been set.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-EFI_STATUS\r
-GetValueExponentBase2(\r
- IN OUT UINTN *Value,\r
- OUT UINTN *Exponent\r
- )\r
-{\r
- if ((Value == NULL) || (Exponent == NULL)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- while ((*Value % 2) == 0) {\r
- *Value=*Value/2;\r
- (*Exponent)++;\r
- }\r
-\r
- return EFI_SUCCESS;\r
-}\r
-\r
-/**\r
- Field Filling Function. Transform an EFI_EXP_BASE2_DATA to a byte, with '64k'\r
- as the unit.\r
-\r
- @param Base2Data Pointer to Base2_Data\r
-\r
- @retval EFI_SUCCESS Transform successfully.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-UINT16\r
-Base2ToByteWith64KUnit (\r
- IN EFI_EXP_BASE2_DATA *Base2Data\r
- )\r
-{\r
- UINT16 Value;\r
- UINT16 Exponent;\r
-\r
- Value = Base2Data->Value;\r
- Exponent = Base2Data->Exponent;\r
- Exponent -= 16;\r
- Value <<= Exponent;\r
-\r
- return Value;\r
-}\r
-\r
-\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscBiosVendor (Type 0).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(MiscBiosVendor)\r
-{\r
- CHAR8 *OptionalStrStart;\r
- UINTN VendorStrLen;\r
- UINTN VerStrLen;\r
- UINTN DateStrLen;\r
- CHAR16 *Version;\r
- CHAR16 *ReleaseDate;\r
- EFI_STATUS Status;\r
- EFI_STRING Char16String;\r
- STRING_REF TokenToGet;\r
- STRING_REF TokenToUpdate;\r
- SMBIOS_TABLE_TYPE0 *SmbiosRecord;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- EFI_MISC_BIOS_VENDOR *ForType0InputData;\r
-\r
- ForType0InputData = (EFI_MISC_BIOS_VENDOR *)RecordData;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- Version = (CHAR16 *) PcdGetPtr (PcdFirmwareVersionString);\r
- if (StrLen (Version) > 0) {\r
- TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_VERSION);\r
- HiiSetString (mHiiHandle, TokenToUpdate, Version, NULL);\r
- }\r
-\r
- ReleaseDate = (CHAR16 *) PcdGetPtr (PcdFirmwareReleaseDateString);\r
- if (StrLen(ReleaseDate) > 0) {\r
- TokenToUpdate = STRING_TOKEN (STR_MISC_BIOS_RELEASE_DATE);\r
- HiiSetString (mHiiHandle, TokenToUpdate, ReleaseDate, NULL);\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BIOS_VENDOR);\r
- Char16String = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- VendorStrLen = StrLen(Char16String);\r
- if (VendorStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BIOS_VERSION);\r
- Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- VerStrLen = StrLen(Version);\r
- if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_BIOS_RELEASE_DATE);\r
- ReleaseDate = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- DateStrLen = StrLen(ReleaseDate);\r
- if (DateStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE0) + VendorStrLen + 1 + VerStrLen + 1 + DateStrLen + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE0) + VendorStrLen + 1 + VerStrLen + 1 + DateStrLen + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BIOS_INFORMATION;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE0);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- //\r
- // Vendor will be the 1st optional string following the formatted structure.\r
- //\r
- SmbiosRecord->Vendor = 1;\r
- //\r
- // Version will be the 2nd optional string following the formatted structure.\r
- //\r
- SmbiosRecord->BiosVersion = 2;\r
- SmbiosRecord->BiosSegment = (UINT16)ForType0InputData->BiosStartingAddress;\r
- //\r
- // ReleaseDate will be the 3rd optional string following the formatted structure.\r
- //\r
- SmbiosRecord->BiosReleaseDate = 3;\r
- //\r
- // Nt32 has no PCD value to indicate BIOS Size, just fill 0 for simply.\r
- //\r
- SmbiosRecord->BiosSize = 0;\r
- SmbiosRecord->BiosCharacteristics = *(MISC_BIOS_CHARACTERISTICS*)(&ForType0InputData->BiosCharacteristics1);\r
- //\r
- // CharacterExtensionBytes also store in ForType0InputData->BiosCharacteristics1 later two bytes to save size.\r
- //\r
- SmbiosRecord->BIOSCharacteristicsExtensionBytes[0] = *((UINT8 *) &ForType0InputData->BiosCharacteristics1 + 4);\r
- SmbiosRecord->BIOSCharacteristicsExtensionBytes[1] = *((UINT8 *) &ForType0InputData->BiosCharacteristics1 + 5);\r
-\r
- SmbiosRecord->SystemBiosMajorRelease = ForType0InputData->BiosMajorRelease;\r
- SmbiosRecord->SystemBiosMinorRelease = ForType0InputData->BiosMinorRelease;\r
- SmbiosRecord->EmbeddedControllerFirmwareMajorRelease = ForType0InputData->BiosEmbeddedFirmwareMajorRelease;\r
- SmbiosRecord->EmbeddedControllerFirmwareMinorRelease = ForType0InputData->BiosEmbeddedFirmwareMinorRelease;\r
-\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- UnicodeStrToAsciiStr(Char16String, OptionalStrStart);\r
- UnicodeStrToAsciiStr(Version, OptionalStrStart + VendorStrLen + 1);\r
- UnicodeStrToAsciiStr(ReleaseDate, OptionalStrStart + VendorStrLen + 1 + VerStrLen + 1);\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscBootInformationData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_BOOT_INFORMATION_STATUS_DATA, BootInformationStatus) = {\r
- EfiBootInformationStatusNoError, // BootInformationStatus\r
- {0} // BootInformationData\r
-};\r
-\r
-/* eof - MiscBootInformationData.c */\r
+++ /dev/null
-/** @file\r
- boot information boot time changes.\r
- SMBIOS type 32.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscBootInformation (Type 32).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-\r
-MISC_SMBIOS_TABLE_FUNCTION(BootInformationStatus)\r
-{\r
- EFI_STATUS Status;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE32 *SmbiosRecord;\r
- EFI_MISC_BOOT_INFORMATION_STATUS* ForType32InputData;\r
-\r
- ForType32InputData = (EFI_MISC_BOOT_INFORMATION_STATUS *)RecordData;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE32) + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE32) + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_BOOT_INFORMATION;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE32);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- SmbiosRecord->BootStatus = (UINT8)ForType32InputData->BootInformationStatus;\r
-\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_CHASSIS_MANUFACTURER #language en-US "Chassis Manufacturer"\r
-#string STR_MISC_CHASSIS_VERSION #language en-US "Chassis Version"\r
-#string STR_MISC_CHASSIS_SERIAL_NUMBER #language en-US "Chassis Serial Number"\r
-#string STR_MISC_CHASSIS_ASSET_TAG #language en-US "Chassis Asset Tag"\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscChassisManufacturerData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Chassis Manufacturer data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_CHASSIS_MANUFACTURER_DATA, MiscChassisManufacturer) = {\r
- STRING_TOKEN(STR_MISC_CHASSIS_MANUFACTURER), // ChassisManufactrurer\r
- STRING_TOKEN(STR_MISC_CHASSIS_VERSION), // ChassisVersion\r
- STRING_TOKEN(STR_MISC_CHASSIS_SERIAL_NUMBER), // ChassisSerialNumber\r
- STRING_TOKEN(STR_MISC_CHASSIS_ASSET_TAG), // ChassisAssetTag\r
- { // ChassisTypeStatus\r
- EfiMiscChassisTypeOther, // ChassisType\r
- 0, // ChassisLockPresent\r
- 0 // Reserved\r
- },\r
- EfiChassisStateOther, // ChassisBootupState\r
- EfiChassisStateOther, // ChassisPowerSupplyState\r
- EfiChassisStateOther, // ChassisThermalState\r
- EfiChassisSecurityStatusOther, // ChassisSecurityState\r
- 0 // ChassisOemDefined\r
-};\r
-\r
-/* eof - MiscChassisManufacaturerData.c */\r
+++ /dev/null
-/** @file\r
- Chassis manufacturer information boot time changes.\r
- SMBIOS type 3.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscChassisManufacturer (Type 3).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(MiscChassisManufacturer)\r
-{\r
- CHAR8 *OptionalStrStart;\r
- UINTN ManuStrLen;\r
- UINTN VerStrLen;\r
- UINTN AssertTagStrLen;\r
- UINTN SerialNumStrLen;\r
- EFI_STATUS Status;\r
- EFI_STRING Manufacturer;\r
- EFI_STRING Version;\r
- EFI_STRING SerialNumber;\r
- EFI_STRING AssertTag;\r
- STRING_REF TokenToGet;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE3 *SmbiosRecord;\r
- EFI_MISC_CHASSIS_MANUFACTURER *ForType3InputData;\r
-\r
- ForType3InputData = (EFI_MISC_CHASSIS_MANUFACTURER *)RecordData;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_MANUFACTURER);\r
- Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- ManuStrLen = StrLen(Manufacturer);\r
- if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_VERSION);\r
- Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- VerStrLen = StrLen(Version);\r
- if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_SERIAL_NUMBER);\r
- SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- SerialNumStrLen = StrLen(SerialNumber);\r
- if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_CHASSIS_ASSET_TAG);\r
- AssertTag = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- AssertTagStrLen = StrLen(AssertTag);\r
- if (AssertTagStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE3) + ManuStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + AssertTagStrLen + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_ENCLOSURE;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE3);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- //\r
- // Manu will be the 1st optional string following the formatted structure.\r
- //\r
- SmbiosRecord->Manufacturer = 1;\r
- SmbiosRecord->Type = (UINT8)ForType3InputData->ChassisType.ChassisType;\r
- //\r
- // Version will be the 2nd optional string following the formatted structure.\r
- //\r
- SmbiosRecord->Version = 2;\r
- //\r
- // SerialNumber will be the 3rd optional string following the formatted structure.\r
- //\r
- SmbiosRecord->SerialNumber = 3;\r
- //\r
- // AssertTag will be the 4th optional string following the formatted structure.\r
- //\r
- SmbiosRecord->AssetTag = 4;\r
- SmbiosRecord->BootupState = (UINT8)ForType3InputData->ChassisBootupState;\r
- SmbiosRecord->PowerSupplyState = (UINT8)ForType3InputData->ChassisPowerSupplyState;\r
- SmbiosRecord->ThermalState = (UINT8)ForType3InputData->ChassisThermalState;\r
- SmbiosRecord->SecurityStatus = (UINT8)ForType3InputData->ChassisSecurityState;\r
- CopyMem (SmbiosRecord->OemDefined,(UINT8*)&ForType3InputData->ChassisOemDefined, 4);\r
-\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);\r
- UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1);\r
- UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 + VerStrLen + 1);\r
- UnicodeStrToAsciiStr(AssertTag, OptionalStrStart + ManuStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1);\r
-\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscDevicePath.h\r
-\r
-Abstract:\r
-\r
- Misc class required EFI Device Path definitions (Ports, slots &\r
- onboard devices)\r
-\r
-**/\r
-\r
-#ifndef _MISC_DEVICE_PATH_H\r
-#define _MISC_DEVICE_PATH_H\r
-\r
-\r
-#pragma pack(1)\r
-//\r
-// USB\r
-//\r
-\r
-/* For reference:\r
-#define USB1_1_STR "ACPI(PNP0A03,0)/PCI(1D,0)."\r
-#define USB1_2_STR "ACPI(PNP0A03,0)/PCI(1D,1)."\r
-#define USB1_3_STR "ACPI(PNP0A03,0)/PCI(1D,2)."\r
-#define USB2_1_STR "ACPI(PNP0A03,0)/PCI(1D,7)."\r
-*/\r
-\r
-//\r
-// #define acpi { 0x02, 0x01, 0x00, 0x0C, 0x0a0341d0, 0x00000000 }\r
-// #define pci( device,function) { 0x01, 0x01, 0x00, 0x06, device, function }\r
-// #define end { 0xFF, 0xFF, 0x00, 0x04 }\r
-//\r
-#define DP_ACPI \\r
- { \\r
- {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), (UINT8) \\r
- ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (0x0A03), 0 \\r
- }\r
-#define DP_PCI(device, function) \\r
- { \\r
- {HARDWARE_DEVICE_PATH, HW_PCI_DP, {(UINT8) (sizeof (PCI_DEVICE_PATH)), (UINT8) \\r
- ((sizeof (PCI_DEVICE_PATH)) >> 8)}}, function, device \\r
- }\r
-#define DP_END \\r
- { \\r
- END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, {END_DEVICE_PATH_LENGTH, 0} \\r
- }\r
-\r
-#define DP_LPC(eisaid, function) \\r
- { \\r
- {ACPI_DEVICE_PATH, ACPI_DP, {(UINT8) (sizeof (ACPI_HID_DEVICE_PATH)), (UINT8) \\r
- ((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)}}, EISA_PNP_ID (eisaid), function \\r
- }\r
-\r
-//\r
-// Shanmu >> moved to TianoDevicePath.h\r
-//\r
-\r
-/*\r
-typedef struct _USB_PORT_DEVICE_PATH\r
-{\r
- ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
- PCI_DEVICE_PATH PciBusDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} USB_PORT_DEVICE_PATH;\r
-\r
-\r
-//IDE ??I am not sure. Should this be ATAPI_DEVICE_PATH\r
-typedef struct _IDE_DEVICE_PATH\r
-{\r
- ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
- PCI_DEVICE_PATH PciBusDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} IDE_DEVICE_PATH;\r
-\r
-//RMC Connector\r
-typedef struct _RMC_CONN_DEVICE_PATH\r
-{\r
- ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
- PCI_DEVICE_PATH PciBridgeDevicePath;\r
- PCI_DEVICE_PATH PciBusDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} RMC_CONN_DEVICE_PATH;\r
-\r
-//static RMC_CONN_DEVICE_PATH mRmcConnDevicePath = { acpi, pci( 0x1E,0x00 ),pci( 0x0A,0x00 ), end };\r
-\r
-//RIDE\r
-typedef struct _RIDE_DEVICE_PATH\r
-{\r
- ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
- PCI_DEVICE_PATH PciBridgeDevicePath;\r
- PCI_DEVICE_PATH PciBusDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} RIDE_DEVICE_PATH;\r
-\r
-//static RIDE_DEVICE_PATH mRideDevicePath = { acpi, pci( 0x1E,0x00 ),pci( 0x02,0x00 ), end };\r
-\r
-//Gigabit NIC\r
-//typedef struct _GB_NIC_DEVICE_PATH\r
-//{\r
-// ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
-// PCI_DEVICE_PATH PciBridgeDevicePath;\r
-// PCI_DEVICE_PATH PciXBridgeDevicePath;\r
-// PCI_DEVICE_PATH PciXBusDevicePath;\r
-// EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-//} GB_NIC_DEVICE_PATH;\r
-\r
-//static GB_NIC_DEVICE_PATH mGbNicDevicePath = { acpi, pci( 0x03,0x00 ),pci( 0x1F,0x00 ),pci( 0x07,0x00 ), end };\r
-\r
-\r
-//P/S2 Connector\r
-typedef struct _PS2_CONN_DEVICE_PATH\r
-{\r
- ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
- PCI_DEVICE_PATH LpcBridgeDevicePath;\r
- ACPI_HID_DEVICE_PATH LpcBusDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} PS2_CONN_DEVICE_PATH;\r
-\r
-//static PS2_CONN_DEVICE_PATH mPs2KeyboardDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0303,0 ), end };\r
-//static PS2_CONN_DEVICE_PATH mPs2MouseDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0303,1 ), end };\r
-\r
-//Serial Port Connector\r
-typedef struct _SERIAL_CONN_DEVICE_PATH\r
-{\r
- ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
- PCI_DEVICE_PATH LpcBridgeDevicePath;\r
- ACPI_HID_DEVICE_PATH LpcBusDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} SERIAL_CONN_DEVICE_PATH;\r
-\r
-//static SERIAL_CONN_DEVICE_PATH mCom1DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0501,0 ), end };\r
-//static SERIAL_CONN_DEVICE_PATH mCom2DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0501,1 ), end };\r
-\r
-//Parallel Port Connector\r
-typedef struct _PARALLEL_CONN_DEVICE_PATH\r
-{\r
- ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
- PCI_DEVICE_PATH LpcBridgeDevicePath;\r
- ACPI_HID_DEVICE_PATH LpcBusDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} PARALLEL_CONN_DEVICE_PATH;\r
-\r
-//static PARALLEL_CONN_DEVICE_PATH mLpt1DevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0401,0 ), end };\r
-\r
-//Floopy Connector\r
-typedef struct _FLOOPY_CONN_DEVICE_PATH\r
-{\r
- ACPI_HID_DEVICE_PATH PciRootBridgeDevicePath;\r
- PCI_DEVICE_PATH LpcBridgeDevicePath;\r
- ACPI_HID_DEVICE_PATH LpcBusDevicePath;\r
- EFI_DEVICE_PATH_PROTOCOL EndDevicePath;\r
-} FLOOPY_CONN_DEVICE_PATH;\r
-\r
-//static FLOOPY_CONN_DEVICE_PATH mFloopyADevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0604,0 ), end };\r
-//static FLOOPY_CONN_DEVICE_PATH mFloopyBDevicePath = { acpi, pci( 0x1F,0x00 ),lpc( 0x0604,1 ), end };\r
-\r
-*/\r
-\r
-//\r
-// End Shanmu\r
-//\r
-#pragma pack()\r
-\r
-#endif\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscNumberOfInstallableLanguagesData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA, NumberOfInstallableLanguages)\r
-= {\r
- 1, // NumberOfInstallableLanguages\r
- { // LanguageFlags\r
- 0, // AbbreviatedLanguageFormat\r
- 0 // Reserved\r
- },\r
- 0, // CurrentLanguageNumber\r
-};\r
-\r
-/* eof - MiscNumberOfInstallableLanguagesData.c */\r
+++ /dev/null
-/** @file\r
- This driver parses the mSmbiosMiscDataTable structure and reports\r
- any generated data.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-/*++\r
- Check whether the language is supported for given HII handle\r
-\r
- @param HiiHandle The HII package list handle.\r
- @param Offset The offest of current lanague in the supported languages.\r
- @param CurrentLang The language code.\r
-\r
- @retval TRUE Supported.\r
- @retval FALSE Not Supported.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-CurrentLanguageMatch (\r
- IN EFI_HII_HANDLE HiiHandle,\r
- OUT UINT16 *Offset,\r
- OUT CHAR8 *CurrentLang\r
- )\r
-{\r
- CHAR8 *DefaultLang;\r
- CHAR8 *BestLanguage;\r
- CHAR8 *Languages;\r
- CHAR8 *MatchLang;\r
- CHAR8 *EndMatchLang;\r
- UINTN CompareLength;\r
-\r
- Languages = HiiGetSupportedLanguages (HiiHandle);\r
- if (Languages == NULL) {\r
- return;\r
- }\r
-\r
- CurrentLang = GetEfiGlobalVariable (L"PlatformLang");\r
- DefaultLang = (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLang);\r
- BestLanguage = GetBestLanguage (\r
- Languages,\r
- FALSE,\r
- (CurrentLang != NULL) ? CurrentLang : "",\r
- DefaultLang,\r
- NULL\r
- );\r
- if (BestLanguage != NULL) {\r
- //\r
- // Find the best matching RFC 4646 language, compute the offset.\r
- //\r
- CompareLength = AsciiStrLen (BestLanguage);\r
- for (MatchLang = Languages, (*Offset) = 0; MatchLang != '\0'; (*Offset)++) {\r
- //\r
- // Seek to the end of current match language.\r
- //\r
- for (EndMatchLang = MatchLang; *EndMatchLang != '\0' && *EndMatchLang != ';'; EndMatchLang++);\r
-\r
- if ((EndMatchLang == MatchLang + CompareLength) && AsciiStrnCmp(MatchLang, BestLanguage, CompareLength) == 0) {\r
- //\r
- // Find the current best Language in the supported languages\r
- //\r
- break;\r
- }\r
- //\r
- // best language match be in the supported language.\r
- //\r
- ASSERT (*EndMatchLang == ';');\r
- MatchLang = EndMatchLang + 1;\r
- }\r
- FreePool (BestLanguage);\r
- }\r
-\r
- FreePool (Languages);\r
- if (CurrentLang != NULL) {\r
- FreePool (CurrentLang);\r
- }\r
- return ;\r
-}\r
-\r
-\r
-/**\r
- Get next language from language code list (with separator ';').\r
-\r
- @param LangCode Input: point to first language in the list. On\r
- Otput: point to next language in the list, or\r
- NULL if no more language in the list.\r
- @param Lang The first language in the list.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-GetNextLanguage (\r
- IN OUT CHAR8 **LangCode,\r
- OUT CHAR8 *Lang\r
- )\r
-{\r
- UINTN Index;\r
- CHAR8 *StringPtr;\r
-\r
- ASSERT (LangCode != NULL);\r
- ASSERT (*LangCode != NULL);\r
- ASSERT (Lang != NULL);\r
-\r
- Index = 0;\r
- StringPtr = *LangCode;\r
- while (StringPtr[Index] != 0 && StringPtr[Index] != ';') {\r
- Index++;\r
- }\r
-\r
- CopyMem (Lang, StringPtr, Index);\r
- Lang[Index] = 0;\r
-\r
- if (StringPtr[Index] == ';') {\r
- Index++;\r
- }\r
- *LangCode = StringPtr + Index;\r
-}\r
-\r
-/**\r
- This function returns the number of supported languages on HiiHandle.\r
-\r
- @param HiiHandle The HII package list handle.\r
-\r
- @retval The number of supported languages.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-GetSupportedLanguageNumber (\r
- IN EFI_HII_HANDLE HiiHandle\r
- )\r
-{\r
- CHAR8 *Lang;\r
- CHAR8 *Languages;\r
- CHAR8 *LanguageString;\r
- UINT16 LangNumber;\r
-\r
- Languages = HiiGetSupportedLanguages (HiiHandle);\r
- if (Languages == NULL) {\r
- return 0;\r
- }\r
-\r
- LangNumber = 0;\r
- Lang = AllocatePool (AsciiStrSize (Languages));\r
- if (Lang != NULL) {\r
- LanguageString = Languages;\r
- while (*LanguageString != 0) {\r
- GetNextLanguage (&LanguageString, Lang);\r
- LangNumber++;\r
- }\r
- FreePool (Lang);\r
- }\r
- FreePool (Languages);\r
- return LangNumber;\r
-}\r
-\r
-\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscNumberOfInstallableLanguages (Type 13).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(NumberOfInstallableLanguages)\r
-{\r
- UINTN LangStrLen;\r
- CHAR8 CurrentLang[SMBIOS_STRING_MAX_LENGTH + 1];\r
- CHAR8 *OptionalStrStart;\r
- UINT16 Offset;\r
- EFI_STATUS Status;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE13 *SmbiosRecord;\r
- EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES *ForType13InputData;\r
-\r
- ForType13InputData = (EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES *)RecordData;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- ForType13InputData->NumberOfInstallableLanguages = GetSupportedLanguageNumber (mHiiHandle);\r
-\r
- //\r
- // Try to check if current langcode matches with the langcodes in installed languages\r
- //\r
- ZeroMem(CurrentLang, SMBIOS_STRING_MAX_LENGTH + 1);\r
- CurrentLanguageMatch (mHiiHandle, &Offset, CurrentLang);\r
- LangStrLen = AsciiStrLen(CurrentLang);\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE13) + LangStrLen + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE13) + LangStrLen + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE13);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
-\r
- SmbiosRecord->InstallableLanguages = (UINT8)ForType13InputData->NumberOfInstallableLanguages;\r
- SmbiosRecord->Flags = (UINT8)ForType13InputData->LanguageFlags.AbbreviatedLanguageFormat;\r
- SmbiosRecord->CurrentLanguages = 1;\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- AsciiStrCpy(OptionalStrStart, CurrentLang);\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_OEM_STRING #language en-US "System Language String"\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscOemStringData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_OEM_STRING_DATA, OemString) = {\r
- { STRING_TOKEN(STR_MISC_OEM_STRING) }\r
-};\r
-\r
-/* eof - MiscOemStringData.c */\r
+++ /dev/null
-/** @file\r
- boot information boot time changes.\r
- SMBIOS type 11.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscOemString (Type 11).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(OemString)\r
-{\r
- UINTN OemStrLen;\r
- CHAR8 *OptionalStrStart;\r
- EFI_STATUS Status;\r
- EFI_STRING OemStr;\r
- STRING_REF TokenToGet;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE11 *SmbiosRecord;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_OEM_STRING);\r
- OemStr = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- OemStrLen = StrLen(OemStr);\r
- if (OemStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE11) + OemStrLen + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE11) + OemStrLen + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_OEM_STRINGS;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE11);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- SmbiosRecord->StringCount = 1;\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- UnicodeStrToAsciiStr(OemStr, OptionalStrStart);\r
-\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR #language en-US "Port Internal Connector"\r
-#string STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR #language en-US "Port External Connector"\r
-#string STR_MISC_PORT_INTERNAL_KEYBOARD #language en-US "J1A1"\r
-#string STR_MISC_PORT_EXTERNAL_KEYBOARD #language en-US "Keyboard"\r
-#string STR_MISC_PORT_INTERNAL_MOUSE #language en-US "J1A1"\r
-#string STR_MISC_PORT_EXTERNAL_MOUSE #language en-US "Mouse"\r
-#string STR_MISC_PORT_INTERNAL_COM1 #language en-US "J2A1"\r
-#string STR_MISC_PORT_EXTERNAL_COM1 #language en-US "COM 1"\r
-#string STR_MISC_PORT_INTERNAL_LPT1 #language en-US "J4A2"\r
-#string STR_MISC_PORT_EXTERNAL_LPT1 #language en-US "LPT 1"\r
-#string STR_MISC_PORT_INTERNAL_EXTENSION_POWER #language en-US "J5C1"\r
-#string STR_MISC_PORT_EXTERNAL_EXTENSION_POWER #language en-US "Extension Power Header"\r
-#string STR_MISC_PORT_INTERNAL_USB1 #language en-US "JA5A1"\r
-#string STR_MISC_PORT_EXTERNAL_USB1 #language en-US "USB"\r
-#string STR_MISC_PORT_INTERNAL_USB2 #language en-US "J2A2"\r
-#string STR_MISC_PORT_EXTERNAL_USB2 #language en-US "USB"\r
-#string STR_MISC_PORT_INTERNAL_NETWORK #language en-US "JA5A1"\r
-#string STR_MISC_PORT_EXTERNAL_NETWORK #language en-US "RJ-45 Type"\r
-#string STR_MISC_PORT_INTERNAL_MIC #language en-US "J6A1"\r
-#string STR_MISC_PORT_EXTERNAL_MIC #language en-US "Audio Mic In"\r
-#string STR_MISC_PORT_INTERNAL_LINE_IN #language en-US "J6A1"\r
-#string STR_MISC_PORT_EXTERNAL_LINE_IN #language en-US "Audio Line In"\r
-#string STR_MISC_PORT_INTERNAL_LINE_OUT #language en-US "J6A1"\r
-#string STR_MISC_PORT_EXTERNAL_LINE_OUT #language en-US "Audio Line Out"\r
-#string STR_MISC_PORT_INTERNAL_FLOPPY #language en-US "J4H1"\r
-#string STR_MISC_PORT_EXTERNAL_FLOPPY #language en-US "OnBoard Floppy Type"\r
-#string STR_MISC_PORT_INTERNAL_IDE1 #language en-US "J6H2"\r
-#string STR_MISC_PORT_EXTERNAL_IDE1 #language en-US "OnBoard Primary IDE"\r
-#string STR_MISC_PORT_INTERNAL_IDE2 #language en-US "J6H1"\r
-#string STR_MISC_PORT_EXTERNAL_IDE2 #language en-US "OnBoard Secondary IDE"\r
-#string STR_MISC_PORT_INTERNAL_SOUND_IN1 #language en-US "J8B1"\r
-#string STR_MISC_PORT_EXTERNAL_SOUND_IN1 #language en-US "OnBoard Sound Input Type"\r
-#string STR_MISC_PORT_INTERNAL_SOUND_IN2 #language en-US "J6B1"\r
-#string STR_MISC_PORT_EXTERNAL_SOUND_IN2 #language en-US "OnBoard Sound Input Type"\r
-#string STR_MISC_PORT_INTERNAL_FRONT_PANEL #language en-US "J9G1"\r
-#string STR_MISC_PORT_EXTERNAL_FRONT_PANEL #language en-US "Front Panel Header Type"\r
-#string STR_MISC_PORT_INTERNAL_CPU_FAN #language en-US "J2F1"\r
-#string STR_MISC_PORT_EXTERNAL_CPU_FAN #language en-US "CPU Fan Header"\r
-#string STR_MISC_PORT_INTERNAL_FRONT_FAN #language en-US "J9H3"\r
-#string STR_MISC_PORT_EXTERNAL_FRONT_FAN #language en-US "Front Chassis Fan"\r
-#string STR_MISC_PORT_INTERNAL_REAR_FAN #language en-US "J1B1"\r
-#string STR_MISC_PORT_EXTERNAL_REAR_FAN #language en-US "Rear Chassis Fan"\r
-#string STR_MISC_PORT_INTERNAL_CONFIG_JUMPER #language en-US "J9H2"\r
-#string STR_MISC_PORT_EXTERNAL_CONFIG_JUMPER #language en-US "Configuration Jumper"\r
-#string STR_MISC_PORT_INTERNAL_AUDIO_PANEL #language en-US "J8A1"\r
-#string STR_MISC_PORT_EXTERNAL_AUDIO_PANEL #language en-US "Audio Front Panel Header"\r
-#string STR_MISC_PORT_INTERNAL_USB_PANEL #language en-US "J9F1"\r
-#string STR_MISC_PORT_EXTERNAL_USB_PANEL #language en-US "USB Front Panel Header"\r
-#string STR_MISC_PORT_INTERNAL_ATX_POWER #language en-US "J2H1"\r
-#string STR_MISC_PORT_EXTERNAL_ATX_POWER #language en-US "ATX Power Header"\r
-#string STR_MISC_PORT_INTERNAL_COM2 #language en-US "J5A1"\r
-#string STR_MISC_PORT_EXTERNAL_COM2 #language en-US "COM 2"\r
-#string STR_MISC_PORT_INTERNAL_USB3 #language en-US "J1D3"\r
-#string STR_MISC_PORT_EXTERNAL_USB3 #language en-US "USB"\r
-\r
-\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscPortInternalConnectorDesignatorData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortInternalConnectorDesignator) = {\r
- STRING_TOKEN(STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR), // PortInternalConnectorDesignator\r
- STRING_TOKEN(STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR), // PortExternalConnectorDesignator\r
- EfiPortConnectorTypeOther, // PortInternalConnectorType\r
- EfiPortConnectorTypeOther, // PortExternalConnectorType\r
- EfiPortTypeNone, // PortType\r
- {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath\r
-};\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortKeyboard) = {\r
- STRING_TOKEN (STR_MISC_PORT_INTERNAL_KEYBOARD), // PortInternalConnectorDesignator\r
- STRING_TOKEN (STR_MISC_PORT_EXTERNAL_KEYBOARD), // PortExternalConnectorDesignator\r
- EfiPortConnectorTypeNone, // PortInternalConnectorType\r
- EfiPortConnectorTypePS2, // PortExternalConnectorType\r
- EfiPortTypeKeyboard, // PortType\r
- // mPs2KbyboardDevicePath // PortPath\r
- //\r
- {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath\r
-};\r
-\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortMouse) = {\r
- STRING_TOKEN (STR_MISC_PORT_INTERNAL_MOUSE), // PortInternalConnectorDesignator\r
- STRING_TOKEN (STR_MISC_PORT_EXTERNAL_MOUSE), // PortExternalConnectorDesignator\r
- EfiPortConnectorTypeNone, // PortInternalConnectorType\r
- EfiPortConnectorTypePS2, // PortExternalConnectorType\r
- EfiPortTypeMouse, // PortType\r
- // mPs2MouseDevicePath // PortPath\r
- //\r
- {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath\r
-};\r
-\r
-\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortCom1) = {\r
- STRING_TOKEN(STR_MISC_PORT_INTERNAL_COM1),\r
- STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM1),\r
- EfiPortConnectorTypeNone,\r
- EfiPortConnectorTypeDB9Female,\r
- EfiPortTypeSerial16550ACompatible,\r
- {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath\r
-};\r
-\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortCom2) = {\r
- STRING_TOKEN(STR_MISC_PORT_INTERNAL_COM2),\r
- STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM2),\r
- EfiPortConnectorTypeNone,\r
- EfiPortConnectorTypeDB9Female,\r
- EfiPortTypeSerial16550ACompatible,\r
- {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath\r
-};\r
-\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortExtensionPower) = {\r
- STRING_TOKEN(STR_MISC_PORT_INTERNAL_EXTENSION_POWER),\r
- STRING_TOKEN(STR_MISC_PORT_EXTERNAL_EXTENSION_POWER),\r
- EfiPortConnectorTypeOther,\r
- EfiPortConnectorTypeNone,\r
- EfiPortTypeOther,\r
- {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath\r
-};\r
-\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortFloppy) = {\r
- STRING_TOKEN(STR_MISC_PORT_INTERNAL_FLOPPY),\r
- STRING_TOKEN(STR_MISC_PORT_EXTERNAL_FLOPPY),\r
- EfiPortConnectorTypeOnboardFloppy,\r
- EfiPortConnectorTypeNone,\r
- EfiPortTypeOther,\r
- {{{{0, 0, {0, 0}}, 0, 0}, {{0, 0, {0, 0}}, 0, 0}, {0, 0, {0, 0}}}} // PortPath\r
-};\r
-\r
-/* eof - MiscPortInternalConnectorDesignatorData.c */\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscPortInternalConnectorDesignatorFunction.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-\r
-MISC_SMBIOS_TABLE_FUNCTION (\r
- MiscPortInternalConnectorDesignator\r
- )\r
-/*++\r
-Description:\r
-\r
- This function makes boot time changes to the contents of the\r
- MiscPortConnectorInformation (Type 8).\r
-\r
-Parameters:\r
-\r
- RecordType\r
- Type of record to be processed from the Data Table.\r
- mMiscSubclassDataTable[].RecordType\r
-\r
- RecordLen\r
- Size of static RecordData from the Data Table.\r
- mMiscSubclassDataTable[].RecordLen\r
-\r
- RecordData\r
- Pointer to copy of RecordData from the Data Table. Changes made\r
- to this copy will be written to the Data Hub but will not alter\r
- the contents of the static Data Table.\r
-\r
- LogRecordData\r
- Set *LogRecordData to TRUE to log RecordData to Data Hub.\r
- Set *LogRecordData to FALSE when there is no more data to log.\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS\r
- All parameters were valid and *RecordData and *LogRecordData have\r
- been set.\r
-\r
- EFI_UNSUPPORTED\r
- Unexpected RecordType value.\r
-\r
- EFI_INVALID_PARAMETER\r
- One of the following parameter conditions was true:\r
- RecordLen was zero.\r
- RecordData was NULL.\r
- LogRecordData was NULL.\r
-**/\r
-{\r
- CHAR8 *OptionalStrStart;\r
- UINTN InternalRefStrLen;\r
- UINTN ExternalRefStrLen;\r
- EFI_STRING InternalRef;\r
- EFI_STRING ExternalRef;\r
- STRING_REF TokenForInternal;\r
- STRING_REF TokenForExternal;\r
- EFI_STATUS Status;\r
- SMBIOS_TABLE_TYPE8 *SmbiosRecord;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR *ForType8InputData;\r
-\r
- ForType8InputData = (EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR *)RecordData;\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- TokenForInternal = 0;\r
- TokenForExternal = 0;\r
-\r
- switch (ForType8InputData->PortInternalConnectorDesignator) {\r
-\r
- case STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR:\r
- TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR);\r
- TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_CONNECTOR_DESIGNATOR);\r
- break;\r
- case STR_MISC_PORT_INTERNAL_KEYBOARD:\r
- TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_KEYBOARD);\r
- TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_KEYBOARD);\r
- break;\r
- case STR_MISC_PORT_INTERNAL_MOUSE:\r
- TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_MOUSE);\r
- TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_MOUSE);\r
- break;\r
- case STR_MISC_PORT_INTERNAL_COM1:\r
- TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_COM1);\r
- TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM1);\r
- break;\r
- case STR_MISC_PORT_INTERNAL_COM2:\r
- TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_COM2);\r
- TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_COM2);\r
- break;\r
- case STR_MISC_PORT_INTERNAL_EXTENSION_POWER:\r
- TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_EXTENSION_POWER);\r
- TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_EXTENSION_POWER);\r
- break;\r
- case STR_MISC_PORT_INTERNAL_FLOPPY:\r
- TokenForInternal = STRING_TOKEN (STR_MISC_PORT_INTERNAL_FLOPPY);\r
- TokenForExternal = STRING_TOKEN(STR_MISC_PORT_EXTERNAL_FLOPPY);\r
- break;\r
- default:\r
- break;\r
- }\r
-\r
- InternalRef = HiiGetPackageString(&gEfiCallerIdGuid, TokenForInternal, NULL);\r
- InternalRefStrLen = StrLen(InternalRef);\r
- if (InternalRefStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- ExternalRef = HiiGetPackageString(&gEfiCallerIdGuid, TokenForExternal, NULL);\r
- ExternalRefStrLen = StrLen(ExternalRef);\r
- if (ExternalRefStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE8) + InternalRefStrLen + 1 + ExternalRefStrLen + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE8) + InternalRefStrLen + 1 + ExternalRefStrLen + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_PORT_CONNECTOR_INFORMATION;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE8);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- SmbiosRecord->InternalReferenceDesignator = 1;\r
- SmbiosRecord->InternalConnectorType = (UINT8)ForType8InputData->PortInternalConnectorType;\r
- SmbiosRecord->ExternalReferenceDesignator = 2;\r
- SmbiosRecord->ExternalConnectorType = (UINT8)ForType8InputData->PortExternalConnectorType;\r
- SmbiosRecord->PortType = (UINT8)ForType8InputData->PortType;\r
-\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- UnicodeStrToAsciiStr(InternalRef, OptionalStrStart);\r
- UnicodeStrToAsciiStr(ExternalRef, OptionalStrStart + InternalRefStrLen + 1);\r
-\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
-\r
-\r
-\r
-/* eof - MiscSystemManufacturerFunction.c */\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscResetCapabilitiesData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_RESET_CAPABILITIES, MiscResetCapabilities) = {\r
- { // ResetCapabilities\r
- 0, // Status\r
- 0, // BootOption\r
- 0, // BootOptionOnLimit\r
- 0, // WatchdogTimerPresent\r
- 0 // Reserved\r
- },\r
- 0, // ResetCount\r
- 0, // ResetLimit\r
- 0, // ResetTimerInterval\r
- 0 // ResetTimeout\r
-};\r
-\r
-/* eof - MiscResetCapabilities.c */\r
+++ /dev/null
-/** @file\r
- ResetCapabilities.\r
- SMBIOS type 23.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscOemString (Type 11).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(MiscResetCapabilities)\r
-{\r
- EFI_STATUS Status;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE23 *SmbiosRecord;\r
- EFI_MISC_RESET_CAPABILITIES *ForType23InputData;\r
-\r
- ForType23InputData = (EFI_MISC_RESET_CAPABILITIES *)RecordData;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE23) + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE23) + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_RESET;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE23);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- SmbiosRecord->Capabilities = *(UINT8*)&(ForType23InputData->ResetCapabilities);\r
- SmbiosRecord->ResetCount = (UINT16)ForType23InputData->ResetCount;\r
- SmbiosRecord->ResetLimit = (UINT16)ForType23InputData->ResetLimit;\r
- SmbiosRecord->TimerInterval = (UINT16)ForType23InputData->ResetTimerInterval;\r
- SmbiosRecord->Timeout = (UINT16)ForType23InputData->ResetTimeout;\r
-\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
-\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscSubclassDriver.h\r
-\r
-Abstract:\r
-\r
- Header file for MiscSubclass Driver.\r
-\r
-**/\r
-\r
-#ifndef _MISC_SUBCLASS_DRIVER_H\r
-#define _MISC_SUBCLASS_DRIVER_H\r
-\r
-#include <FrameworkDxe.h>\r
-\r
-#include <Guid/DataHubRecords.h>\r
-#include <IndustryStandard/SmBios.h>\r
-#include <Protocol/Smbios.h>\r
-#include <Protocol/EmuIoThunk.h>\r
-\r
-#include <Library/BaseLib.h>\r
-#include <Library/DebugLib.h>\r
-#include <Library/HiiLib.h>\r
-#include <Library/UefiLib.h>\r
-#include <Library/UefiDriverEntryPoint.h>\r
-#include <Library/BaseMemoryLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/DevicePathLib.h>\r
-#include <Library/PcdLib.h>\r
-\r
-\r
-#include <MiscDevicePath.h>\r
-#include <Protocol/FrameworkHii.h>\r
-#include <Library/HiiLib.h>\r
-\r
-//\r
-// Data table entry update function.\r
-//\r
-typedef EFI_STATUS (EFIAPI EFI_MISC_SMBIOS_DATA_FUNCTION) (\r
- IN VOID *RecordData,\r
- IN EFI_SMBIOS_PROTOCOL *Smbios\r
- );\r
-\r
-//\r
-// Data table entry definition.\r
-//\r
-typedef struct {\r
- //\r
- // intermediat input data for SMBIOS record\r
- //\r
- VOID *RecordData;\r
- EFI_MISC_SMBIOS_DATA_FUNCTION *Function;\r
-} EFI_MISC_SMBIOS_DATA_TABLE;\r
-\r
-//\r
-// Data Table extern definitions.\r
-//\r
-#define MISC_SMBIOS_TABLE_EXTERNS(NAME1, NAME2, NAME3) \\r
-extern NAME1 NAME2 ## Data; \\r
-extern EFI_MISC_SMBIOS_DATA_FUNCTION NAME3 ## Function\r
-\r
-\r
-//\r
-// Data Table entries\r
-//\r
-#define MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NAME1, NAME2) \\r
-{ \\r
- & NAME1 ## Data, \\r
- & NAME2 ## Function \\r
-}\r
-\r
-//\r
-// Global definition macros.\r
-//\r
-#define MISC_SMBIOS_TABLE_DATA(NAME1, NAME2) \\r
- NAME1 NAME2 ## Data\r
-\r
-#define MISC_SMBIOS_TABLE_FUNCTION(NAME2) \\r
- EFI_STATUS EFIAPI NAME2 ## Function( \\r
- IN VOID *RecordData, \\r
- IN EFI_SMBIOS_PROTOCOL *Smbios \\r
- )\r
-\r
-\r
-//\r
-// Data Table Array\r
-//\r
-extern EFI_MISC_SMBIOS_DATA_TABLE mMiscSubclassDataTable[];\r
-\r
-//\r
-// Data Table Array Entries\r
-//\r
-extern UINTN mMiscSubclassDataTableEntries;\r
-extern UINT8 MiscSubclassStrings[];\r
-extern EFI_HII_HANDLE mHiiHandle;\r
-\r
-/**\r
- Add an SMBIOS record.\r
-\r
- @param Smbios The EFI_SMBIOS_PROTOCOL instance.\r
- @param SmbiosHandle A unique handle will be assigned to the SMBIOS record.\r
- @param Record The data for the fixed portion of the SMBIOS record. The format of the record is\r
- determined by EFI_SMBIOS_TABLE_HEADER.Type. The size of the formatted area is defined\r
- by EFI_SMBIOS_TABLE_HEADER.Length and either followed by a double-null (0x0000) or\r
- a set of null terminated strings and a null.\r
-\r
- @retval EFI_SUCCESS Record was added.\r
- @retval EFI_OUT_OF_RESOURCES Record was not added due to lack of system resources.\r
-\r
-**/\r
-EFI_STATUS\r
-AddSmbiosRecord (\r
- IN EFI_SMBIOS_PROTOCOL *Smbios,\r
- OUT EFI_SMBIOS_HANDLE *SmbiosHandle,\r
- IN EFI_SMBIOS_TABLE_HEADER *Record\r
- );\r
-\r
-#endif /* _MISC_SUBCLASS_DRIVER_H */\r
-\r
-/* eof - MiscSubclassDriver.h */\r
+++ /dev/null
-## @file\r
-# Misc Sub class driver\r
-#\r
-# Parses the MiscSubclassDataTable and reports any generated data to the DataHub.\r
-# All .uni file who tagged with "ToolCode="DUMMY"" in following file list is included by\r
-# MiscSubclassDriver.uni file, the StrGather tool will expand MiscSubclassDriver.uni file\r
-# and parse all .uni file.\r
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
-#\r
-# SPDX-License-Identifier: BSD-2-Clause-Patent\r
-#\r
-#\r
-##\r
-\r
-[Defines]\r
- INF_VERSION = 0x00010005\r
- BASE_NAME = MiscSubclass\r
- FILE_GUID = f2fbd108-8985-11db-b06a-0040d02b1835\r
- MODULE_TYPE = DXE_DRIVER\r
- VERSION_STRING = 1.0\r
- ENTRY_POINT = MiscSubclassDriverEntryPoint\r
-\r
-#\r
-# The following information is for reference only and not required by the build tools.\r
-#\r
-# VALID_ARCHITECTURES = IA32 X64 EBC\r
-#\r
-\r
-[Sources]\r
- MiscBaseBoardManufacturer.uni\r
- MiscBaseBoardManufacturerData.c\r
- MiscBaseBoardManufacturerFunction.c\r
- MiscBiosVendor.uni\r
- MiscBiosVendorData.c\r
- MiscBiosVendorFunction.c\r
- MiscBootInformationData.c\r
- MiscBootInformationFunction.c\r
- MiscChassisManufacturer.uni\r
- MiscChassisManufacturerData.c\r
- MiscChassisManufacturerFunction.c\r
- MiscNumberOfInstallableLanguagesData.c\r
- MiscNumberOfInstallableLanguagesFunction.c\r
- MiscOemString.uni\r
- MiscOemStringData.c\r
- MiscOemStringFunction.c\r
- MiscPortInternalConnectorDesignator.uni\r
- MiscPortInternalConnectorDesignatorData.c\r
- MiscPortInternalConnectorDesignatorFunction.c\r
- MiscResetCapabilitiesData.c\r
- MiscResetCapabilitiesFunction.c\r
- MiscSystemLanguageString.uni\r
- MiscSystemLanguageStringData.c\r
- MiscSystemLanguageStringFunction.c\r
- MiscSystemManufacturer.uni\r
- MiscSystemManufacturerData.c\r
- MiscSystemManufacturerFunction.c\r
- MiscSystemOptionString.uni\r
- MiscSystemOptionStringData.c\r
- MiscSystemOptionStringFunction.c\r
- MiscSystemSlotDesignation.uni\r
- MiscSystemSlotDesignationData.c\r
- MiscSystemSlotDesignationFunction.c\r
- MiscDevicePath.h\r
- MiscSubClassDriver.h\r
- MiscSubClassDriver.uni\r
- MiscSubclassDriverDataTable.c\r
- MiscSubclassDriverEntryPoint.c\r
-\r
-[Packages]\r
- MdePkg/MdePkg.dec\r
- MdeModulePkg/MdeModulePkg.dec\r
- IntelFrameworkPkg/IntelFrameworkPkg.dec\r
- EmulatorPkg/EmulatorPkg.dec\r
-\r
-[LibraryClasses]\r
- DevicePathLib\r
- UefiBootServicesTableLib\r
- MemoryAllocationLib\r
- BaseMemoryLib\r
- UefiDriverEntryPoint\r
- UefiLib\r
- HiiLib\r
- DebugLib\r
- BaseLib\r
- PcdLib\r
-\r
-[Protocols]\r
- gEfiSmbiosProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
-\r
-[Pcd]\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString\r
- gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString\r
- gEfiMdePkgTokenSpaceGuid.PcdUefiVariableDefaultPlatformLang\r
- gEmulatorPkgTokenSpaceGuid.PcdEmuMemorySize\r
-\r
-\r
-[Depex]\r
- gEfiSmbiosProtocolGuid\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_SUBCLASS_DRIVER_TITLE #language en-US "Not used"\r
-\r
-#include "MiscBaseBoardManufacturer.uni"\r
-#include "MiscBiosVendor.uni"\r
-#include "MiscChassisManufacturer.uni"\r
-#include "MiscOemString.uni"\r
-#include "MiscPortInternalConnectorDesignator.uni"\r
-#include "MiscSystemLanguageString.uni"\r
-#include "MiscSystemManufacturer.uni"\r
-#include "MiscSystemOptionString.uni"\r
-#include "MiscSystemSlotDesignation.uni"\r
-\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscSubclassDriverDataTable.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-\r
-//\r
-// External definitions referenced by Data Table entries.\r
-//\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_BASE_BOARD_MANUFACTURER_DATA, MiscBaseBoardManufacturer, MiscBaseBoardManufacturer);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_BIOS_VENDOR_DATA, MiscBiosVendor,MiscBiosVendor );\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_BOOT_INFORMATION_STATUS_DATA, BootInformationStatus, BootInformationStatus);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_CHASSIS_MANUFACTURER_DATA, MiscChassisManufacturer, MiscChassisManufacturer);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_NUMBER_OF_INSTALLABLE_LANGUAGES_DATA,NumberOfInstallableLanguages, NumberOfInstallableLanguages);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_OEM_STRING_DATA,OemString, OemString);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortInternalConnectorDesignator, MiscPortInternalConnectorDesignator);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortKeyboard, MiscPortInternalConnectorDesignator);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortMouse, MiscPortInternalConnectorDesignator);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortCom1, MiscPortInternalConnectorDesignator);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortCom2, MiscPortInternalConnectorDesignator);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortExtensionPower, MiscPortInternalConnectorDesignator);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_PORT_INTERNAL_CONNECTOR_DESIGNATOR_DATA, MiscPortFloppy, MiscPortInternalConnectorDesignator);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_RESET_CAPABILITIES, MiscResetCapabilities, MiscResetCapabilities);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA,SystemLanguageString, SystemLanguageString);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_SYSTEM_MANUFACTURER_DATA, MiscSystemManufacturer, MiscSystemManufacturer);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_SYSTEM_OPTION_STRING_DATA, SystemOptionString, SystemOptionString);\r
-MISC_SMBIOS_TABLE_EXTERNS ( EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA, MiscSystemSlotDesignation, MiscSystemSlotDesignation);\r
-\r
-\r
-//\r
-// Data Table.\r
-//\r
-EFI_MISC_SMBIOS_DATA_TABLE mMiscSubclassDataTable[] = {\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscBaseBoardManufacturer, MiscBaseBoardManufacturer),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscBiosVendor,MiscBiosVendor ),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( BootInformationStatus, BootInformationStatus),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscChassisManufacturer, MiscChassisManufacturer),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NumberOfInstallableLanguages, NumberOfInstallableLanguages),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(OemString, OemString),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortInternalConnectorDesignator, MiscPortInternalConnectorDesignator),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortKeyboard, MiscPortInternalConnectorDesignator),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortMouse, MiscPortInternalConnectorDesignator),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortCom1, MiscPortInternalConnectorDesignator),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortCom2, MiscPortInternalConnectorDesignator),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortExtensionPower, MiscPortInternalConnectorDesignator),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscPortFloppy, MiscPortInternalConnectorDesignator),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscResetCapabilities, MiscResetCapabilities),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(SystemLanguageString, SystemLanguageString),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscSystemManufacturer, MiscSystemManufacturer),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( SystemOptionString, SystemOptionString),\r
- MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION( MiscSystemSlotDesignation, MiscSystemSlotDesignation),\r
- };\r
-\r
-//\r
-// Number of Data Table entries.\r
-//\r
-UINTN mMiscSubclassDataTableEntries = (sizeof mMiscSubclassDataTable) / sizeof (EFI_MISC_SMBIOS_DATA_TABLE);\r
-\r
-/* eof - MiscSubclassDriverDataTable.c */\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscSubclassDriverEntryPoint.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-EFI_HII_HANDLE mHiiHandle;\r
-\r
-/**\r
- This is the standard EFI driver point that detects whether there is a\r
- MemoryConfigurationData Variable and, if so, reports memory configuration info\r
- to the DataHub.\r
-\r
- @param ImageHandle Handle for the image of this driver\r
- @param SystemTable Pointer to the EFI System Table\r
-\r
- @return EFI_SUCCESS if the data is successfully reported\r
- @return EFI_NOT_FOUND if the HOB list could not be located.\r
-\r
-**/\r
-EFI_STATUS\r
-LogMemorySmbiosRecord (\r
- VOID\r
- )\r
-{\r
- EFI_STATUS Status;\r
- UINT64 TotalMemorySize;\r
- UINT8 NumSlots;\r
- SMBIOS_TABLE_TYPE19 *Type19Record;\r
- EFI_SMBIOS_HANDLE MemArrayMappedAddrSmbiosHandle;\r
- EFI_SMBIOS_PROTOCOL *Smbios;\r
- CHAR16 *MemString;\r
-\r
- Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID**)&Smbios);\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- NumSlots = 1;\r
-\r
- //\r
- // Process Memory String in form size!size ...\r
- // So 64!64 is 128 MB\r
- //\r
- MemString = (CHAR16 *)PcdGetPtr (PcdEmuMemorySize);\r
- for (TotalMemorySize = 0; *MemString != '\0';) {\r
- TotalMemorySize += StrDecimalToUint64 (MemString);\r
- while (*MemString != '\0') {\r
- if (*MemString == '!') {\r
- MemString++;\r
- break;\r
- }\r
- MemString++;\r
- }\r
- }\r
-\r
- //\r
- // Convert Total Memory Size to based on KiloByte\r
- //\r
- TotalMemorySize = LShiftU64 (TotalMemorySize, 20);\r
- //\r
- // Generate Memory Array Mapped Address info\r
- //\r
- Type19Record = AllocateZeroPool(sizeof (SMBIOS_TABLE_TYPE19) + 2);\r
- Type19Record->Hdr.Type = EFI_SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS;\r
- Type19Record->Hdr.Length = sizeof(SMBIOS_TABLE_TYPE19);\r
- Type19Record->Hdr.Handle = 0;\r
- Type19Record->StartingAddress = 0;\r
- Type19Record->EndingAddress = (UINT32)RShiftU64(TotalMemorySize, 10) - 1;\r
- Type19Record->MemoryArrayHandle = 0;\r
- Type19Record->PartitionWidth = (UINT8)(NumSlots);\r
-\r
- //\r
- // Generate Memory Array Mapped Address info (TYPE 19)\r
- //\r
- Status = AddSmbiosRecord (Smbios, &MemArrayMappedAddrSmbiosHandle, (EFI_SMBIOS_TABLE_HEADER*) Type19Record);\r
-\r
- FreePool(Type19Record);\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- return Status;\r
-}\r
-\r
-\r
-EFI_STATUS\r
-EFIAPI\r
-MiscSubclassDriverEntryPoint (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
- )\r
-/*++\r
-Description:\r
-\r
- Standard EFI driver point. This driver parses the mMiscSubclassDataTable\r
- structure and reports any generated data to the DataHub.\r
-\r
-Arguments:\r
-\r
- ImageHandle\r
- Handle for the image of this driver\r
-\r
- SystemTable\r
- Pointer to the EFI System Table\r
-\r
-Returns:\r
-\r
- EFI_SUCCESS\r
- The data was successfully reported to the Data Hub.\r
-\r
-**/\r
-{\r
- UINTN Index;\r
- EFI_STATUS EfiStatus;\r
- EFI_SMBIOS_PROTOCOL *Smbios;\r
-\r
- EfiStatus = gBS->LocateProtocol(&gEfiSmbiosProtocolGuid, NULL, (VOID**)&Smbios);\r
-\r
- if (EFI_ERROR(EfiStatus)) {\r
- DEBUG((EFI_D_ERROR, "Could not locate SMBIOS protocol. %r\n", EfiStatus));\r
- return EfiStatus;\r
- }\r
-\r
- mHiiHandle = HiiAddPackages (\r
- &gEfiCallerIdGuid,\r
- NULL,\r
- MiscSubclassStrings,\r
- NULL\r
- );\r
- ASSERT (mHiiHandle != NULL);\r
-\r
- for (Index = 0; Index < mMiscSubclassDataTableEntries; ++Index) {\r
- //\r
- // If the entry have a function pointer, just log the data.\r
- //\r
- if (mMiscSubclassDataTable[Index].Function != NULL) {\r
- EfiStatus = (*mMiscSubclassDataTable[Index].Function)(\r
- mMiscSubclassDataTable[Index].RecordData,\r
- Smbios\r
- );\r
-\r
- if (EFI_ERROR(EfiStatus)) {\r
- DEBUG((EFI_D_ERROR, "Misc smbios store error. Index=%d, ReturnStatus=%r\n", Index, EfiStatus));\r
- return EfiStatus;\r
- }\r
- }\r
- }\r
-\r
- //\r
- // Log Memory SMBIOS Record\r
- //\r
- EfiStatus = LogMemorySmbiosRecord();\r
- return EfiStatus;\r
-}\r
-\r
-/**\r
- Add an SMBIOS record.\r
-\r
- @param Smbios The EFI_SMBIOS_PROTOCOL instance.\r
- @param SmbiosHandle A unique handle will be assigned to the SMBIOS record.\r
- @param Record The data for the fixed portion of the SMBIOS record. The format of the record is\r
- determined by EFI_SMBIOS_TABLE_HEADER.Type. The size of the formatted area is defined\r
- by EFI_SMBIOS_TABLE_HEADER.Length and either followed by a double-null (0x0000) or\r
- a set of null terminated strings and a null.\r
-\r
- @retval EFI_SUCCESS Record was added.\r
- @retval EFI_OUT_OF_RESOURCES Record was not added due to lack of system resources.\r
-\r
-**/\r
-EFI_STATUS\r
-AddSmbiosRecord (\r
- IN EFI_SMBIOS_PROTOCOL *Smbios,\r
- OUT EFI_SMBIOS_HANDLE *SmbiosHandle,\r
- IN EFI_SMBIOS_TABLE_HEADER *Record\r
- )\r
-{\r
- *SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;\r
- return Smbios->Add (\r
- Smbios,\r
- NULL,\r
- SmbiosHandle,\r
- Record\r
- );\r
-}\r
-\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_SYSTEM_LANGUAGE_STRING #language en-US "System Language String"\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscSystemLanguageStringData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_LANGUAGE_STRING_DATA, SystemLanguageString) = {\r
- 0,\r
- STRING_TOKEN(STR_MISC_SYSTEM_LANGUAGE_STRING)\r
-};\r
-\r
-/* eof - MiscSystemLanguageStringData.c */\r
+++ /dev/null
-/** @file\r
- ResetCapabilities.\r
- SMBIOS type 23.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscOemString (Type 11).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(SystemLanguageString)\r
-{\r
- EFI_STATUS Status;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE13 *SmbiosRecord;\r
- UINTN StrLeng;\r
- CHAR8 *OptionalStrStart;\r
- EFI_STRING Str;\r
- STRING_REF TokenToGet;\r
-\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_LANGUAGE_STRING);\r
- Str = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- StrLeng = StrLen(Str);\r
- if (StrLeng > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE13) + StrLeng + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE13) + StrLeng + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_BIOS_LANGUAGE_INFORMATION;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE13);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- SmbiosRecord->InstallableLanguages = 1;\r
- SmbiosRecord->Flags = 1;\r
- SmbiosRecord->CurrentLanguages = 1;\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- UnicodeStrToAsciiStr(Str, OptionalStrStart);\r
-\r
-\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
-\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_SYSTEM_MANUFACTURER #language en-US "System Manufacturer"\r
-#string STR_MISC_SYSTEM_PRODUCT_NAME #language en-US "System Product Name"\r
-#string STR_MISC_SYSTEM_VERSION #language en-US "System Version"\r
-#string STR_MISC_SYSTEM_SERIAL_NUMBER #language en-US "System Serial Number"\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscSystemManufacturerData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) System Manufacturer data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_MANUFACTURER_DATA, MiscSystemManufacturer)\r
-= {\r
- STRING_TOKEN(STR_MISC_SYSTEM_MANUFACTURER),\r
- // SystemManufactrurer\r
- STRING_TOKEN(STR_MISC_SYSTEM_PRODUCT_NAME),\r
- // SystemProductName\r
- STRING_TOKEN(STR_MISC_SYSTEM_VERSION),\r
- // SystemVersion\r
- STRING_TOKEN(STR_MISC_SYSTEM_SERIAL_NUMBER),\r
- // SystemSerialNumber\r
- {\r
- 0xbadfaced,\r
- 0xdead,\r
- 0xbeef,\r
- {\r
- 0x13,\r
- 0x13,\r
- 0x13,\r
- 0x13,\r
- 0x13,\r
- 0x13,\r
- 0x13,\r
- 0x13\r
- }\r
- },\r
- // SystemUuid\r
- EfiSystemWakeupTypePowerSwitch // SystemWakeupType\r
-};\r
-\r
-/* eof - MiscSystemManufacturerData.c */\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscSystemManufacturerFunction.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscSystemManufacturer (Type 1).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(MiscSystemManufacturer)\r
-{\r
- CHAR8 *OptionalStrStart;\r
- UINTN ManuStrLen;\r
- UINTN VerStrLen;\r
- UINTN PdNameStrLen;\r
- UINTN SerialNumStrLen;\r
- EFI_STATUS Status;\r
- EFI_STRING Manufacturer;\r
- EFI_STRING ProductName;\r
- EFI_STRING Version;\r
- EFI_STRING SerialNumber;\r
- STRING_REF TokenToGet;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE1 *SmbiosRecord;\r
- EFI_MISC_SYSTEM_MANUFACTURER *ForType1InputData;\r
-\r
- ForType1InputData = (EFI_MISC_SYSTEM_MANUFACTURER *)RecordData;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_MANUFACTURER);\r
- Manufacturer = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- ManuStrLen = StrLen(Manufacturer);\r
- if (ManuStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_PRODUCT_NAME);\r
- ProductName = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- PdNameStrLen = StrLen(ProductName);\r
- if (PdNameStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_VERSION);\r
- Version = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- VerStrLen = StrLen(Version);\r
- if (VerStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_SERIAL_NUMBER);\r
- SerialNumber = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- SerialNumStrLen = StrLen(SerialNumber);\r
- if (SerialNumStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE1) + ManuStrLen + 1 + PdNameStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE1) + ManuStrLen + 1 + PdNameStrLen + 1 + VerStrLen + 1 + SerialNumStrLen + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_INFORMATION;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE1);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
- //\r
- // Manu will be the 1st optional string following the formatted structure.\r
- //\r
- SmbiosRecord->Manufacturer = 1;\r
- //\r
- // ProductName will be the 2nd optional string following the formatted structure.\r
- //\r
- SmbiosRecord->ProductName = 2;\r
- //\r
- // Version will be the 3rd optional string following the formatted structure.\r
- //\r
- SmbiosRecord->Version = 3;\r
- //\r
- // Version will be the 4th optional string following the formatted structure.\r
- //\r
- SmbiosRecord->SerialNumber = 4;\r
- CopyMem ((UINT8 *) (&SmbiosRecord->Uuid),&ForType1InputData->SystemUuid,16);\r
- SmbiosRecord->WakeUpType = (UINT8)ForType1InputData->SystemWakeupType;\r
-\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- UnicodeStrToAsciiStr(Manufacturer, OptionalStrStart);\r
- UnicodeStrToAsciiStr(ProductName, OptionalStrStart + ManuStrLen + 1);\r
- UnicodeStrToAsciiStr(Version, OptionalStrStart + ManuStrLen + 1 + PdNameStrLen + 1);\r
- UnicodeStrToAsciiStr(SerialNumber, OptionalStrStart + ManuStrLen + 1 + PdNameStrLen + 1 + VerStrLen + 1);\r
-\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
-\r
-/* eof - MiscSystemManufacturerFunction.c */\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_SYSTEM_OPTION_STRING #language en-US "System Option String"\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscSystemOptionStringData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_OPTION_STRING_DATA, SystemOptionString) = {\r
- {STRING_TOKEN(STR_MISC_SYSTEM_OPTION_STRING)}\r
-};\r
-\r
-/* eof - MiscSystemOptionStringData.c */\r
+++ /dev/null
-/** @file\r
- BIOS system option string boot time changes.\r
- SMBIOS type 12.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscSystemOptionString (Type 12).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(SystemOptionString)\r
-{\r
- CHAR8 *OptionalStrStart;\r
- UINTN OptStrLen;\r
- EFI_STRING OptionString;\r
- EFI_STATUS Status;\r
- STRING_REF TokenToGet;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- SMBIOS_TABLE_TYPE12 *SmbiosRecord;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_OPTION_STRING);\r
- OptionString = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- OptStrLen = StrLen(OptionString);\r
- if (OptStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE12) + OptStrLen + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE12) + OptStrLen + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE12);\r
- //\r
- // Make handle chosen by smbios protocol.add automatically.\r
- //\r
- SmbiosRecord->Hdr.Handle = 0;\r
-\r
- SmbiosRecord->StringCount = 1;\r
- OptionalStrStart = (CHAR8*) (SmbiosRecord + 1);\r
- UnicodeStrToAsciiStr(OptionString, OptionalStrStart);\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r
+++ /dev/null
-// *++\r
-//\r
-// Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
-//\r
-// SPDX-License-Identifier: BSD-2-Clause-Patent\r
-//\r
-// --*/\r
-\r
-/=#\r
-\r
-#langdef en-US "English"\r
-\r
-#string STR_MISC_SYSTEM_SLOT_DESIGNATION #language en-US "System Slot Designation"\r
-\r
+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
-SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-Module Name:\r
-\r
- MiscSystemSlotDesignationData.c\r
-\r
-Abstract:\r
-\r
- This driver parses the mMiscSubclassDataTable structure and reports\r
- any generated data to the DataHub.\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-\r
-//\r
-// Static (possibly build generated) Bios Vendor data.\r
-//\r
-MISC_SMBIOS_TABLE_DATA(EFI_MISC_SYSTEM_SLOT_DESIGNATION_DATA, MiscSystemSlotDesignation) = {\r
- STRING_TOKEN(STR_MISC_SYSTEM_SLOT_DESIGNATION), // SlotDesignation\r
- EfiSlotTypeOther, // SlotType\r
- EfiSlotDataBusWidthOther, // SlotDataBusWidth\r
- EfiSlotUsageOther, // SlotUsage\r
- EfiSlotLengthOther, // SlotLength\r
- 0, // SlotId\r
- { // SlotCharacteristics\r
- 0, // CharacteristicsUnknown :1;\r
- 0, // Provides50Volts :1;\r
- 0, // Provides33Volts :1;\r
- 0, // SharedSlot :1;\r
- 0, // PcCard16Supported :1;\r
- 0, // CardBusSupported :1;\r
- 0, // ZoomVideoSupported :1;\r
- 0, // ModemRingResumeSupported:1;\r
- 0, // PmeSignalSupported :1;\r
- 0, // HotPlugDevicesSupported :1;\r
- 0, // SmbusSignalSupported :1;\r
- 0 // Reserved :21;\r
- },\r
- {0, 0, {0, 0}} // SlotDevicePath\r
-};\r
-\r
-/* eof - MiscSystemSlotsData.c */\r
+++ /dev/null
-/** @file\r
- BIOS system slot designator information boot time changes.\r
- SMBIOS type 9.\r
-\r
- Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-\r
-**/\r
-\r
-#include "MiscSubClassDriver.h"\r
-/**\r
- This function makes boot time changes to the contents of the\r
- MiscSystemSlotDesignator structure (Type 9).\r
-\r
- @param RecordData Pointer to copy of RecordData from the Data Table.\r
-\r
- @retval EFI_SUCCESS All parameters were valid.\r
- @retval EFI_UNSUPPORTED Unexpected RecordType value.\r
- @retval EFI_INVALID_PARAMETER Invalid parameter was found.\r
-\r
-**/\r
-MISC_SMBIOS_TABLE_FUNCTION(MiscSystemSlotDesignation)\r
-{\r
- CHAR8 *OptionalStrStart;\r
- UINTN SlotDesignationStrLen;\r
- EFI_STATUS Status;\r
- EFI_STRING SlotDesignation;\r
- STRING_REF TokenToGet;\r
- SMBIOS_TABLE_TYPE9 *SmbiosRecord;\r
- EFI_SMBIOS_HANDLE SmbiosHandle;\r
- EFI_MISC_SYSTEM_SLOT_DESIGNATION* ForType9InputData;\r
-\r
- ForType9InputData = (EFI_MISC_SYSTEM_SLOT_DESIGNATION *)RecordData;\r
-\r
- //\r
- // First check for invalid parameters.\r
- //\r
- if (RecordData == NULL) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
-\r
- TokenToGet = 0;\r
- switch (ForType9InputData->SlotDesignation) {\r
- case STR_MISC_SYSTEM_SLOT_DESIGNATION:\r
- TokenToGet = STRING_TOKEN (STR_MISC_SYSTEM_SLOT_DESIGNATION);\r
- break;\r
- default:\r
- break;\r
- }\r
-\r
- SlotDesignation = HiiGetPackageString(&gEfiCallerIdGuid, TokenToGet, NULL);\r
- SlotDesignationStrLen = StrLen(SlotDesignation);\r
- if (SlotDesignationStrLen > SMBIOS_STRING_MAX_LENGTH) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
- //\r
- // Two zeros following the last string.\r
- //\r
- SmbiosRecord = AllocatePool(sizeof (SMBIOS_TABLE_TYPE9) + SlotDesignationStrLen + 1 + 1);\r
- ZeroMem(SmbiosRecord, sizeof (SMBIOS_TABLE_TYPE9) +SlotDesignationStrLen + 1 + 1);\r
-\r
- SmbiosRecord->Hdr.Type = EFI_SMBIOS_TYPE_SYSTEM_SLOTS;\r
- SmbiosRecord->Hdr.Length = sizeof (SMBIOS_TABLE_TYPE9);\r
- SmbiosRecord->Hdr.Handle = 0;\r
- SmbiosRecord->SlotDesignation = 1;\r
- SmbiosRecord->SlotType = ForType9InputData->SlotType;\r
- SmbiosRecord->SlotDataBusWidth = ForType9InputData->SlotDataBusWidth;\r
- SmbiosRecord->CurrentUsage = ForType9InputData->SlotUsage;\r
- SmbiosRecord->SlotLength = ForType9InputData->SlotLength;\r
- SmbiosRecord->SlotID = ForType9InputData->SlotId;\r
-\r
- //\r
- // Slot Characteristics\r
- //\r
- CopyMem ((UINT8 *) &SmbiosRecord->SlotCharacteristics1,(UINT8 *) &ForType9InputData->SlotCharacteristics,2);\r
- OptionalStrStart = (CHAR8 *)(SmbiosRecord + 1);\r
- UnicodeStrToAsciiStr(SlotDesignation, OptionalStrStart);\r
- //\r
- // Now we have got the full smbios record, call smbios protocol to add this record.\r
- //\r
- Status = AddSmbiosRecord (Smbios, &SmbiosHandle, (EFI_SMBIOS_TABLE_HEADER *) SmbiosRecord);\r
-\r
- FreePool(SmbiosRecord);\r
- return Status;\r
-}\r