diff options
author | Jack Rosenthal <jrosenth@chromium.org> | 2020-05-27 09:12:24 -0600 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-06-09 16:31:00 +0000 |
commit | 9a923c7dba003a5ddbc55937469c975689effa62 (patch) | |
tree | a693fb4906d0ebb8b53e40a5747a18d6bcf2d099 | |
parent | 15651696684fce77f2e978c03342f3fe80fc546b (diff) | |
download | vboot-9a923c7dba003a5ddbc55937469c975689effa62.tar.gz |
crossystem: arm: switch to VBNV using flashrom from mosysstabilize-lazor-13278.B
Most ARM platforms will store VBNV in SPI flash by calling out to
mosys, which in turn calls out to flashrom.
The set of parent CLs to this commit port this functionality from
mosys directly to vboot's host libraries. This CL switches to use the
new functionality.
(The CL to switch is provided as a separate CL for ARM only so it's an
easy and clean revert should something go wrong.)
BUG=chromium:1032351,chromium:1030473,chromium:789276
BRANCH=none
TEST=On scarlet, read and write VBNV using crossystem
Signed-off-by: Jack Rosenthal <jrosenth@chromium.org>
Change-Id: I1949522b665170ebeb35f3c46177f1957980d6a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2218891
Reviewed-by: Joel Kitching <kitching@chromium.org>
-rw-r--r-- | host/arch/arm/lib/crossystem_arch.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/host/arch/arm/lib/crossystem_arch.c b/host/arch/arm/lib/crossystem_arch.c index 43a59cf2..579be85d 100644 --- a/host/arch/arm/lib/crossystem_arch.c +++ b/host/arch/arm/lib/crossystem_arch.c @@ -431,11 +431,13 @@ int vb2_read_nv_storage(struct vb2_context *ctx) if (!FdtPropertyExist(FDT_NVSTORAGE_TYPE_PROP)) return vb2_read_nv_storage_disk(ctx); media = ReadFdtString(FDT_NVSTORAGE_TYPE_PROP); + if (!strcmp(media, "flash")) + return vb2_read_nv_storage_flashrom(ctx); if (!strcmp(media, "disk")) return vb2_read_nv_storage_disk(ctx); - if (!strcmp(media, "cros-ec") || !strcmp(media, "mkbp") || - !strcmp(media, "flash")) + if (!strcmp(media, "cros-ec")) return vb2_read_nv_storage_mosys(ctx); + fprintf(stderr, "Unsupported NVRAM storage type: %s\n", media); return -1; } @@ -447,11 +449,13 @@ int vb2_write_nv_storage(struct vb2_context *ctx) if (!FdtPropertyExist(FDT_NVSTORAGE_TYPE_PROP)) return vb2_write_nv_storage_disk(ctx); media = ReadFdtString(FDT_NVSTORAGE_TYPE_PROP); + if (!strcmp(media, "flash")) + return vb2_write_nv_storage_flashrom(ctx); if (!strcmp(media, "disk")) return vb2_write_nv_storage_disk(ctx); - if (!strcmp(media, "cros-ec") || !strcmp(media, "mkbp") || - !strcmp(media, "flash")) + if (!strcmp(media, "cros-ec")) return vb2_write_nv_storage_mosys(ctx); + fprintf(stderr, "Unsupported NVRAM storage type: %s\n", media); return -1; } |