TianoCore EDK2 master
Loading...
Searching...
No Matches
ConfigurationManagerObject.h File Reference

Go to the source code of this file.

Data Structures

struct  CmObjDescriptor
 

Macros

#define FMT_CM_OBJECT_ID   "0x%lx"
 
#define OBJECT_ID_MASK   0xFF
 
#define NAMESPACE_ID_MASK   0xF
 
#define NAMESPACE_ID_BIT_SHIFT   28
 
#define GET_CM_NAMESPACE_ID(CmObjectId)
 
#define GET_CM_OBJECT_ID(CmObjectId)   ((CmObjectId) & OBJECT_ID_MASK)
 
#define CREATE_CM_OBJECT_ID(NameSpaceId, ObjectId)
 
#define CREATE_CM_STD_OBJECT_ID(ObjectId)    (CREATE_CM_OBJECT_ID (EObjNameSpaceStandard, ObjectId))
 
#define CREATE_CM_ARM_OBJECT_ID(ObjectId)    (CREATE_CM_OBJECT_ID (EObjNameSpaceArm, ObjectId))
 
#define CREATE_CM_ARCH_COMMON_OBJECT_ID(ObjectId)    (CREATE_CM_OBJECT_ID (EObjNameSpaceArchCommon, ObjectId))
 
#define CREATE_CM_OEM_OBJECT_ID(ObjectId)    (CREATE_CM_OBJECT_ID (EObjNameSpaceOem, ObjectId))
 
#define CREATE_CM_X64_OBJECT_ID(ObjectId)    (CREATE_CM_OBJECT_ID (EObjNameSpaceX64, ObjectId))
 

Typedefs

typedef UINT32 CM_OBJECT_ID
 
typedef enum ObjectNameSpaceID EOBJECT_NAMESPACE_ID
 
typedef struct CmObjDescriptor CM_OBJ_DESCRIPTOR
 

Enumerations

enum  ObjectNameSpaceID {
  EObjNameSpaceStandard , EObjNameSpaceArchCommon , EObjNameSpaceArm , EObjNameSpaceX64 ,
  EObjNameSpaceOem = 0xF , EObjNameSpaceMax
}
 

Detailed Description

Copyright (c) 2017 - 2024, Arm Limited. All rights reserved. Copyright (c) 2024 Advanced Micro Devices, Inc. All rights reserved.

SPDX-License-Identifier: BSD-2-Clause-Patent

Glossary:
  • Cm or CM - Configuration Manager
  • Obj or OBJ - Object
  • X64 or x64 - X64 Architecture

Definition in file ConfigurationManagerObject.h.

Macro Definition Documentation

◆ CREATE_CM_ARCH_COMMON_OBJECT_ID

#define CREATE_CM_ARCH_COMMON_OBJECT_ID (   ObjectId)     (CREATE_CM_OBJECT_ID (EObjNameSpaceArchCommon, ObjectId))

This macro returns a Configuration Manager Object ID in the Arch Common Object Namespace.

Parameters
[in]ObjectIdThe Object ID.
Return values
Returnsan Arch Common Configuration Manager Object ID.

Definition at line 173 of file ConfigurationManagerObject.h.

◆ CREATE_CM_ARM_OBJECT_ID

#define CREATE_CM_ARM_OBJECT_ID (   ObjectId)     (CREATE_CM_OBJECT_ID (EObjNameSpaceArm, ObjectId))

This macro returns a Configuration Manager Object ID in the ARM Object Namespace.

Parameters
[in]ObjectIdThe Object ID.
Return values
Returnsan ARM Configuration Manager Object ID.

Definition at line 163 of file ConfigurationManagerObject.h.

◆ CREATE_CM_OBJECT_ID

#define CREATE_CM_OBJECT_ID (   NameSpaceId,
  ObjectId 
)
Value:
((((NameSpaceId) & NAMESPACE_ID_MASK) << NAMESPACE_ID_BIT_SHIFT) | \
((ObjectId) & OBJECT_ID_MASK))
#define NAMESPACE_ID_BIT_SHIFT
#define NAMESPACE_ID_MASK
#define OBJECT_ID_MASK

This macro returns a Configuration Manager Object ID from the NameSpace ID and the ObjectID.

Parameters
[in]NameSpaceIdThe namespace ID for the Object.
[in]ObjectIdThe Object ID.
Return values
Returnsthe Configuration Manager Object ID.

Definition at line 142 of file ConfigurationManagerObject.h.

◆ CREATE_CM_OEM_OBJECT_ID

#define CREATE_CM_OEM_OBJECT_ID (   ObjectId)     (CREATE_CM_OBJECT_ID (EObjNameSpaceOem, ObjectId))

This macro returns a Configuration Manager Object ID in the OEM Object Namespace.

Parameters
[in]ObjectIdThe Object ID.
Return values
Returnsan OEM Configuration Manager Object ID.

Definition at line 183 of file ConfigurationManagerObject.h.

◆ CREATE_CM_STD_OBJECT_ID

