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>
		
			
				
	
	
		
			247 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			247 lines
		
	
	
		
			7.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
 | 
						|
  Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
 | 
						|
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
  @par Glossary:
 | 
						|
    - ACPI   - Advanced Configuration and Power Interface
 | 
						|
    - SMBIOS - System Management BIOS
 | 
						|
    - DT     - Device Tree
 | 
						|
**/
 | 
						|
 | 
						|
#ifndef TABLE_GENERATOR_H_
 | 
						|
#define TABLE_GENERATOR_H_
 | 
						|
 | 
						|
/** The TABLE_GENERATOR_ID type describes the Table Generator ID
 | 
						|
 | 
						|
  Table Generator ID
 | 
						|
 | 
						|
_______________________________________________________________________________
 | 
						|
|  31 | 30 |29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17| 16|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
|TNSID|  0 |   TT   |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0|  0|
 | 
						|
_______________________________________________________________________________
 | 
						|
_______________________________________________________________________________
 | 
						|
|15 | 14 | 13 | 12 | 11 | 10 |  9 |  8 |  7 |  6 |  5 |  4 |  3 |  2 |  1 |  0|
 | 
						|
-------------------------------------------------------------------------------
 | 
						|
|                                 Table ID                                    |
 | 
						|
_______________________________________________________________________________
 | 
						|
 | 
						|
  Bit [31] - Table NameSpace ID (TNSID)
 | 
						|
      0 - Standard
 | 
						|
      1 - Custom/OEM
 | 
						|
 | 
						|
  Bit [30] - Reserved, Must be Zero
 | 
						|
 | 
						|
  Bit [29:28] - Table Type (TT)
 | 
						|
       0 - ACPI Table
 | 
						|
       1 - SMBIOS Table
 | 
						|
       2 - DT (Device Tree) Table
 | 
						|
       3 - Reserved (INVALID)
 | 
						|
 | 
						|
  Bit [27:16] - Reserved, Must Be Zero
 | 
						|
 | 
						|
  Bit [15:0] - Table ID
 | 
						|
 | 
						|
    Standard ACPI Table IDs:
 | 
						|
       0 - Reserved
 | 
						|
       1 - RAW
 | 
						|
       2 - FADT
 | 
						|
       3 - DSDT
 | 
						|
       4 - SSDT
 | 
						|
       5 - MADT
 | 
						|
       6 - GTDT
 | 
						|
       7 - DBG2
 | 
						|
       8 - SPCR
 | 
						|
       9 - MCFG
 | 
						|
      10 - PPTT
 | 
						|
 | 
						|
    Standard SMBIOS Table IDs:
 | 
						|
       0 - Reserved
 | 
						|
       1 - RAW
 | 
						|
       2 - Table Type00
 | 
						|
       3 - Table Type01
 | 
						|
       4 - Table Type02
 | 
						|
       5 - Table Type03
 | 
						|
       6 - Table Type04
 | 
						|
       7 - Table Type05
 | 
						|
       8 - Table Type06
 | 
						|
       9 - Table Type07
 | 
						|
      10 - Table Type08
 | 
						|
      11 - Table Type09
 | 
						|
      12 - Table Type10
 | 
						|
      13 - Table Type11
 | 
						|
      14 - Table Type12
 | 
						|
      15 - Table Type13
 | 
						|
      16 - Table Type14
 | 
						|
      17 - Table Type15
 | 
						|
      18 - Table Type16
 | 
						|
      19 - Table Type17
 | 
						|
      20 - Table Type18
 | 
						|
      21 - Table Type19
 | 
						|
      22 - Table Type20
 | 
						|
      23 - Table Type21
 | 
						|
      24 - Table Type22
 | 
						|
      25 - Table Type23
 | 
						|
      26 - Table Type24
 | 
						|
      27 - Table Type25
 | 
						|
      28 - Table Type26
 | 
						|
      29 - Table Type27
 | 
						|
      30 - Table Type28
 | 
						|
      31 - Table Type29
 | 
						|
      32 - Table Type30
 | 
						|
      33 - Table Type31
 | 
						|
      34 - Table Type32
 | 
						|
      35 - Table Type33
 | 
						|
      36 - Table Type34
 | 
						|
      37 - Table Type35
 | 
						|
      38 - Table Type36
 | 
						|
      39 - Table Type37
 | 
						|
      40 - Table Type38
 | 
						|
      41 - Table Type39
 | 
						|
      42 - Table Type40
 | 
						|
      43 - Table Type41
 | 
						|
      44 - Table Type42
 | 
						|
  45-127 - Reserved
 | 
						|
     128 - Table Type126
 | 
						|
     129 - Table Type127
 | 
						|
**/
 | 
						|
