futility: Prepare to handle kernel partitions & firmware blobs
This adds new file types to prepare for signing kernel partitions
and raw firmware blobs (FW_MAIN_A/B).
BUG=none
BRANCH=ToT
TEST=make runtests
No new functionality yet.
Change-Id: Ic6b6b94bb99f00ab54609dfe1b753b53868abaca
Signed-off-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/219648
Reviewed-by: Randall Spangler <rspangler@chromium.org>
diff --git a/futility/traversal.h b/futility/traversal.h
index 307f819..74c88f5 100644
--- a/futility/traversal.h
+++ b/futility/traversal.h
@@ -10,17 +10,25 @@
/* What type of things do I know how to handle? */
enum futil_file_type {
- FILE_TYPE_UNKNOWN = 0,
+ FILE_TYPE_UNKNOWN,
FILE_TYPE_PUBKEY, /* 1 VbPublicKey */
FILE_TYPE_KEYBLOCK, /* 2 VbKeyBlockHeader */
- FILE_TYPE_FIRMWARE, /* 3 VbFirmwarePreambleHeader */
+ FILE_TYPE_FW_PREAMBLE, /* 3 VbFirmwarePreambleHeader */
FILE_TYPE_GBB, /* 4 GoogleBinaryBlockHeader */
FILE_TYPE_BIOS_IMAGE, /* 5 Chrome OS BIOS image */
FILE_TYPE_OLD_BIOS_IMAGE, /* 6 Old Chrome OS BIOS image */
+ FILE_TYPE_KERN_PREAMBLE, /* 7 VbKernelPreambleHeader */
+
+ /* These are FILE_TYPE_UNKNOWN, but we've been told more about them */
+ FILE_TYPE_RAW_FIRMWARE, /* 8 FW_MAIN_A, etc. */
+ FILE_TYPE_RAW_KERNEL, /* 9 vmlinuz, *.uimg, etc. */
NUM_FILE_TYPES
};
+/* Names for them */
+extern const char * const futil_file_type_str[];
+
/* What are we trying to accomplish? */
enum futil_op_type {
FUTIL_OP_SHOW,
@@ -45,10 +53,17 @@
CB_KEYBLOCK,
CB_GBB,
CB_FW_PREAMBLE,
+ CB_KERN_PREAMBLE,
+ CB_RAW_FIRMWARE,
+ CB_RAW_KERNEL,
NUM_CB_COMPONENTS
};
+/* Names for them */
+extern const char * const futil_cb_component_str[];
+
+
/* Where is the component we're poking at? */
struct cb_area_s {
uint32_t offset; /* to avoid pointer math */