#define CREATE_CM_STD_OBJECT_ID (   ObjectId)     (CREATE_CM_OBJECT_ID (EObjNameSpaceStandard, ObjectId))

This macro returns a Configuration Manager Object ID in the Standard Object Namespace.

Parameters
[in]ObjectIdThe Object ID.
Return values
Returnsa Standard Configuration Manager Object ID.

Definition at line 153 of file ConfigurationManagerObject.h.

◆ CREATE_CM_X64_OBJECT_ID

#define CREATE_CM_X64_OBJECT_ID (   ObjectId)     (CREATE_CM_OBJECT_ID (EObjNameSpaceX64, ObjectId))

This macro returns a Configuration Manager Object ID in the X64 Object Namespace.

Parameters
[in]ObjectIdThe Object ID.
Return values
ReturnsX64 Configuration Manager Object ID.

Definition at line 193 of file ConfigurationManagerObject.h.

◆ FMT_CM_OBJECT_ID

#define FMT_CM_OBJECT_ID   "0x%lx"

Definition at line 69 of file ConfigurationManagerObject.h.

◆ GET_CM_NAMESPACE_ID

#define GET_CM_NAMESPACE_ID (   CmObjectId)
Value:
(((CmObjectId) >> NAMESPACE_ID_BIT_SHIFT) & \

This macro returns the namespace ID from the CmObjectID.

Parameters
[in]CmObjectIdThe Configuration Manager Object ID.
Return values
Returnsthe Namespace ID corresponding to the CmObjectID.

Definition at line 122 of file ConfigurationManagerObject.h.

◆ GET_CM_OBJECT_ID

#define GET_CM_OBJECT_ID (   CmObjectId)    ((CmObjectId) & OBJECT_ID_MASK)

This macro returns the Object ID from the CmObjectID.

Parameters
[in]CmObjectIdThe Configuration Manager Object ID.
Return values
Returnsthe Object ID corresponding to the CmObjectID.

Definition at line 132 of file ConfigurationManagerObject.h.

◆ NAMESPACE_ID_BIT_SHIFT

#define NAMESPACE_ID_BIT_SHIFT   28

Starting bit position for Namespace ID

Definition at line 81 of file ConfigurationManagerObject.h.

◆ NAMESPACE_ID_MASK

#define NAMESPACE_ID_MASK   0xF

A mask for Namespace ID

Definition at line 77 of file ConfigurationManagerObject.h.

◆ OBJECT_ID_MASK

#define OBJECT_ID_MASK   0xFF

A mask for Object ID

Definition at line 73 of file ConfigurationManagerObject.h.

Typedef Documentation

◆ CM_OBJ_DESCRIPTOR

A descriptor for Configuration Manager Objects.

The Configuration Manager Protocol interface uses this descriptor to return the Configuration Manager Objects.

◆ CM_OBJECT_ID

typedef UINT32 CM_OBJECT_ID

The CM_OBJECT_ID type is used to identify the Configuration Manager objects.

Description of Configuration Manager Object ID


|31 |30 |29 |28 || 27 | 26 | 25 | 24 || 23 | 22 | 21 | 20 || 19 | 18 | 17 | 16|

| Name Space ID || 0 | 0 | 0 | 0 || 0 | 0 | 0 | 0 || 0 | 0 | 0 | 0|


Bits: [31:28] - Name Space ID 0000 - Standard 0001 - Arch Common 0010 - ARM 0011 - X64 1111 - Custom/OEM All other values are reserved.

Bits: [27:16] - Reserved.


|15 |14 |13 |12 || 11 | 10 | 9 | 8 || 7 | 6 | 5 | 4 || 3 | 2 | 1 | 0|

| 0 | 0 | 0 | 0 || 0 | 0 | 0 | 0 || Object ID |


Bits: [15:8] - Are reserved and must be zero.

Bits: [7:0] - Object ID

Object ID's in the Standard Namespace: 0 - Configuration Manager Revision 1 - ACPI Table List 2 - SMBIOS Table List

Object ID's in the Arch Common Namespace: See EARCH_COMMON_OBJECT_ID.

Object ID's in the ARM Namespace: See EARM_OBJECT_ID.

Definition at line 64 of file ConfigurationManagerObject.h.

◆ EOBJECT_NAMESPACE_ID

The EOBJECT_NAMESPACE_ID enum describes the defined namespaces for the Configuration Manager Objects.

Enumeration Type Documentation

◆ ObjectNameSpaceID

The EOBJECT_NAMESPACE_ID enum describes the defined namespaces for the Configuration Manager Objects.

Enumerator
EObjNameSpaceStandard 

Standard Objects Namespace.

EObjNameSpaceArchCommon 

Arch Common Objects Namespace.

EObjNameSpaceArm 

ARM Objects Namespace.

EObjNameSpaceX64 

X64 Objects Namespace.

EObjNameSpaceOem 

OEM Objects Namespace.

Definition at line 86 of file ConfigurationManagerObject.h.