public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Leif Lindholm" <leif@nuviainc.com>
To: Rebecca Cran <rebecca@nuviainc.com>
Cc: devel@edk2.groups.io, Ard Biesheuvel <ard.biesheuvel@arm.com>,
	"nd @ arm . com . Sami Mujawar" <Sami.Mujawar@arm.com>,
	Liming Gao <gaoliming@byosoft.com.cn>,
	Michael D Kinney <michael.d.kinney@intel.com>,
	Zhiguang Liu <zhiguang.liu@intel.com>
Subject: Re: [PATCH v5 18/23] ArmPkg: Add Universal/Smbios/SmbiosMiscDxe
Date: Sun, 10 Jan 2021 02:03:49 +0000	[thread overview]
Message-ID: <20210110020349.GD1664@vanye> (raw)
In-Reply-To: <20210104225830.12606-19-rebecca@nuviainc.com>

On Mon, Jan 04, 2021 at 15:58:25 -0700, Rebecca Cran wrote:
> SmbiosMiscDxe provides SMBIOS tables 0, 1, 2, 3, 13, and 32.
> 
> Signed-off-by: Rebecca Cran <rebecca@nuviainc.com>
> ---
>  ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf        |  86 +++++++++
>  ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h             | 136 +++++++++++++++
>  ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDataTable.c    |  61 +++++++
>  ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscEntryPoint.c   | 184 ++++++++++++++++++++
>  ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscLibStrings.uni |  21 +++
>  5 files changed, 488 insertions(+)
> 
> diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
> new file mode 100644
> index 000000000000..06612f02b34c
> --- /dev/null
> +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDxe.inf
> @@ -0,0 +1,86 @@
> +#/** @file
> +# Component description file for SmbiosMisc instance.
> +#
> +# Parses the MiscSubclassDataTable and reports any generated data to the DataHub.
> +#  All .uni file who tagged with "ToolCode="DUMMY"" in following file list is included by
> +#  MiscSubclassDriver.uni file, the StrGather tool will expand MiscSubclassDriver.uni file
> +#  and parse all .uni file.
> +#
> +# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2015, Hisilicon Limited. All rights reserved.<BR>
> +# Copyright (c) 2015, Linaro Limited. All rights reserved.<BR>
> +#
> +#  SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +#
> +# Based on files under Nt32Pkg/MiscSubClassPlatformDxe/
> +#**/
> +
> +
> +[Defines]
> +  INF_VERSION                    = 1.29
> +  BASE_NAME                      = SmbiosMiscDxe
> +  FILE_GUID                      = 7e5e26d4-0be9-401f-b5e1-1c2bda7ca777
> +  MODULE_TYPE                    = DXE_DRIVER
> +  VERSION_STRING                 = 1.0
> +  ENTRY_POINT                    = SmbiosMiscEntryPoint
> +
> +[Sources]
> +  SmbiosMisc.h
> +  SmbiosMiscDataTable.c
> +  SmbiosMiscEntryPoint.c
> +  SmbiosMiscLibStrings.uni
> +  Type00/MiscBiosVendorData.c
> +  Type00/MiscBiosVendorFunction.c
> +  Type01/MiscSystemManufacturerData.c
> +  Type01/MiscSystemManufacturerFunction.c
> +  Type02/MiscBaseBoardManufacturerData.c
> +  Type02/MiscBaseBoardManufacturerFunction.c
> +  Type03/MiscChassisManufacturerData.c
> +  Type03/MiscChassisManufacturerFunction.c
> +  Type13/MiscNumberOfInstallableLanguagesData.c
> +  Type13/MiscNumberOfInstallableLanguagesFunction.c
> +  Type32/MiscBootInformationData.c
> +  Type32/MiscBootInformationFunction.c
> +
> +[Packages]
> +  ArmPkg/ArmPkg.dec
> +  MdeModulePkg/MdeModulePkg.dec
> +  MdePkg/MdePkg.dec
> +
> +[LibraryClasses]
> +  BaseLib
> +  BaseMemoryLib
> +  DebugLib
> +  DevicePathLib
> +  PcdLib
> +  HiiLib
> +  HobLib
> +  MemoryAllocationLib
> +  OemMiscLib
> +  UefiBootServicesTableLib
> +  UefiDriverEntryPoint
> +  UefiLib
> +  UefiRuntimeServicesTableLib
> +
> +[Protocols]
> +  gEfiSmbiosProtocolGuid                       # PROTOCOL ALWAYS_CONSUMED
> +
> +[Pcd]
> +  gArmTokenSpaceGuid.PcdFdSize
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString
> +  gArmTokenSpaceGuid.PcdSystemProductName
> +  gArmTokenSpaceGuid.PcdSystemVersion
> +  gArmTokenSpaceGuid.PcdBaseBoardManufacturer
> +  gArmTokenSpaceGuid.PcdBaseBoardProductName
> +  gArmTokenSpaceGuid.PcdBaseBoardVersion
> +  gArmTokenSpaceGuid.PcdFdBaseAddress
> +
> +[Guids]
> +  gEfiGenericVariableGuid
> +
> +[Depex]
> +  gEfiSmbiosProtocolGuid
> +
> +
> diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h
> new file mode 100644
> index 000000000000..20840f40d04b
> --- /dev/null
> +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMisc.h
> @@ -0,0 +1,136 @@
> +/** @file
> +  Header file for the SmbiosMisc Driver.
> +
> +  Based on files under Nt32Pkg/MiscSubClassPlatformDxe/
> +
> +  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2015, Hisilicon Limited. All rights reserved.<BR>
> +  Copyright (c) 2015, Linaro Limited. All rights reserved.<BR>
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef SMBIOS_MISC_H_
> +#define SMBIOS_MISC_H_
> +
> +#include <Protocol/Smbios.h>
> +#include <IndustryStandard/SmBios.h>

We appear to still have a discrepancy w.r.t. Smbios/SmBios capitalisation.

> +#include <Library/BaseLib.h>
> +#include <Library/BaseMemoryLib.h>
> +#include <Library/DebugLib.h>
> +#include <Library/HiiLib.h>
> +#include <Library/MemoryAllocationLib.h>
> +#include <Library/OemMiscLib.h>
> +#include <Library/PcdLib.h>
> +#include <Library/PrintLib.h>
> +#include <Library/UefiBootServicesTableLib.h>
> +#include <Library/UefiLib.h>
> +#include <Library/UefiRuntimeServicesTableLib.h>
> +#include <Guid/DebugMask.h>

This is definitely more includes than are required by this file.
Please include only those providing definitions required by this file.

> +
> +
> +//
> +// Data table entry update function.
> +//
> +typedef EFI_STATUS (EFIAPI EFI_MISC_SMBIOS_DATA_FUNCTION) (
> +  IN  VOID                 *RecordData,
> +  IN  EFI_SMBIOS_PROTOCOL  *Smbios
> +  );
> +
> +
> +//
> +// Data table entry definition.
> +//
> +typedef struct {
> +  //
> +  // intermediate input data for SMBIOS record
> +  //
> +  VOID                              *RecordData;
> +  EFI_MISC_SMBIOS_DATA_FUNCTION     *Function;
> +} EFI_MISC_SMBIOS_DATA_TABLE;

EFI_ prefix is reserved for structs defined by the UEFI specification.
SMBIOSMISC_DATA_TABLE or SMBIOS_MISC_DATA_TABLE would seem appropriate.

> +
> +
> +//
> +// SMBIOS table extern definitions
> +//
> +#define MISC_SMBIOS_TABLE_EXTERNS(NAME1, NAME2, NAME3) \
> +extern NAME1 NAME2 ## Data; \
> +extern EFI_MISC_SMBIOS_DATA_FUNCTION NAME3 ## Function;
> +
> +
> +//
> +// SMBIOS data table entries
> +//
> +// This is used to define a pair of table structure pointer and functions
> +// in order to iterate through the list of tables, populate them and add
> +// them into the system.
> +#define MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION(NAME1, NAME2) \
> +{ \
> +  & NAME1 ## Data, \
> +    NAME2 ## Function \
> +}
> +
> +//
> +// Global definition macros.
> +//
> +#define MISC_SMBIOS_TABLE_DATA(NAME1, NAME2) \
> +  NAME1 NAME2 ## Data
> +
> +#define MISC_SMBIOS_TABLE_FUNCTION(NAME2) \
> +  EFI_STATUS EFIAPI NAME2 ## Function( \
> +  IN  VOID                  *RecordData, \
> +  IN  EFI_SMBIOS_PROTOCOL   *Smbios \
> +  )
> +
> +//
> +// Data Table Array Entries
> +//
> +extern EFI_HII_HANDLE               mHiiHandle;

While the m prefix indicates this as a module-local variable, the
actual linkage visibility is global - so a more unique name would be
preferable. (e.g, mSmbiosMiscHiiHandle)

> +
> +typedef struct _EFI_TYPE13_BIOS_LANGUAGE_INFORMATION_STRING{
> +  UINT8                               *LanguageSignature;
> +  EFI_STRING_ID                       InstallableLanguageLongString;
> +  EFI_STRING_ID                       InstallableLanguageAbbreviateString;
> +} EFI_TYPE13_BIOS_LANGUAGE_INFORMATION_STRING;

EFI_ prefix.

> +
> +
> +/**
> + Logs SMBIOS record.
> +
> + @param [in]   Buffer         Pointer to the data buffer.
> + @param [in]   SmbiosHandle   Pointer for retrieve handle.
> +
> +**/
> +EFI_STATUS
> +LogSmbiosData (

Similarly, global visibility:
SmbiosMiscLogData?

> +  IN       UINT8                      *Buffer,
> +  IN  OUT  EFI_SMBIOS_HANDLE          *SmbiosHandle
> +  );
> +
> +/**
> + Get Link Type Handle.
> +
> + @param [in]   SmbiosType     Get this Type from SMBIOS table
> + @param [out]  HandleArray    Pointer to handle array which will be freed by caller
> + @param [out]  HandleCount    Pointer to handle count
> +
> +**/
> +VOID
> +GetLinkTypeHandle(

SmbiosMiscGetLinkTypeHandle?

> +  IN  UINT8                 SmbiosType,
> +  OUT UINT16                **HandleArray,
> +  OUT UINTN                 *HandleCount
> +  );
> +
> +//
> +// Data Table Array
> +//
> +extern EFI_MISC_SMBIOS_DATA_TABLE   mSmbiosMiscDataTable[];
> +
> +//
> +// Data Table Array Entries
> +//
> +extern UINTN   mSmbiosMiscDataTableEntries;
> +extern UINT8   SmbiosMiscDxeStrings[];