typedef UINT32 TABLE_GENERATOR_ID;
 | 
						|
 | 
						|
/** This enum lists the Table Generator Types.
 | 
						|
*/
 | 
						|
typedef enum TableGeneratorType {
 | 
						|
  ETableGeneratorTypeAcpi = 0,  ///< ACPI Table Generator Type.
 | 
						|
  ETableGeneratorTypeSmbios,    ///< SMBIOS Table Generator Type.
 | 
						|
  ETableGeneratorTypeDt,        ///< Device Tree Table Generator Type.
 | 
						|
  ETableGeneratorTypeReserved
 | 
						|
} ETABLE_GENERATOR_TYPE;
 | 
						|
 | 
						|
/** This enum lists the namespaces for the Table Generators.
 | 
						|
*/
 | 
						|
typedef enum TableGeneratorNameSpace {
 | 
						|
  ETableGeneratorNameSpaceStd = 0,  ///< Standard Namespace.
 | 
						|
  ETableGeneratorNameSpaceOem       ///< OEM Namespace.
 | 
						|
} ETABLE_GENERATOR_NAMESPACE;
 | 
						|
 | 
						|
/** A mask for the Table ID bits of TABLE_GENERATOR_ID.
 | 
						|
*/
 | 
						|
#define TABLE_ID_MASK  0xFF
 | 
						|
 | 
						|
/** A mask for the Namespace ID bits of TABLE_GENERATOR_ID.
 | 
						|
*/
 | 
						|
#define TABLE_NAMESPACEID_MASK  (BIT31)
 | 
						|
 | 
						|
/** A mask for the Table Type bits of TABLE_GENERATOR_ID.
 | 
						|
*/
 | 
						|
#define TABLE_TYPE_MASK  (BIT29 | BIT28)
 | 
						|
 | 
						|
/** Starting bit position for the Table Type bits
 | 
						|
*/
 | 
						|
#define TABLE_TYPE_BIT_SHIFT  28
 | 
						|
 | 
						|
/** Starting bit position for the Table Namespace ID bit
 | 
						|
*/
 | 
						|
#define TABLE_NAMESPACE_ID_BIT_SHIFT  31
 | 
						|
 | 
						|
/** This macro returns the Table ID from the TableGeneratorId.
 | 
						|
 | 
						|
  @param [in]  TableGeneratorId  The table generator ID.
 | 
						|
 | 
						|
  @return the Table ID described by the TableGeneratorId.
 | 
						|
**/
 | 
						|
#define GET_TABLE_ID(TableGeneratorId)         \
 | 
						|
          ((TableGeneratorId) & TABLE_ID_MASK)
 | 
						|
 | 
						|
/** This macro returns the Table type from the TableGeneratorId.
 | 
						|
 | 
						|
  @param [in]  TableGeneratorId  The table generator ID.
 | 
						|
 | 
						|
  @return the Table type described by the TableGeneratorId.
 | 
						|
**/
 | 
						|
#define GET_TABLE_TYPE(TableGeneratorId)                                   \
 | 
						|
          (((TableGeneratorId) & TABLE_TYPE_MASK) >> TABLE_TYPE_BIT_SHIFT)
 | 
						|
 | 
						|
/** This macro returns the Namespace ID from the TableGeneratorId.
 | 
						|
 | 
						|
  @param [in]  TableGeneratorId  The table generator ID.
 | 
						|
 | 
						|
  @return the Namespace described by the TableGeneratorId.
 | 
						|
**/
 | 
						|
