summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@google.com>2017-05-05 15:50:32 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-05-08 12:40:52 -0700
commit42f57403aee12cebfcf314d2f9fa9cd00cb5aae2 (patch)
tree8bb520d05fd9cefeceb3e635abedae516bc48d6a
parenteab2668a1a549e15f549511075fb0c6a9a4f6353 (diff)
downloadvboot-42f57403aee12cebfcf314d2f9fa9cd00cb5aae2.tar.gz
vboot: Add multiboot kernel type
Add a kernel type for signing multiboot kernel images. BUG=b:38040849 BRANCH=none TEST=properly sign a multiboot kernel image and then verify the resulting image. Change-Id: If00e7c85244bc59853c305e42543f34c5fabf356 Signed-off-by: Duncan Laurie <dlaurie@google.com> Reviewed-on: https://chromium-review.googlesource.com/497933 Reviewed-by: Randall Spangler <rspangler@chromium.org>
-rw-r--r--firmware/include/vboot_struct.h4
-rw-r--r--firmware/lib20/include/vb2_struct.h7
2 files changed, 7 insertions, 4 deletions
diff --git a/firmware/include/vboot_struct.h b/firmware/include/vboot_struct.h
index 6be7256a..08910d13 100644
--- a/firmware/include/vboot_struct.h
+++ b/firmware/include/vboot_struct.h
@@ -176,7 +176,9 @@ typedef struct VbKernelPreambleHeader {
* Flags passed in by the signer. Readers should return 0 for header
* version < 2.2. Flags field is currently defined as:
* [31:2] - Reserved (for future use)
- * [1:0] - Kernel image type (0b00 - CrOS, 0b01 - bootimg)
+ * [1:0] - Kernel image type (0b00 - CrOS,
+ * 0b01 - bootimg,
+ * 0b10 - multiboot)
*/
uint32_t flags;
} __attribute__((packed)) VbKernelPreambleHeader;
diff --git a/firmware/lib20/include/vb2_struct.h b/firmware/lib20/include/vb2_struct.h
index 4f5d9995..b409376a 100644
--- a/firmware/lib20/include/vb2_struct.h
+++ b/firmware/lib20/include/vb2_struct.h
@@ -192,9 +192,10 @@ struct vb2_fw_preamble {
/* Flags for vb2_kernel_preamble.flags */
/* Kernel image type = bits 1:0 */
#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_MASK 0x00000003
-#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_CROS 0
-#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_BOOTIMG 1
-/* Kernel types 2,3 are reserved for future use */
+#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_CROS 0
+#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_BOOTIMG 1
+#define VB2_KERNEL_PREAMBLE_KERNEL_TYPE_MULTIBOOT 2
+/* Kernel type 3 is reserved for future use */
/*
* Preamble block for kernel, version 2.2