diff options
author | Claudio Carvalho <cclaudio@linux.vnet.ibm.com> | 2017-12-09 02:52:24 -0200 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-12-18 21:30:57 -0600 |
commit | 9781da8a262dd6b2604a9a465c0d27f09b86a300 (patch) | |
tree | 2ed780e17537b30145ef81ddcea34e26c8913ade | |
parent | 024bf3248101b91ddb43ae4e709625ebf45fb9a6 (diff) | |
download | skiboot-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.H | 22 | ||||
-rw-r--r-- | libstb/tss/trustedboot.H | 12 |
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 */ |