SecurityPkg: Tcg2Smm: Enable TPM2.0 interrupt support
1. Expose _CRS, _SRS, _PRS control method to support TPM interrupt 2. Provide 2 PCDs to configure _CRS and _PRS returned data Cc: Yao Jiewen <jiewen.yao@intel.com> Cc: Ronald Aigner <Ronald.Aigner@microsoft.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chao Zhang <chao.b.zhang@intel.com> Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
The header file for Tcg2 SMM driver.
|
||||
|
||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -39,6 +39,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#include <Library/Tcg2PhysicalPresenceLib.h>
|
||||
#include <Library/IoLib.h>
|
||||
#include <Library/PrintLib.h>
|
||||
#include <Library/PcdLib.h>
|
||||
|
||||
#include <IndustryStandard/TpmPtp.h>
|
||||
|
||||
@@ -64,6 +65,8 @@ typedef struct {
|
||||
PHYSICAL_PRESENCE_NVS PhysicalPresence;
|
||||
MEMORY_CLEAR_NVS MemoryClear;
|
||||
UINT32 PPRequestUserConfirm;
|
||||
UINT32 TpmIrqNum;
|
||||
BOOLEAN IsShortFormPkgLength;
|
||||
} TCG_NVS;
|
||||
|
||||
typedef struct {
|
||||
@@ -102,4 +105,23 @@ typedef struct {
|
||||
#define TPM_HID_PNP_SIZE 8
|
||||
#define TPM_HID_ACPI_SIZE 9
|
||||
|
||||
#define TPM_PRS_RESL "RESL"
|
||||
#define TPM_PRS_RESS "RESS"
|
||||
#define TPM_PRS_RES_NAME_SIZE 4
|
||||
//
|
||||
// Minimum PRS resource template size
|
||||
// 1 byte for BufferOp
|
||||
// 1 byte for PkgLength
|
||||
// 2 bytes for BufferSize
|
||||
// 12 bytes for Memory32Fixed descriptor
|
||||
// 5 bytes for Interrupt descriptor
|
||||
// 2 bytes for END Tag
|
||||
//
|
||||
#define TPM_POS_RES_TEMPLATE_MIN_SIZE (1 + 1 + 2 + 12 + 5 + 2)
|
||||
|
||||
//
|
||||
// Max Interrupt buffer size for PRS interrupt resource
|
||||
// Now support 15 interrupts in maxmum
|
||||
//
|
||||
#define MAX_PRS_INT_BUF_SIZE (15*4)
|
||||
#endif // __TCG_SMM_H__
|
||||
|
Reference in New Issue
Block a user