summaryrefslogtreecommitdiff
path: root/util/signer/common/signed_header.h
diff options
context:
space:
mode:
Diffstat (limited to 'util/signer/common/signed_header.h')
-rw-r--r--util/signer/common/signed_header.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/util/signer/common/signed_header.h b/util/signer/common/signed_header.h
index b6929522d9..53c554e150 100644
--- a/util/signer/common/signed_header.h
+++ b/util/signer/common/signed_header.h
@@ -13,12 +13,16 @@
#define FUSE_IGNORE 0xaaaaaaaa
#define FUSE_MAX 160
+#define INFO_MAX 128
+#define INFO_IGNORE 0xaa3c55c3
+
typedef struct SignedHeader {
#ifdef __cplusplus
SignedHeader() : magic(-1), image_size(0) {
memset(signature, 'S', sizeof(signature));
memset(tag, 'T', sizeof(tag));
memset(fusemap, 0, sizeof(fusemap));
+ memset(infomap, 0, sizeof(infomap));
memset(_pad, 0xdd, sizeof(_pad));
}
@@ -26,6 +30,11 @@ typedef struct SignedHeader {
assert(n < FUSE_MAX);
fusemap[n / 32] |= 1 << (n & 31);
}
+
+ void markInfo(uint32_t n) {
+ assert(n < INFO_MAX);
+ infomap[n / 32] |= 1 << (n & 31);
+ }
#endif // __cplusplus
uint32_t magic; // -1
@@ -38,7 +47,8 @@ typedef struct SignedHeader {
uint32_t rx_base;
uint32_t rx_max;
uint32_t fusemap[FUSE_MAX / (8 * sizeof(uint32_t))];
- uint32_t _pad[256 - 1 - 96 - 7 - 6*1 - 5];
+ uint32_t infomap[INFO_MAX / (8 * sizeof(uint32_t))];
+ uint32_t _pad[256 - 1 - 96 - 7 - 6*1 - 5 - 4];
} SignedHeader;
#ifdef __cplusplus