blob: 57b472291a66bc6211c7efbd3e533493dfb43ce9 [file] [log] [blame]
From 4465e159649aeebdcadb035f4a576331b7938449 Mon Sep 17 00:00:00 2001
From: David Pursell <dpursell@google.com>
Date: Fri, 8 Dec 2023 10:24:12 -0800
Subject: [PATCH] [vim3] fixup Firmware SDK
Change-Id: Ibc20e95cc572839dbb777c0d6709ec392ea6d076
---
.../arch/arm64/sysroot/include/zircon/hw/gpt.h | 10 ++++++----
.../firmware_sdk/pkg/abr/include/lib/abr/sysdeps.h | 6 +++++-
lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_cmdline.c | 6 ++++--
.../firmware_sdk/pkg/avb/libavb/avb_slot_verify.c | 3 ++-
lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps.h | 4 +++-
.../firmware_sdk/pkg/avb/libavb/avb_sysdeps_posix.c | 7 +++----
.../pkg/zbi-format/include/lib/zbi-format/board.h | 3 ++-
.../pkg/zbi-format/include/lib/zbi-format/cpu.h | 3 ++-
.../zbi-format/include/lib/zbi-format/driver-config.h | 3 ++-
.../pkg/zbi-format/include/lib/zbi-format/kernel.h | 3 ++-
.../pkg/zbi-format/include/lib/zbi-format/memory.h | 3 ++-
.../pkg/zbi-format/include/lib/zbi-format/zbi.h | 3 ++-
lib/fuchsia/firmware_sdk/pkg/zbi/zbi.c | 4 +++-
13 files changed, 38 insertions(+), 20 deletions(-)
diff --git a/lib/fuchsia/firmware_sdk/arch/arm64/sysroot/include/zircon/hw/gpt.h b/lib/fuchsia/firmware_sdk/arch/arm64/sysroot/include/zircon/hw/gpt.h
index 3aecdeba763..1bf4a8dd4ab 100644
--- a/lib/fuchsia/firmware_sdk/arch/arm64/sysroot/include/zircon/hw/gpt.h
+++ b/lib/fuchsia/firmware_sdk/arch/arm64/sysroot/include/zircon/hw/gpt.h
@@ -5,14 +5,16 @@
#ifndef ZIRCON_HW_GPT_H_
#define ZIRCON_HW_GPT_H_
-#include <assert.h>
-#include <stdbool.h>
-#include <stdint.h>
+// Modified for VIM3.
+#include <common.h>
+#include <part_efi.h>
+
#include <zircon/compiler.h>
#define GPT_MAGIC (0x5452415020494645ull) // 'EFI PART'
#define GPT_HEADER_SIZE 0x5c
-#define GPT_ENTRY_SIZE 0x80
+// Modified for VIM3 - already defined in part_efi.h.
+// #define GPT_ENTRY_SIZE 0x80
#define GPT_GUID_LEN 16
#define GPT_GUID_STRLEN 37
#define GPT_NAME_LEN 72
diff --git a/lib/fuchsia/firmware_sdk/pkg/abr/include/lib/abr/sysdeps.h b/lib/fuchsia/firmware_sdk/pkg/abr/include/lib/abr/sysdeps.h
index 45980d1bcc1..9bac61c347a 100644
--- a/lib/fuchsia/firmware_sdk/pkg/abr/include/lib/abr/sysdeps.h
+++ b/lib/fuchsia/firmware_sdk/pkg/abr/include/lib/abr/sysdeps.h
@@ -10,7 +10,8 @@
* need to define some standard types and implement the abr_* functions declared
* below.
*/
-#define LIBABR_USE_STDLIB_DEPS 1
+// Modified for VIM3.
+#define LIBABR_USE_STDLIB_DEPS 0
#if LIBABR_USE_STDLIB_DEPS
#include <stdbool.h>
@@ -21,6 +22,9 @@
#include <string.h>
#endif /* LIBABR_USE_STDLIB_DEPS */
+// Modified for VIM3.
+#include <common.h>
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_cmdline.c b/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_cmdline.c
index 5773a201954..aee1b8e1b48 100644
--- a/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_cmdline.c
+++ b/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_cmdline.c
@@ -216,7 +216,8 @@ AvbSlotVerifyResult avb_append_options(
AvbHashtreeErrorMode hashtree_error_mode,
AvbHashtreeErrorMode resolved_hashtree_error_mode) {
AvbSlotVerifyResult ret;
- const char* verity_mode;
+ // Modified for VIM3.
+ const char* verity_mode = NULL;
bool is_device_unlocked;
AvbIOResult io_ret;
@@ -318,7 +319,8 @@ AvbSlotVerifyResult avb_append_options(
if (toplevel_vbmeta->flags & AVB_VBMETA_IMAGE_FLAGS_HASHTREE_DISABLED) {
verity_mode = "disabled";
} else {
- const char* dm_verity_mode;
+ // Modified for VIM3.
+ const char* dm_verity_mode = NULL;
char* new_ret;
switch (resolved_hashtree_error_mode) {
diff --git a/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_slot_verify.c b/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_slot_verify.c
index 6a2745aed86..d7f37408ce9 100644
--- a/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_slot_verify.c
+++ b/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_slot_verify.c
@@ -1368,7 +1368,8 @@ AvbSlotVerifyResult avb_slot_verify(AvbOps* ops,
AvbSlotVerifyFlags flags,
AvbHashtreeErrorMode hashtree_error_mode,
AvbSlotVerifyData** out_data) {
- AvbSlotVerifyResult ret;
+ // Modified for VIM3.
+ AvbSlotVerifyResult ret = AVB_SLOT_VERIFY_RESULT_ERROR_VERIFICATION;
AvbSlotVerifyData* slot_data = NULL;
AvbAlgorithmType algorithm_type = AVB_ALGORITHM_TYPE_NONE;
bool using_boot_for_vbmeta = false;
diff --git a/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps.h b/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps.h
index e511a8ade2e..ae9932cf471 100644
--- a/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps.h
+++ b/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps.h
@@ -41,7 +41,9 @@ extern "C" {
#include <inttypes.h>
#include <stdbool.h>
#include <stddef.h>
-#include <stdint.h>
+
+// Modified for VIM3.
+#include <common.h>
/* If you don't have gcc or clang, these attribute macros may need to
* be adjusted.
diff --git a/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps_posix.c b/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps_posix.c
index e26c3efffc0..7d6a5cfafb9 100644
--- a/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps_posix.c
+++ b/lib/fuchsia/firmware_sdk/pkg/avb/libavb/avb_sysdeps_posix.c
@@ -22,11 +22,9 @@
* SOFTWARE.
*/
-#include <endian.h>
+// Modified for VIM3.
#include <stdarg.h>
-#include <stdio.h>
#include <stdlib.h>
-#include <string.h>
#include "avb_sysdeps.h"
@@ -55,7 +53,8 @@ size_t avb_strlen(const char* str) {
}
void avb_abort(void) {
- abort();
+ // Modified for VIM3.
+ panic("avb abort\n");
}
void avb_print(const char* message) {
diff --git a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/board.h b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/board.h
index 09d08487bc3..1060e417949 100644
--- a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/board.h
+++ b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/board.h
@@ -9,7 +9,8 @@
#ifndef LIB_ZBI_FORMAT_BOARD_H_
#define LIB_ZBI_FORMAT_BOARD_H_
-#include <stdint.h>
+// Modified for VIM3.
+#include <common.h>
#if defined(__cplusplus)
extern "C" {
diff --git a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/cpu.h b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/cpu.h
index 5aa09d631af..2c955d64fc9 100644
--- a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/cpu.h
+++ b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/cpu.h
@@ -9,7 +9,8 @@
#ifndef LIB_ZBI_FORMAT_CPU_H_
#define LIB_ZBI_FORMAT_CPU_H_
-#include <stdint.h>
+// Modified for VIM3.
+#include <common.h>
#if defined(__cplusplus)
extern "C" {
diff --git a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/driver-config.h b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/driver-config.h
index 0a59341b378..57afc13013b 100644
--- a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/driver-config.h
+++ b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/driver-config.h
@@ -9,7 +9,8 @@
#ifndef LIB_ZBI_FORMAT_DRIVER_CONFIG_H_
#define LIB_ZBI_FORMAT_DRIVER_CONFIG_H_
-#include <stdint.h>
+// Modified for VIM3.
+#include <common.h>
#if defined(__cplusplus)
extern "C" {
diff --git a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/kernel.h b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/kernel.h
index bad7e67a72d..d81e0aa7cc0 100644
--- a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/kernel.h
+++ b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/kernel.h
@@ -9,7 +9,8 @@
#ifndef LIB_ZBI_FORMAT_KERNEL_H_
#define LIB_ZBI_FORMAT_KERNEL_H_
-#include <stdint.h>
+// Modified for VIM3.
+#include <common.h>
#if defined(__cplusplus)
extern "C" {
diff --git a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/memory.h b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/memory.h
index 8db1094c727..ab04783523f 100644
--- a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/memory.h
+++ b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/memory.h
@@ -9,7 +9,8 @@
#ifndef LIB_ZBI_FORMAT_MEMORY_H_
#define LIB_ZBI_FORMAT_MEMORY_H_
-#include <stdint.h>
+// Modified for VIM3.
+#include <common.h>
#if defined(__cplusplus)
extern "C" {
diff --git a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/zbi.h b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/zbi.h
index 8f25fc8c9a4..ee39bc81c9c 100644
--- a/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/zbi.h
+++ b/lib/fuchsia/firmware_sdk/pkg/zbi-format/include/lib/zbi-format/zbi.h
@@ -9,7 +9,8 @@
#ifndef LIB_ZBI_FORMAT_ZBI_H_
#define LIB_ZBI_FORMAT_ZBI_H_
-#include <stdint.h>
+// Modified for VIM3.
+#include <common.h>
#if defined(__cplusplus)
extern "C" {
diff --git a/lib/fuchsia/firmware_sdk/pkg/zbi/zbi.c b/lib/fuchsia/firmware_sdk/pkg/zbi/zbi.c
index 4e6cd6724b6..11d09890dfa 100644
--- a/lib/fuchsia/firmware_sdk/pkg/zbi/zbi.c
+++ b/lib/fuchsia/firmware_sdk/pkg/zbi/zbi.c
@@ -4,7 +4,9 @@
#include <lib/zbi/zbi.h>
#include <stdbool.h>
-#include <string.h>
+
+// Modified for VIM3.
+#include <common.h>
// At most, a ZBI container can be the header + 32 bits of length.
#define MAX_CONTAINER_SIZE (sizeof(zbi_header_t) + 0xFFFFFFFFull)
--
2.43.0.472.g3155946c3a-goog