Also needs m prefix.

> +
> +#endif // SMBIOS_MISC_H_
> diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDataTable.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDataTable.c
> new file mode 100644
> index 000000000000..c9f460f1d5a8
> --- /dev/null
> +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscDataTable.c
> @@ -0,0 +1,61 @@
> +/** @file
> +  This file provides SMBIOS Misc Type.
> +
> +  Based on files under Nt32Pkg/MiscSubClassPlatformDxe/
> +
> +  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2015, Hisilicon Limited. All rights reserved.<BR>
> +  Copyright (c) 2015, Linaro Limited. All rights reserved.<BR>
> +  SPDX-License-Identifier: BSD-2-Clause-Patent\
> +
> +**/
> +
> +#include "SmbiosMisc.h"
> +
> +MISC_SMBIOS_TABLE_EXTERNS (SMBIOS_TABLE_TYPE0,
> +                           MiscBiosVendor,
> +                           MiscBiosVendor)
> +MISC_SMBIOS_TABLE_EXTERNS (SMBIOS_TABLE_TYPE1,
> +                           MiscSystemManufacturer,
> +                           MiscSystemManufacturer)
> +MISC_SMBIOS_TABLE_EXTERNS (SMBIOS_TABLE_TYPE3,
> +                          MiscChassisManufacturer,
> +                          MiscChassisManufacturer)
> +MISC_SMBIOS_TABLE_EXTERNS (SMBIOS_TABLE_TYPE2,
> +                           MiscBaseBoardManufacturer,
> +                           MiscBaseBoardManufacturer)
> +MISC_SMBIOS_TABLE_EXTERNS (SMBIOS_TABLE_TYPE13,
> +                           MiscNumberOfInstallableLanguages,
> +                           MiscNumberOfInstallableLanguages)
> +MISC_SMBIOS_TABLE_EXTERNS (SMBIOS_TABLE_TYPE32,
> +                           MiscBootInformation,
> +                           MiscBootInformation)
> +
> +
> +EFI_MISC_SMBIOS_DATA_TABLE mSmbiosMiscDataTable[] = {
> +  // Type0
> +  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION (MiscBiosVendor,
> +                                             MiscBiosVendor),
> +  // Type1
> +  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION (MiscSystemManufacturer,
> +                                             MiscSystemManufacturer),
> +  // Type3
> +  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION (MiscChassisManufacturer,
> +                                             MiscChassisManufacturer),
> +  // Type2
> +  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION (MiscBaseBoardManufacturer,
> +                                             MiscBaseBoardManufacturer),
> +  // Type13
> +  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION (MiscNumberOfInstallableLanguages,
> +                                             MiscNumberOfInstallableLanguages),
> +  // Type32
> +  MISC_SMBIOS_TABLE_ENTRY_DATA_AND_FUNCTION (MiscBootInformation,
> +                                             MiscBootInformation),
> +};
> +
> +
> +//
> +// Number of Data Table entries.
> +//
> +UINTN mSmbiosMiscDataTableEntries =
> +  (sizeof (mSmbiosMiscDataTable)) / sizeof (EFI_MISC_SMBIOS_DATA_TABLE);
> diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscEntryPoint.c b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscEntryPoint.c
> new file mode 100644
> index 000000000000..afd96476a843
> --- /dev/null
> +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscEntryPoint.c
> @@ -0,0 +1,184 @@
> +/** @file
> +  This driver parses the mSmbiosMiscDataTable structure and reports
> +  any generated data using SMBIOS protocol.
> +
> +  Based on files under Nt32Pkg/MiscSubClassPlatformDxe/
> +
> +  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2015, Hisilicon Limited. All rights reserved.<BR>
> +  Copyright (c) 2015, Linaro Limited. All rights reserved.<BR>
> +  SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include "SmbiosMisc.h"
> +
> +
> +EFI_HANDLE              mImageHandle;
> +EFI_HII_HANDLE          mHiiHandle;
> +EFI_SMBIOS_PROTOCOL     *mSmbios = NULL;

mImageHandle and mSmbios are also a bit too generically named.

> +
> +/**
> +  Standard EFI driver point.  This driver parses the mSmbiosMiscDataTable
> +  structure and reports any generated data using SMBIOS protocol.
> +
> +  @param  ImageHandle     Handle for the image of this driver
> +  @param  SystemTable     Pointer to the EFI System Table
> +
> +  @retval  EFI_SUCCESS    The data was successfully stored.
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +SmbiosMiscEntryPoint(
> +  IN EFI_HANDLE         ImageHandle,
> +  IN EFI_SYSTEM_TABLE   *SystemTable
> +  )
> +{
> +  UINTN                Index;
> +  EFI_STATUS           EfiStatus;
> +  EFI_SMBIOS_PROTOCOL  *Smbios;
> +
> +  mImageHandle = ImageHandle;
> +
> +  EfiStatus = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL, (VOID**)&Smbios);
> +  if (EFI_ERROR (EfiStatus)) {
> +    DEBUG ((DEBUG_ERROR, "Could not locate SMBIOS protocol.  %r\n", EfiStatus));
> +    return EfiStatus;
> +  }
> +
> +  mSmbios = Smbios;

If the call fails, *Smbios will contain NULL.
So is it really needed as a separate variable, or could this use
mSmbios directly?

> +
> +  mHiiHandle = HiiAddPackages (
> +                 &gEfiCallerIdGuid,
> +                  mImageHandle,
> +                  SmbiosMiscDxeStrings,
> +                  NULL
> +                  );
> +  if (mHiiHandle == NULL) {
> +    return EFI_OUT_OF_RESOURCES;
> +  }
> +
> +  for (Index = 0; Index < mSmbiosMiscDataTableEntries; ++Index) {
> +    //
> +    // If the entry have a function pointer, just log the data.
> +    //
> +    if (mSmbiosMiscDataTable[Index].Function != NULL) {
> +      EfiStatus = (*mSmbiosMiscDataTable[Index].Function)(
> +          mSmbiosMiscDataTable[Index].RecordData,
> +          Smbios
> +          );
> +
> +      if (EFI_ERROR(EfiStatus)) {
> +        DEBUG ((DEBUG_ERROR, "Misc smbios store error.  Index=%d, ReturnStatus=%r\n", Index, EfiStatus));

Please wrap.

> +        return EfiStatus;
> +      }
> +    }
> +  }
> +
> +  return EfiStatus;
> +}
> +
> +
> +/**
> +  Logs SMBIOS record.
> +
> +  @param  Buffer                The data for the fixed portion of the SMBIOS record. The format of the record is
> +                                determined by EFI_SMBIOS_TABLE_HEADER.Type. The size of the formatted area is defined
> +                                by EFI_SMBIOS_TABLE_HEADER.Length and either followed by a double-null (0x0000) or
> +                                a set of null terminated strings and a null.
> +  @param  SmbiosHandle          A unique handle will be assigned to the SMBIOS record.
> +
> +  @retval EFI_SUCCESS           Record was added.
> +  @retval EFI_OUT_OF_RESOURCES  Record was not added due to lack of system resources.

Please wrap long lines.

> +
> +**/
> +EFI_STATUS
> +LogSmbiosData (
> +  IN       UINT8                      *Buffer,
> +  IN  OUT  EFI_SMBIOS_HANDLE          *SmbiosHandle
> +  )
> +{
> +  EFI_STATUS         Status;
> +
> +  *SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
> +
> +  Status = mSmbios->Add (
> +                   mSmbios,

Indentation.

> +                   NULL,
> +                   SmbiosHandle,
> +                   (EFI_SMBIOS_TABLE_HEADER *)Buffer
> +                   );
> +
> +  return Status;
> +}
> +
> +/**
> +  Fetches a list of the specified SMBIOS table types.
> +
> +  @param[in]  SmbiosType    The type of table to fetch
> +  @param[out] **HandleArray The array of handles
> +  @param[out] *HandleCount  Number of handles in the array
> +**/
> +VOID
> +GetLinkTypeHandle(
> +  IN  UINT8                 SmbiosType,
> +  OUT SMBIOS_HANDLE         **HandleArray,
> +  OUT UINTN                 *HandleCount
> +  )
> +{
> +  UINTN                    Index;
> +  EFI_STATUS               Status;
> +  EFI_SMBIOS_HANDLE        SmbiosHandle;
> +  EFI_SMBIOS_TABLE_HEADER  *Record;
> +
> +  if (mSmbios == NULL) {
> +    return;
> +  }
> +
> +  SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
> +  *HandleCount = 0;
> +
> +  // Iterate through entries to get the number
> +  while (TRUE) {
> +    Status = mSmbios->GetNext (
> +                        mSmbios,
> +                        &SmbiosHandle,
> +                        &SmbiosType,
> +                        &Record,
> +                        NULL
> +                        );
> +
> +    if (!EFI_ERROR (Status)) {
> +      (*HandleCount)++;
> +    } else {
> +      break;
> +    }
> +  }

Would this look neater as
  do {
    ...
    if (Status == EFI_SUCCESS) {
      (*HandleCount)++;
    }
  } while (!EFI_ERROR (Status));
?

But actually, could you break the count out into a static helper function?

/
    Leif

> +
> +  *HandleArray = AllocateZeroPool (sizeof (SMBIOS_HANDLE) * (*HandleCount));
> +  if (*HandleArray == NULL) {
> +    DEBUG ((DEBUG_ERROR, "HandleArray allocate memory resource failed.\n"));
> +    *HandleCount = 0;
> +    return;
> +  }
> +
> +  SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
> +
> +  for (Index = 0; Index < (*HandleCount); Index++) {
> +    Status = mSmbios->GetNext (
> +                        mSmbios,
> +                        &SmbiosHandle,
> +                        &SmbiosType,
> +                        &Record,
> +                        NULL
> +                        );
> +
> +    if (!EFI_ERROR (Status)) {
> +      (*HandleArray)[Index] = Record->Handle;
> +    } else {
> +      break;
> +    }
> +  }
> +}
> +
> diff --git a/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscLibStrings.uni b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscLibStrings.uni
> new file mode 100644
> index 000000000000..32f30b41566d
> --- /dev/null
> +++ b/ArmPkg/Universal/Smbios/SmbiosMiscDxe/SmbiosMiscLibStrings.uni
> @@ -0,0 +1,21 @@
> +/** @file
> + *  Based on files under Nt32Pkg/MiscSubClassPlatformDxe/
> + *
> + *  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> + *  Copyright (c) 2015, Hisilicon Limited. All rights reserved.<BR>
> + *  Copyright (c) 2015, Linaro Limited. All rights reserved.<BR>
> + *  SPDX-License-Identifier: BSD-2-Clause-Patent
> + *
> + *
> +**/
> +
> +
> +/=#
> +
> +#langdef en-US "English"
> +
> +#include "Type00/MiscBiosVendor.uni"
> +#include "Type01/MiscSystemManufacturer.uni"
> +#include "Type02/MiscBaseBoardManufacturer.uni"
> +#include "Type03/MiscChassisManufacturer.uni"
> +#include "Type13/MiscNumberOfInstallableLanguages.uni"
> -- 
> 2.26.2
> 

  reply	other threads:[~2021-01-10  2:03 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-04 22:58 [PATCH v5 00/23] ArmPkg,MdePkg: Add Universal/Smbios, and related changes Rebecca Cran
2021-01-04 22:58 ` [PATCH v5 01/23] ArmPkg: Add ARM SMC Architecture functions to ArmStdSmc.h Rebecca Cran
2021-01-04 22:58 ` [PATCH v5 02/23] MdePkg: Update IndustryStandard/SmBios.h with processor status data Rebecca Cran
2021-01-04 22:58 ` [PATCH v5 03/23] ArmPkg: Add register encoding definition for MMFR2 Rebecca Cran
2021-01-05 19:34   ` [edk2-devel] " Sami Mujawar
2021-01-10  1:26   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 04/23] ArmPkg: Add helper to read the Memory Model Features Register 2 Rebecca Cran
2021-01-06  8:55   ` [edk2-devel] " Sami Mujawar
2021-01-10  1:23   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 05/23] ArmPkg: Add helper function to read the Memory Model Feature Register 4 Rebecca Cran
2021-01-10  1:26   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 06/23] ArmPkg: Fix the return type of the ReadCCSIDR function Rebecca Cran
2021-01-04 22:58 ` [PATCH v5 07/23] ArmPkg: Update ArmLibPrivate.h with cache register definitions Rebecca Cran
2021-01-06  9:14   ` [edk2-devel] " Sami Mujawar
2021-01-04 22:58 ` [PATCH v5 08/23] ArmPkg: Add definition of the maximum cache level in ARMv8-A Rebecca Cran
2021-01-04 22:58 ` [PATCH v5 09/23] ArmPkg: Add helper to read CCIDX status Rebecca Cran
2021-01-10  1:28   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 10/23] ArmPkg: Add helper to read the CCSIDR2 register Rebecca Cran
2021-01-06  9:55   ` [edk2-devel] " Sami Mujawar
2021-01-10  1:31   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 11/23] ArmPkg: Add Universal/Smbios/ProcessorSubClassDxe Rebecca Cran
2021-01-05 22:06   ` [edk2-devel] " Samer El-Haj-Mahmoud
2021-01-04 22:58 ` [PATCH v5 12/23] ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type00 Rebecca Cran
2021-01-05 21:42   ` [edk2-devel] " Samer El-Haj-Mahmoud
2021-01-04 22:58 ` [PATCH v5 13/23] ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type01 Rebecca Cran
2021-01-05 22:00   ` [edk2-devel] " Samer El-Haj-Mahmoud
2021-01-05 22:02     ` Samer El-Haj-Mahmoud
2021-01-04 22:58 ` [PATCH v5 14/23] ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type02 Rebecca Cran
2021-01-05 21:59   ` [edk2-devel] " Samer El-Haj-Mahmoud
2021-01-04 22:58 ` [PATCH v5 15/23] ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type03 Rebecca Cran
2021-01-05 21:47   ` [edk2-devel] " Samer El-Haj-Mahmoud
2021-01-11 23:34     ` Rebecca Cran
2021-01-12  2:58       ` Samer El-Haj-Mahmoud
2021-01-04 22:58 ` [PATCH v5 16/23] ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type13 Rebecca Cran
2021-01-04 22:58 ` [PATCH v5 17/23] ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type32 Rebecca Cran
2021-01-05 21:12   ` [edk2-devel] " Samer El-Haj-Mahmoud
2021-01-04 22:58 ` [PATCH v5 18/23] ArmPkg: Add Universal/Smbios/SmbiosMiscDxe Rebecca Cran
2021-01-10  2:03   ` Leif Lindholm [this message]
2021-01-11  0:21     ` Rebecca Cran
2021-01-11  1:29       ` Leif Lindholm
2021-01-11  5:22         ` 回复: [edk2-devel] " gaoliming
2021-01-12 23:22     ` Rebecca Cran
2021-01-04 22:58 ` [PATCH v5 19/23] ArmPkg: Add Library/OemMiscLib.h Rebecca Cran
2021-01-10  2:08   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 20/23] ArmPkg: Add Universal/Smbios/OemMiscLibNull Rebecca Cran
2021-01-10  2:11   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 21/23] ArmPkg: Add OemMiscLibNull instance to ArmPkg.dsc Rebecca Cran
2021-01-10  2:12   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 22/23] ArmPkg: Add SMBIOS PCDs to ArmPkg.dec Rebecca Cran
2021-01-10  2:13   ` Leif Lindholm
2021-01-04 22:58 ` [PATCH v5 23/23] ArmPkg: Add Universal/Smbios drivers to ArmPkg.dsc Rebecca Cran
2021-01-10  2:15   ` Leif Lindholm
2021-01-05 22:14 ` [edk2-devel] [PATCH v5 00/23] ArmPkg,MdePkg: Add Universal/Smbios, and related changes Samer El-Haj-Mahmoud
2021-01-08 15:55   ` Rebecca Cran
2021-01-08 16:40     ` Leif Lindholm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210110020349.GD1664@vanye \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox