From 42f57403aee12cebfcf314d2f9fa9cd00cb5aae2 Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Fri, 5 May 2017 15:50:32 -0700 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/497933 Reviewed-by: Randall Spangler --- firmware/include/vboot_struct.h | 4 +++- firmware/lib20/include/vb2_struct.h | 7 ++++--- 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 -- cgit v1.2.1