blob: bba2908bf5981e7cea89e8f09a25a09ddc382e1a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
/** @file
IntelDieInfo definition
Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _DIE_INFO_PROTOCOL_H_
#define _DIE_INFO_PROTOCOL_H_
typedef struct _EDKII_INTEL_DIE_INFO_PROTOCOL EDKII_INTEL_DIE_INFO_PROTOCOL;
typedef EDKII_INTEL_DIE_INFO_PROTOCOL EDKII_INTEL_DIE_INFO_PPI;
extern EFI_GUID gIntelDieInfoProtocolGuid;
extern EFI_GUID gIntelDieInfoPpiGuid;
extern EFI_GUID gIntelDieInfoPchGuid;
extern EFI_GUID gIntelDieInfoSocGuid;
extern EFI_GUID gIntelDieInfoIoGuid;
extern EFI_GUID gIntelDieInfoCpuGuid;
extern EFI_GUID gIntelDieInfoGfxGuid;
#define DIE_INFO_PROTOCOL_REVISION 1
/**
Returns pointer to constant string representing die name.
Name is specific to die type.
@param[in] This Pointer to the DieInfoProtocol context structure
@retval Pointer to the const string
**/
typedef
CONST CHAR8*
(EFIAPI *EDKII_INTEL_DIE_INFO_GET_DIE_NAME_STR) (
IN EDKII_INTEL_DIE_INFO_PROTOCOL *This
);
/**
Returns pointer to constant string representing stepping of the die.
@param[in] This Pointer to the DieInfoProtocol context structure
@retval Pointer to the const string
**/
typedef
CONST CHAR8*
(EFIAPI *EDKII_INTEL_DIE_INFO_GET_STEPPING_STR) (
IN EDKII_INTEL_DIE_INFO_PROTOCOL *This
);
/**
Returns pointer to constant string representing SKU of the die.
@param[in] This Pointer to the DieInfoProtocol context structure
@retval Pointer to the const string
**/
typedef
CONST CHAR8*
(EFIAPI *EDKII_INTEL_DIE_INFO_GET_SKU_STR) (
IN EDKII_INTEL_DIE_INFO_PROTOCOL *This
);
/**
Protocol/PPI definition.
The purpose of this interface is to serve die-specific informations in a unified, generic way.
It will be produced by silicon code per die, and can be consumed by any module that needs contained information.
<b>Revision 1</b>:
- Initial version.
**/
struct _EDKII_INTEL_DIE_INFO_PROTOCOL {
UINT32 Revision; ///< Current protocol revision
/**
Type of the die that particular instance is reffering to.
**/
EFI_GUID Type;
/**
Index of the die in the package.
**/
UINT32 DieIndex;
/**
Unique ID specific to the die and the associated generation.
**/
UINT64 DieId;
/**
Generation and die specific stepping ID.
**/
UINT32 SteppingId;
EDKII_INTEL_DIE_INFO_GET_DIE_NAME_STR GetNameStr;
EDKII_INTEL_DIE_INFO_GET_STEPPING_STR GetSteppingStr;
EDKII_INTEL_DIE_INFO_GET_SKU_STR GetSkuStr;
};
#endif // _DIE_INFO_PROTOCOL_H_
|