REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the DynamicTablesPkg 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: Sami Mujawar <sami.mujawar@arm.com>
		
			
				
	
	
		
			147 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			147 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   MCFG Table Generator
 | |
| 
 | |
|   Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| **/
 | |
| 
 | |
| #include <Library/AcpiLib.h>
 | |
| #include <Library/DebugLib.h>
 | |
| #include <Protocol/AcpiTable.h>
 | |
| 
 | |
| // Module specific include files.
 | |
| #include <AcpiTableGenerator.h>
 | |
| #include <ConfigurationManagerObject.h>
 | |
| #include <ConfigurationManagerHelper.h>
 | |
| #include <Library/TableHelperLib.h>
 | |
| #include <Protocol/ConfigurationManagerProtocol.h>
 | |
| 
 | |
| /** Construct the ACPI table using the ACPI table data provided.
 | |
| 
 | |
|   This function invokes the Configuration Manager protocol interface
 | |
|   to get the required hardware information for generating the ACPI
 | |
|   table.
 | |
| 
 | |
|   If this function allocates any resources then they must be freed
 | |
|   in the FreeXXXXTableResources function.
 | |
| 
 | |
|   @param [in]  This           Pointer to the table generator.
 | |
|   @param [in]  AcpiTableInfo  Pointer to the ACPI Table Info.
 | |
|   @param [in]  CfgMgrProtocol Pointer to the Configuration Manager
 | |
|                               Protocol Interface.
 | |
|   @param [out] Table          Pointer to the constructed ACPI Table.
 | |
| 
 | |
|   @retval EFI_SUCCESS           Table generated successfully.
 | |
|   @retval EFI_INVALID_PARAMETER A parameter is invalid.
 | |
| **/
 | |
| STATIC
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| BuildRawTable (
 | |
|   IN  CONST ACPI_TABLE_GENERATOR                  *CONST  This,
 | |
|   IN  CONST CM_STD_OBJ_ACPI_TABLE_INFO            *CONST  AcpiTableInfo,
 | |
|   IN  CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  *CONST  CfgMgrProtocol,
 | |
|   OUT       EFI_ACPI_DESCRIPTION_HEADER          **CONST  Table
 | |
|   )
 | |
| {
 | |
|   ASSERT (This != NULL);
 | |
|   ASSERT (AcpiTableInfo != NULL);
 | |
|   ASSERT (CfgMgrProtocol != NULL);
 | |
|   ASSERT (Table != NULL);
 | |
|   ASSERT (AcpiTableInfo->TableGeneratorId == This->GeneratorID);
 | |
|   ASSERT (AcpiTableInfo->AcpiTableData != NULL);
 | |
| 
 | |
|   if (AcpiTableInfo->AcpiTableData == NULL) {
 | |
|     *Table = NULL;
 | |
|     return EFI_INVALID_PARAMETER;
 | |
|   }
 | |
| 
 | |
|   *Table = AcpiTableInfo->AcpiTableData;
 | |
| 
 | |
|   return EFI_SUCCESS;
 | |
| }
 | |
| 
 | |
| /** This macro defines the Raw Generator revision.
 | |
| */
 | |
| #define RAW_GENERATOR_REVISION  CREATE_REVISION (1, 0)
 | |
| 
 | |
| /** The interface for the Raw Table Generator.
 | |
| */
 | |
| STATIC
 | |
| CONST
 | |
| ACPI_TABLE_GENERATOR  RawGenerator = {
 | |
|   // Generator ID
 | |
|   CREATE_STD_ACPI_TABLE_GEN_ID (EStdAcpiTableIdRaw),
 | |
|   // Generator Description
 | |
|   L"ACPI.STD.RAW.GENERATOR",
 | |
|   // ACPI Table Signature - Unused
 | |
|   0,
 | |
|   // ACPI Table Revision - Unused
 | |
|   0,
 | |
|   // Minimum ACPI Table Revision - Unused
 | |
|   0,
 | |
|   // Creator ID
 | |
|   TABLE_GENERATOR_CREATOR_ID_ARM,
 | |
|   // Creator Revision
 | |
|   RAW_GENERATOR_REVISION,
 | |
|   // Build Table function
 | |
|   BuildRawTable,
 | |
|   // No additional resources are allocated by the generator.
 | |
|   // Hence the Free Resource function is not required.
 | |
|   NULL,
 | |
|   // Extended build function not needed
 | |
|   NULL,
 | |
|   // Extended build function not implemented by the generator.
 | |
|   // Hence extended free resource function is not required.
 | |
|   NULL
 | |
| };
 | |
| 
 | |
| /** Register the Generator with the ACPI Table Factory.
 | |
| 
 | |
|   @param [in]  ImageHandle  The handle to the image.
 | |
|   @param [in]  SystemTable  Pointer to the System Table.
 | |
| 
 | |
|   @retval EFI_SUCCESS           The Generator is registered.
 | |
|   @retval EFI_INVALID_PARAMETER A parameter is invalid.
 | |
|   @retval EFI_ALREADY_STARTED   The Generator for the Table ID
 | |
|                                 is already registered.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| AcpiRawLibConstructor (
 | |
|   IN  EFI_HANDLE        ImageHandle,
 | |
|   IN  EFI_SYSTEM_TABLE  *SystemTable
 | |
|   )
 | |
| {
 | |
|   EFI_STATUS  Status;
 | |
| 
 | |
|   Status = RegisterAcpiTableGenerator (&RawGenerator);
 | |
|   DEBUG ((DEBUG_INFO, "RAW: Register Generator. Status = %r\n", Status));
 | |
|   ASSERT_EFI_ERROR (Status);
 | |
|   return Status;
 | |
| }
 | |
| 
 | |
| /** Deregister the Generator from the ACPI Table Factory.
 | |
| 
 | |
|   @param [in]  ImageHandle  The handle to the image.
 | |
|   @param [in]  SystemTable  Pointer to the System Table.
 | |
| 
 | |
|   @retval EFI_SUCCESS           The Generator is deregistered.
 | |
|   @retval EFI_INVALID_PARAMETER A parameter is invalid.
 | |
|   @retval EFI_NOT_FOUND         The Generator is not registered.
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| AcpiRawLibDestructor (
 | |
|   IN  EFI_HANDLE        ImageHandle,
 | |
|   IN  EFI_SYSTEM_TABLE  *SystemTable
 | |
|   )
 | |
| {
 | |
|   EFI_STATUS  Status;
 | |
| 
 | |
|   Status = DeregisterAcpiTableGenerator (&RawGenerator);
 | |
|   DEBUG ((DEBUG_INFO, "RAW: Deregister Generator. Status = %r\n", Status));
 | |
|   ASSERT_EFI_ERROR (Status);
 | |
|   return Status;
 | |
| }
 |