#define GET_TABLE_NAMESPACEID(TableGeneratorId)             \
 | 
						|
          (((TableGeneratorId) & TABLE_NAMESPACEID_MASK) >> \
 | 
						|
            TABLE_NAMESPACE_ID_BIT_SHIFT)
 | 
						|
 | 
						|
/** This macro checks if the TableGeneratorId is in the Standard Namespace.
 | 
						|
 | 
						|
  @param [in]  TableGeneratorId  The table generator ID.
 | 
						|
 | 
						|
  @return TRUE if the TableGeneratorId is in the Standard Namespace.
 | 
						|
**/
 | 
						|
#define IS_GENERATOR_NAMESPACE_STD(TableGeneratorId) \
 | 
						|
          (                                          \
 | 
						|
          GET_TABLE_NAMESPACEID(TableGeneratorId) == \
 | 
						|
          ETableGeneratorNameSpaceStd                \
 | 
						|
          )
 | 
						|
 | 
						|
/** This macro creates a TableGeneratorId
 | 
						|
 | 
						|
  @param [in]  TableType        The table type.
 | 
						|
  @param [in]  TableNameSpaceId The namespace ID for the table.
 | 
						|
  @param [in]  TableId          The table ID.
 | 
						|
 | 
						|
  @return a TableGeneratorId calculated from the inputs.
 | 
						|
**/
 | 
						|
#define CREATE_TABLE_GEN_ID(TableType, TableNameSpaceId, TableId)      \
 | 
						|
          ((((TableType) << TABLE_TYPE_BIT_SHIFT) & TABLE_TYPE_MASK) | \
 | 
						|
           (((TableNameSpaceId) << TABLE_NAMESPACE_ID_BIT_SHIFT) &     \
 | 
						|
             TABLE_NAMESPACEID_MASK) | ((TableId) & TABLE_ID_MASK))
 | 
						|
 | 
						|
/** Starting bit position for MAJOR revision
 | 
						|
*/
 | 
						|
#define MAJOR_REVISION_BIT_SHIFT  16
 | 
						|
 | 
						|
/** A mask for Major revision.
 | 
						|
*/
 | 
						|
#define MAJOR_REVISION_MASK  0xFFFF
 | 
						|
 | 
						|
/** A mask for Minor revision.
 | 
						|
*/
 | 
						|
#define MINOR_REVISION_MASK  0xFFFF
 | 
						|
 | 
						|
/** This macro generates a Major.Minor version
 | 
						|
    where the Major and Minor fields are 16 bit.
 | 
						|
 | 
						|
  @param [in]  Major  The Major revision.
 | 
						|
  @param [in]  Minor  The Minor revision.
 | 
						|
 | 
						|
  @return a 32 bit representation of the type Major.Minor.
 | 
						|
**/
 | 
						|
#define CREATE_REVISION(Major, Minor)                                      \
 | 
						|
          ((((Major) & MAJOR_REVISION_MASK) << MAJOR_REVISION_BIT_SHIFT) | \
 | 
						|
            ((Minor) & MINOR_REVISION_MASK))
 | 
						|
 | 
						|
/** This macro returns the Major revision
 | 
						|
 | 
						|
  Extracts Major from the 32 bit representation of the type Major.Minor
 | 
						|
 | 
						|
  @param [in]  Revision  The Revision value which is 32 bit.
 | 
						|
 | 
						|
  @return the Major part of the revision.
 | 
						|
**/
 | 
						|
#define GET_MAJOR_REVISION(Revision)                                       \
 | 
						|
          (((Revision) >> MAJOR_REVISION_BIT_SHIFT) & MAJOR_REVISION_MASK)
 | 
						|
 | 
						|
/** This macro returns the Minor revision
 | 
						|
 | 
						|
  Extracts Minor from the 32 bit representation of the type Major.Minor
 | 
						|
 | 
						|
  @param [in]  Revision  The Revision value which is 32 bit.
 | 
						|
 | 
						|
  @return the Minor part of the revision.
 | 
						|
**/
 | 
						|
#define GET_MINOR_REVISION(Revision)  ((Revision) & MINOR_REVISION_MASK)
 | 
						|
 | 
						|
#endif // TABLE_GENERATOR_H_
 |