aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudio Carvalho <cclaudio@linux.vnet.ibm.com>2017-12-09 02:52:24 -0200
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-12-18 21:30:57 -0600
commit9781da8a262dd6b2604a9a465c0d27f09b86a300 (patch)
tree2ed780e17537b30145ef81ddcea34e26c8913ade
parent024bf3248101b91ddb43ae4e709625ebf45fb9a6 (diff)
downloadskiboot-9781da8a262dd6b2604a9a465c0d27f09b86a300.zip
skiboot-9781da8a262dd6b2604a9a465c0d27f09b86a300.tar.gz
skiboot-9781da8a262dd6b2604a9a465c0d27f09b86a300.tar.bz2
libstb/tss: update the list of event types supported
Skiboot, precisely the tpmLogMgr, initializes the firmware event log by calculating its length so that a new event can be recorded without exceeding the log size. In order to calculate the size, it walks through the log until it finds an especific event type. However, if the log has an unknown event type, the tpmLogMgr will not be able to reach the end of the log. This updates the list of event types with all of those supported by hostboot. Thus, skiboot can properly calculate the event log length. Signed-off-by: Claudio Carvalho <cclaudio@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--libstb/tss/trustedTypes.H22
-rw-r--r--libstb/tss/trustedboot.H12
2 files changed, 28 insertions, 6 deletions
diff --git a/libstb/tss/trustedTypes.H b/libstb/tss/trustedTypes.H
index dd42cca..9b68d5b 100644
--- a/libstb/tss/trustedTypes.H
+++ b/libstb/tss/trustedTypes.H
@@ -80,9 +80,25 @@ namespace TRUSTEDBOOT
typedef enum
{
- EV_NO_ACTION = 0x3, ///< Event field contains info
- EV_SEPARATOR = 0x4, ///< Used to indicate an error
- EV_ACTION = 0x5, ///< Must extend a PCR
+ EV_PREBOOT_CERT = 0x00,
+ EV_POST_CODE = 0x01,
+ EV_UNUSED = 0x02,
+ EV_NO_ACTION = 0x03,
+ EV_SEPARATOR = 0x04,
+ EV_ACTION = 0x05,
+ EV_EVENT_TAG = 0x06,
+ EV_S_CRTM_CONTENTS = 0x07,
+ EV_S_CRTM_VERSION = 0x08,
+ EV_CPU_MICROCODE = 0x09,
+ EV_PLATFORM_CONFIG_FLAGS = 0x0A,
+ EV_TABLE_OF_DEVICES = 0x0B,
+ EV_COMPACT_HASH = 0x0C,
+ EV_IPL = 0x0D, ///< Deprecated
+ EV_IPL_PARTITION_DATA = 0x0E, ///< Deprecated
+ EV_NONHOST_CODE = 0x0F,
+ EV_NONHOST_CONFIG = 0x10,
+ EV_NONHOST_INFO = 0x11,
+ EV_OMIT_BOOT_DEVICE_EVENTS = 0x12,
EV_INVALID ///< Used for error checking
} EventTypes;
diff --git a/libstb/tss/trustedboot.H b/libstb/tss/trustedboot.H
index bee3b49..0ddf88b 100644
--- a/libstb/tss/trustedboot.H
+++ b/libstb/tss/trustedboot.H
@@ -64,9 +64,15 @@ typedef enum {
PCR_5 = 5,
PCR_6 = 6,
PCR_7 = 7,
- /* As defined in the TCG PC Client Platform TPM Profile (PTP)
- * Specification, Revision 00.43. (TPM_PT_PCR_COUNT) */
- IMPLEMENTATION_PCR = 24
+ PCR_DEBUG = 16,
+ PCR_DRTM_17 = 17,
+ PCR_DRTM_18 = 18,
+ PCR_DRTM_19 = 19,
+ PCR_DRTM_20 = 20,
+ PCR_DRTM_21 = 21,
+ PCR_DRTM_22 = 22,
+ PLATFORM_PCR = 24, ///< The number of PCR required by the platform spec
+ IMPLEMENTATION_PCR = 24, ///< The number of PCRs implemented by TPM
} TPM_Pcr;
#endif /* __TSS_TRUSTEDBOOT_H */