x86: Add a layout for Chrome OS verified boot
authorSimon Glass <sjg@chromium.org>
Wed, 4 Nov 2020 16:57:16 +0000 (09:57 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Thu, 5 Nov 2020 06:58:45 +0000 (14:58 +0800)
Add definitions for part of the vboot context used with verified boot.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
arch/x86/include/asm/acpi/vbnv_layout.h [new file with mode: 0644]

diff --git a/arch/x86/include/asm/acpi/vbnv_layout.h b/arch/x86/include/asm/acpi/vbnv_layout.h
new file mode 100644 (file)
index 0000000..8906552
--- /dev/null
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright 2020 Google LLC
+ */
+
+#ifndef __ASM_ACPI_VBNV_LAYOUT_H__
+#define __ASM_ACPI_VBNV_LAYOUT_H__
+
+#define VBOOT_VBNV_BLOCK_SIZE 16       /* Size of NV storage block in bytes */
+
+/* Constants for NV storage, for use with ACPI */
+#define HEADER_OFFSET                  0
+#define HEADER_MASK                    0xc0
+#define HEADER_SIGNATURE               0x40
+#define HEADER_FIRMWARE_SETTINGS_RESET 0x20
+#define HEADER_KERNEL_SETTINGS_RESET   0x10
+
+#define BOOT_OFFSET                    1
+#define BOOT_DEBUG_RESET_MODE          0x80
+#define BOOT_DISABLE_DEV_REQUEST       0x40
+#define BOOT_DISPLAY_REQUEST           0x20
+#define BOOT_TRY_B_COUNT_MASK          0x0f
+
+#define RECOVERY_OFFSET                        2
+#define LOCALIZATION_OFFSET            3
+
+#define DEV_FLAGS_OFFSET               4
+#define DEV_BOOT_USB_MASK              0x01
+#define DEV_BOOT_SIGNED_ONLY_MASK      0x02
+#define DEV_ENABLE_UDC                 0x40
+
+#define MISC_FLAGS_OFFSET              8
+#define MISC_FLAGS_BATTERY_CUTOFF_MASK 0x08
+
+#define KERNEL_FIELD_OFFSET            11
+#define CRC_OFFSET                     15
+
+#endif /* __ASM_ACPI_VBNV_LAYOUT_H__ */