diff mbox series

Add support for new TCG PfP event types

Message ID 20231230014559.1345-2-mario.limonciello@amd.com
State Accepted
Headers show
Series Add support for new TCG PfP event types | expand

Commit Message

Mario Limonciello Dec. 30, 2023, 1:45 a.m. UTC
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(-)

Comments

Ivan Hu Jan. 2, 2024, 3:26 a.m. UTC | #1
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 mbox series

Patch

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;