diff options
author | Kor Nielsen <kor@google.com> | 2018-06-26 14:39:17 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-07-03 18:18:25 -0700 |
commit | d915b701cae9cd6aca74effbec2b99907d7a06c7 (patch) | |
tree | e69f4b82d70dfe613d4aeb2ec490aa3d17f25673 /chip | |
parent | 36a62bd63bb74183c74bf4987ab6ed2af9119fa9 (diff) | |
download | chrome-ec-d915b701cae9cd6aca74effbec2b99907d7a06c7.tar.gz |
Update signed_header.h with additional fields.
BRANCH=none
BUG=None
TEST=make buildall -J
Change-Id: Ic5590bea4577c1d249cb628389fb930ef20fc9d2
Signed-off-by: Kor Nielsen <kor@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1115906
Tested-by: Marius Schilder <mschilder@chromium.org>
Reviewed-by: Marius Schilder <mschilder@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'chip')
-rw-r--r-- | chip/g/signed_header.h | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/chip/g/signed_header.h b/chip/g/signed_header.h index 26a85aebf3..c59909b958 100644 --- a/chip/g/signed_header.h +++ b/chip/g/signed_header.h @@ -45,12 +45,36 @@ struct SignedHeader { uint32_t err_response_; /* action to take when expectation is violated */ uint32_t expect_response_; - /* - * Padding to bring the total structure size to 1K. Note: First 17 - * words of _pad[] may be used by a second FIPS-compliant signature, - * so don't put anything there. - */ - uint32_t _pad[23]; + + union { + // 2nd FIPS signature (gnubby RW / Cr51) + struct { + uint32_t keyid; + uint32_t r[8]; + uint32_t s[8]; + } ext_sig; + + // FLASH trim override (Dauntless RO) + // iff config1_ & 65536 + struct { + uint32_t FSH_SMW_SETTING_OPTION3; + uint32_t FSH_SMW_SETTING_OPTION2; + uint32_t FSH_SMW_SETTING_OPTIONA; + uint32_t FSH_SMW_SETTING_OPTIONB; + uint32_t FSH_SMW_SMP_WHV_OPTION1; + uint32_t FSH_SMW_SMP_WHV_OPTION0; + uint32_t FSH_SMW_SME_WHV_OPTION1; + uint32_t FSH_SMW_SME_WHV_OPTION0; + } fsh; + } u; + + /* Padding to bring the total structure size to 1K. */ + uint32_t _pad[5]; + struct { + unsigned size:12; + unsigned offset:20; + } swap_mark; + /* Field for managing updates between RW product families. */ uint32_t rw_product_family_; /* Board ID type, mask, flags (stored ^SIGNED_HEADER_PADDING) */ |