coreboot/src
Vadim Bendebury 73388139db tpm2: implement and use pcr_extend command
TPM PCRs are used in Chrome OS for two purposes: to communicate
crucial information from RO firmware and to protect FW and kernel
rollback counters from being deleted.

As implemented in TPM1 compatible way, the PCR extension command
requires a prebuilt digest to calculate a new PCR value.

TPM2 specification introduces a PCR_Event command, where the TPM
itself calculates the digest of an arbitrary length string, and then
uses the calculated digest for PCR extension. PCR_Event could be a
better option for Chrome OS, this needs to be investigated separately.

BRANCH=none
BUG=chrome-os-partner:50645
TEST=verified that the two PCRs are successfully extended before the
     RW firmware is called.

Change-Id: I1a9bab7396fdb652e2e3bc8529b828ea3423d851
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/358098
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Darren Krahn <dkrahn@chromium.org>
2016-07-07 22:14:28 -07:00
..
acpi
arch UPSTREAM: acpigen_write_package: Return pointer to package element counter 2016-07-07 19:29:22 -07:00
commonlib UPSTREAM: lib: Add real-time-clock functions 2016-07-07 01:08:44 -07:00
console UPSTREAM: console/post: be explicit about conditional cmos_post_log() compiling 2016-05-26 03:21:57 -07:00
cpu UPSTREAM: AMD k8 fam10: Refactor S3 recovery 2016-06-30 10:08:23 -07:00
device UPSTREAM: device: i2c: Add support for I2C bus operations 2016-06-10 00:17:46 -07:00
drivers UPSTREAM: siemens/nc_fpga: Add driver for Siemens NC FPGA 2016-07-07 01:09:51 -07:00
ec google/chromeec: Update EC command header 2016-06-23 15:15:09 -07:00
include tpm2: implement locking firmware rollback counter 2016-07-07 22:14:26 -07:00
lib tpm2: implement and use pcr_extend command 2016-07-07 22:14:28 -07:00
mainboard UPSTREAM: mainboard/google/reef: apply EVT board changes 2016-07-07 19:29:36 -07:00
northbridge UPSTREAM: intel/sandybridge: read correct leaf for cpu family 2016-07-07 19:29:08 -07:00
soc UPSTREAM: soc/intel/apollolake: add LPDDR4 sku selection support 2016-07-07 19:29:29 -07:00
southbridge UPSTREAM: PCI: Use PCI_DEVFN macro instead of DEV_FUNC 2016-07-07 01:09:48 -07:00
superio UPSTREAM: sio/winbond/w83667hg-a: Add pinmux defines for UART B 2016-05-31 12:07:04 -07:00
vendorcode tpm2: implement locking firmware rollback counter 2016-07-07 22:14:26 -07:00
Kconfig UPSTREAM: Kconfig: Show DEBUG_BOOT_STATE in the Debug menu 2016-07-07 01:08:53 -07:00