REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the UefiCpuPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
		
			
				
	
	
		
			66 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  This file declares EDKII Shadow Microcode PPI.
 | 
						|
 | 
						|
  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef __PPI_SHADOW_MICROCODE_H__
 | 
						|
#define __PPI_SHADOW_MICROCODE_H__
 | 
						|
 | 
						|
#define EDKII_PEI_SHADOW_MICROCODE_PPI_GUID \
 | 
						|
  { \
 | 
						|
    0x430f6965, 0x9a69, 0x41c5, { 0x93, 0xed, 0x8b, 0xf0, 0x64, 0x35, 0xc1, 0xc6 } \
 | 
						|
  }
 | 
						|
 | 
						|
typedef struct _EDKII_PEI_SHADOW_MICROCODE_PPI EDKII_PEI_SHADOW_MICROCODE_PPI;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
  UINT32    ProcessorSignature;
 | 
						|
  UINT8     PlatformId;
 | 
						|
} EDKII_PEI_MICROCODE_CPU_ID;
 | 
						|
 | 
						|
/**
 | 
						|
  Shadow microcode update patches to memory.
 | 
						|
 | 
						|
  The function is used for shadowing microcode update patches to a continuous memory.
 | 
						|
  It shall allocate memory buffer and only shadow the microcode patches for those
 | 
						|
  processors specified by MicrocodeCpuId array. The checksum verification may be
 | 
						|
  skiped in this function so the caller must perform checksum verification before
 | 
						|
  using the microcode patches in returned memory buffer.
 | 
						|
 | 
						|
  @param[in]  This                 The PPI instance pointer.
 | 
						|
  @param[in]  CpuIdCount           Number of elements in MicrocodeCpuId array.
 | 
						|
  @param[in]  MicrocodeCpuId       A pointer to an array of EDKII_PEI_MICROCODE_CPU_ID
 | 
						|
                                   structures.
 | 
						|
  @param[out] BufferSize           Pointer to receive the total size of Buffer.
 | 
						|
  @param[out] Buffer               Pointer to receive address of allocated memory
 | 
						|
                                   with microcode patches data in it.
 | 
						|
 | 
						|
  @retval EFI_SUCCESS              The microcode has been shadowed to memory.
 | 
						|
  @retval EFI_OUT_OF_RESOURCES     The operation fails due to lack of resources.
 | 
						|
 | 
						|
**/
 | 
						|
typedef
 | 
						|
EFI_STATUS
 | 
						|
(EFIAPI *EDKII_PEI_SHADOW_MICROCODE)(
 | 
						|
  IN  EDKII_PEI_SHADOW_MICROCODE_PPI        *This,
 | 
						|
  IN  UINTN                                 CpuIdCount,
 | 
						|
  IN  EDKII_PEI_MICROCODE_CPU_ID            *MicrocodeCpuId,
 | 
						|
  OUT UINTN                                 *BufferSize,
 | 
						|
  OUT VOID                                  **Buffer
 | 
						|
  );
 | 
						|
 | 
						|
///
 | 
						|
/// This PPI is installed by some platform or chipset-specific PEIM that
 | 
						|
/// abstracts handling microcode shadow support.
 | 
						|
///
 | 
						|
struct _EDKII_PEI_SHADOW_MICROCODE_PPI {
 | 
						|
  EDKII_PEI_SHADOW_MICROCODE    ShadowMicrocode;
 | 
						|
};
 | 
						|
 | 
						|
extern EFI_GUID  gEdkiiPeiShadowMicrocodePpiGuid;
 | 
						|
 | 
						|
#endif
 |