[SeaBIOS] [PATCH v2 1/6] tpm: Retrieve the PCR Bank configuration
Kevin O'Connor
kevin at koconnor.net
Thu Jul 28 18:38:33 CEST 2016
On Tue, Jul 26, 2016 at 11:19:48AM -0400, Stefan Berger wrote:
> Implement tpm20_get_capability and retrieve the PCR Bank configuration
> from the TPM using this function.
[...]
> --- a/src/tcgbios.c
> +++ b/src/tcgbios.c
> @@ -24,6 +24,7 @@
> #include "tcgbios.h"// tpm_*, prototypes
> #include "util.h" // printf, get_keystroke
> #include "stacks.h" // wait_threads, reset
> +#include "malloc.h" // malloc_high
>
> /****************************************************************
> * TPM 1.2 commands
> @@ -76,6 +77,9 @@ static int TPM_has_physical_presence;
>
> static TPMVersion TPM_version;
>
> +static u32 tpm20_pcr_selection_size;
> +static struct tpml_pcr_selection *tpm20_pcr_selection;
> +
> static struct tcpa_descriptor_rev2 *
> find_tcpa_by_rsdp(struct rsdp_descriptor *rsdp)
> {
> @@ -181,6 +185,57 @@ tpm_log_event(struct tcg_pcr_event2_sha1 *entry, const void *event
> return 0;
> }
>
> +static int
> +tpm20_getcapability(u32 capability, u32 property, u32 count,
> + struct tpm_rsp_header *rsp, u32 rsize)
The tcgbios.c file is getting pretty large - 2200 lines after this
series. This patch adds tpm20_getcapability() in the section of the
file currently labeled "ACPI TCPA table interface", but it seems very
similar to tpm12_getcapability() and to other wrappers around
tpmhw_transmit() that are located elsewhere in the C file.
I think it would help if the code could be segmented into like
functionality, or split into multiple C files of like functionality if
necessary.
-Kevin
More information about the SeaBIOS
mailing list