Message ID | 20231230014559.1345-2-mario.limonciello@amd.com |
---|---|
State | Accepted |
Headers | show |
Series | Add support for new TCG PfP event types | expand |
Thanks! Acked-by: Ivan Hu <ivan.hu@canonical.com> On 12/30/23 09:45, Mario Limonciello wrote: > From: Mario Limonciello <superm1@gmail.com> > > PFP spec Level 00 Version 1.06 Revision 52 has two event types > that are not supported by FWTS. Add these new events types. > > Link: https://trustedcomputinggroup.org/wp-content/uploads/PC-Client-Platform-Firmware-Profile-Version-1.06-Revision-52_pub.pdf > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > --- > src/lib/include/fwts_tpm.h | 4 +++- > src/tpm/tpmevlog/tpmevlog.c | 2 ++ > src/tpm/tpmevlogdump/tpmevlogdump.c | 6 ++++++ > 3 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/src/lib/include/fwts_tpm.h b/src/lib/include/fwts_tpm.h > index b6240f11..0cc80f0d 100644 > --- a/src/lib/include/fwts_tpm.h > +++ b/src/lib/include/fwts_tpm.h > @@ -116,7 +116,9 @@ typedef enum { > EV_EFI_HCRTM_EVENT = 0x80000010, > EV_EFI_VARIABLE_AUTHORITY = 0x800000e0, > EV_EFI_SPDM_FIRMWARE_BLOB = 0x800000e1, > - EV_EFI_SPDM_FIRMWARE_CONFIG = 0x800000e2 > + EV_EFI_SPDM_FIRMWARE_CONFIG = 0x800000e2, > + EV_EFI_SPDM_DEVICE_POLICY = 0x800000e3, > + EV_EFI_SPDM_DEVICE_AUTHORITY = 0x800000e4, > } fwts_tpmlog_event_type; > > > diff --git a/src/tpm/tpmevlog/tpmevlog.c b/src/tpm/tpmevlog/tpmevlog.c > index 794b47ca..d58e6e3f 100644 > --- a/src/tpm/tpmevlog/tpmevlog.c > +++ b/src/tpm/tpmevlog/tpmevlog.c > @@ -85,6 +85,8 @@ static int tpmevlog_eventtype_check(fwts_framework *fw, const fwts_tpmlog_event_ > case EV_EFI_VARIABLE_AUTHORITY: > case EV_EFI_SPDM_FIRMWARE_BLOB: > case EV_EFI_SPDM_FIRMWARE_CONFIG: > + case EV_EFI_SPDM_DEVICE_POLICY: > + case EV_EFI_SPDM_DEVICE_AUTHORITY: > case EV_COMPACT_HASH: > return FWTS_OK; > default: > diff --git a/src/tpm/tpmevlogdump/tpmevlogdump.c b/src/tpm/tpmevlogdump/tpmevlogdump.c > index de242e83..0a59fe34 100644 > --- a/src/tpm/tpmevlogdump/tpmevlogdump.c > +++ b/src/tpm/tpmevlogdump/tpmevlogdump.c > @@ -138,6 +138,12 @@ static char *tpmevlogdump_evtype_to_string(const fwts_tpmlog_event_type event_ty > case EV_EFI_SPDM_FIRMWARE_CONFIG: > str = "EV_EFI_SPDM_FIRMWARE_CONFIG"; > break; > + case EV_EFI_SPDM_DEVICE_POLICY: > + str = "EV_EFI_SPDM_DEVICE_POLICY"; > + break; > + case EV_EFI_SPDM_DEVICE_AUTHORITY: > + str = "EV_EFI_SPDM_DEVICE_AUTHORITY"; > + break; > case EV_COMPACT_HASH: > str = "EV_COMPACT_HASH"; > break;
diff --git a/src/lib/include/fwts_tpm.h b/src/lib/include/fwts_tpm.h index b6240f11..0cc80f0d 100644 --- a/src/lib/include/fwts_tpm.h +++ b/src/lib/include/fwts_tpm.h @@ -116,7 +116,9 @@ typedef enum { EV_EFI_HCRTM_EVENT = 0x80000010, EV_EFI_VARIABLE_AUTHORITY = 0x800000e0, EV_EFI_SPDM_FIRMWARE_BLOB = 0x800000e1, - EV_EFI_SPDM_FIRMWARE_CONFIG = 0x800000e2 + EV_EFI_SPDM_FIRMWARE_CONFIG = 0x800000e2, + EV_EFI_SPDM_DEVICE_POLICY = 0x800000e3, + EV_EFI_SPDM_DEVICE_AUTHORITY = 0x800000e4, } fwts_tpmlog_event_type; diff --git a/src/tpm/tpmevlog/tpmevlog.c b/src/tpm/tpmevlog/tpmevlog.c index 794b47ca..d58e6e3f 100644 --- a/src/tpm/tpmevlog/tpmevlog.c +++ b/src/tpm/tpmevlog/tpmevlog.c @@ -85,6 +85,8 @@ static int tpmevlog_eventtype_check(fwts_framework *fw, const fwts_tpmlog_event_ case EV_EFI_VARIABLE_AUTHORITY: case EV_EFI_SPDM_FIRMWARE_BLOB: case EV_EFI_SPDM_FIRMWARE_CONFIG: + case EV_EFI_SPDM_DEVICE_POLICY: + case EV_EFI_SPDM_DEVICE_AUTHORITY: case EV_COMPACT_HASH: return FWTS_OK; default: diff --git a/src/tpm/tpmevlogdump/tpmevlogdump.c b/src/tpm/tpmevlogdump/tpmevlogdump.c index de242e83..0a59fe34 100644 --- a/src/tpm/tpmevlogdump/tpmevlogdump.c +++ b/src/tpm/tpmevlogdump/tpmevlogdump.c @@ -138,6 +138,12 @@ static char *tpmevlogdump_evtype_to_string(const fwts_tpmlog_event_type event_ty case EV_EFI_SPDM_FIRMWARE_CONFIG: str = "EV_EFI_SPDM_FIRMWARE_CONFIG"; break; + case EV_EFI_SPDM_DEVICE_POLICY: + str = "EV_EFI_SPDM_DEVICE_POLICY"; + break; + case EV_EFI_SPDM_DEVICE_AUTHORITY: + str = "EV_EFI_SPDM_DEVICE_AUTHORITY"; + break; case EV_COMPACT_HASH: str = "EV_COMPACT_HASH"; break;