From 32a999d2c0e5bf8a1c0f6141d3db77a1dcc6f5af Mon Sep 17 00:00:00 2001 From: Dan Ehrenberg Date: Fri, 21 Nov 2014 15:44:05 -0800 Subject: [PATCH] vboot: Move IsEntryUnused to gpt_misc Over in depthcharge, IsEntryUnused will be useful for presenting the partition table to the kernel. This patch moves that function to gpt_misc.[ch] for export to depthcharge. TEST=Booted a kernel on NAND with all this compiled in TEST=make runtests passed BRANCH=none BUG=none Signed-off-by: Dan Ehrenberg Change-Id: I56445d1a420fec4d8385ddffc5469b7d77eab576 Reviewed-on: https://chromium-review.googlesource.com/231455 Reviewed-by: Bill Richardson Commit-Queue: Daniel Ehrenberg Tested-by: Daniel Ehrenberg --- Makefile | 6 ++++++ firmware/include/gpt_misc.h | 6 ++++++ firmware/lib/cgptlib/cgptlib_internal.c | 6 ------ firmware/lib/cgptlib/include/cgptlib_internal.h | 5 ----- firmware/lib/gpt_misc.c | 5 +++++ 5 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 3ee3abfd32..77127ded9d 100644 --- a/Makefile +++ b/Makefile @@ -417,12 +417,15 @@ HOSTLIB_SRCS = \ firmware/lib/cgptlib/cgptlib_internal.c \ firmware/lib/cgptlib/crc32.c \ firmware/lib/crc8.c \ + firmware/lib/gpt_misc.c \ firmware/lib/tpm_lite/tlcl.c \ firmware/lib/utility_string.c \ firmware/lib/vboot_nvstorage.c \ firmware/stub/tpm_lite_stub.c \ firmware/stub/utility_stub.c \ + firmware/stub/vboot_api_stub_disk.c \ firmware/stub/vboot_api_stub_init.c \ + firmware/stub/vboot_api_stub_sf.c \ futility/dump_kernel_config_lib.c \ host/arch/${ARCH}/lib/crossystem_arch.c \ host/lib/crossystem.c \ @@ -445,7 +448,10 @@ TINYHOSTLIB_SRCS = \ cgpt/cgpt_prioritize.c \ firmware/lib/cgptlib/cgptlib_internal.c \ firmware/lib/cgptlib/crc32.c \ + firmware/lib/gpt_misc.c \ firmware/lib/utility_string.c \ + firmware/stub/vboot_api_stub_disk.c \ + firmware/stub/vboot_api_stub_sf.c \ firmware/stub/utility_stub.c \ futility/dump_kernel_config_lib.c diff --git a/firmware/include/gpt_misc.h b/firmware/include/gpt_misc.h index e15f7dc81d..0618069603 100644 --- a/firmware/include/gpt_misc.h +++ b/firmware/include/gpt_misc.h @@ -6,6 +6,7 @@ #ifndef VBOOT_REFERENCE_CGPT_MISC_H_ #define VBOOT_REFERENCE_CGPT_MISC_H_ +#include "gpt.h" #include "vboot_api.h" enum { @@ -148,4 +149,9 @@ int AllocAndReadGptData(VbExDiskHandle_t disk_handle, GptData *gptdata); */ int WriteAndFreeGptData(VbExDiskHandle_t disk_handle, GptData *gptdata); +/** + * Return 1 if the entry is unused, 0 if it is used. + */ +int IsUnusedEntry(const GptEntry *e); + #endif /* VBOOT_REFERENCE_CGPT_MISC_H_ */ diff --git a/firmware/lib/cgptlib/cgptlib_internal.c b/firmware/lib/cgptlib/cgptlib_internal.c index e7bb2e6087..5e2889c6c6 100644 --- a/firmware/lib/cgptlib/cgptlib_internal.c +++ b/firmware/lib/cgptlib/cgptlib_internal.c @@ -141,12 +141,6 @@ int CheckHeader(GptHeader *h, int is_secondary, return 0; } -int IsUnusedEntry(const GptEntry *e) -{ - static Guid zero = {{{0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0}}}}; - return !Memcmp(&zero, (const uint8_t*)(&e->type), sizeof(zero)); -} - int IsKernelEntry(const GptEntry *e) { static Guid chromeos_kernel = GPT_ENT_TYPE_CHROMEOS_KERNEL; diff --git a/firmware/lib/cgptlib/include/cgptlib_internal.h b/firmware/lib/cgptlib/include/cgptlib_internal.h index 8dc0591451..f88bc567b0 100644 --- a/firmware/lib/cgptlib/include/cgptlib_internal.h +++ b/firmware/lib/cgptlib/include/cgptlib_internal.h @@ -148,11 +148,6 @@ void SetEntrySuccessful(GptEntry *e, int successful); void SetEntryPriority(GptEntry *e, int priority); void SetEntryTries(GptEntry *e, int tries); -/** - * Return 1 if the entry is unused, 0 if it is used. - */ -int IsUnusedEntry(const GptEntry *e); - /** * Return 1 if the entry is a Chrome OS kernel partition, else 0. */ diff --git a/firmware/lib/gpt_misc.c b/firmware/lib/gpt_misc.c index 975e853b6e..c16d47299f 100644 --- a/firmware/lib/gpt_misc.c +++ b/firmware/lib/gpt_misc.c @@ -185,3 +185,8 @@ fail: return ret; } +int IsUnusedEntry(const GptEntry *e) +{ + static Guid zero = {{{0, 0, 0, 0, 0, {0, 0, 0, 0, 0, 0}}}}; + return !Memcmp(&zero, (const uint8_t*)(&e->type), sizeof(zero)); +}