@@ -255,6 +255,8 @@ create vpd-bootlist 4 allot
#include <usb/usb-static.fs>
320 cp
#include <scsi-loader.fs>
+\\ need tpm-static for verbs in disk-labels.fs
+#include <tpm/tpm-static.fs>
#include <root.fs>
360 cp
#include "tree.fs"
@@ -545,7 +545,11 @@ B9E5 CONSTANT GPT-BASIC-DATA-PARTITION-2
\ load from a bootable partition
: load-from-boot-partition ( addr -- size )
debug-disk-label? IF ." Trying DOS boot " .s cr THEN
- dup load-from-dos-boot-partition ?dup 0 <> IF nip EXIT THEN
+ dup load-from-dos-boot-partition ?dup 0 <> IF
+ nip
+ 80 block 200 vtpm-add-bcv
+ EXIT
+ THEN
debug-disk-label? IF ." Trying CHRP boot " .s cr THEN
1 disk-chrp-boot !
@@ -44,6 +44,19 @@ false VALUE vtpm-debug?
THEN
;
+: vtpm-add-bcv ( boodrv addr length -- )
+ vtpm-available? IF
+ tpm-add-bcv ( -- errcode )
+ vtpm-debug? IF
+ ." VTPM: Error code from tpm-add-bootdevice-ipl: " . cr
+ ELSE
+ drop
+ THEN
+ ELSE
+ 3drop
+ THEN
+;
+
1 CONSTANT TPM_ST_ENABLED
2 CONSTANT TPM_ST_ACTIVE
4 CONSTANT TPM_ST_OWNED
This patch adds support for measuring the boot block of the MBR and logging the measurement. Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> --- board-js2x/slof/OF.fs | 2 ++ slof/fs/packages/disk-label.fs | 6 +++++- slof/fs/tpm/tpm-static.fs | 13 +++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-)