From 774dcffc369989b70595e27dc96ee191bd48e34f Mon Sep 17 00:00:00 2001 From: Edward O'Callaghan Date: Mon, 6 Jun 2022 20:01:04 +1000 Subject: util/cbfstool: Decouple elogtool from vboot_ref flashrom code Currently elogtool sub-proccesses flashrom as calling libflashrom requires a missing function from the previous flashrom release. Pending a new release of flashrom we must continue to use subprocess. However the current subprocess wrapper implementation lives in vboot_reference which is a git sub-module of coreboot. This causes all sorts of grief keeping a subprocess ABI stable from vboot_reference when the rest of vboot_reference builds of HEAD of the flashrom tree (i.e., using unreleased libflashrom functions). In order to not keep finding ourseleves in a bind between the two separately moving trees with different build environments, decouple elogtool with its own mini copy of flashrom subprocess wrapping logic. Squash in, util/cbfstool/elogtool.c: Convert args into struct in flashrom helper vboot signatures for flashrom r/w helpers changed in the upstream commit bd2971326ee94fc5. Reflect the change here to allow vboot ref and coreboot to realign. BUG=b:207808292,b:231152447 TEST=builds with vboot_ref uprev. Change-Id: I04925e4d9a44b52e4a6fb6f9cec332cab2c7c725 Signed-off-by: Edward O'Callaghan Reviewed-on: https://review.coreboot.org/c/coreboot/+/65055 Tested-by: build bot (Jenkins) Reviewed-by: Julius Werner --- util/cbfstool/flashrom.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 util/cbfstool/flashrom.h (limited to 'util/cbfstool/flashrom.h') diff --git a/util/cbfstool/flashrom.h b/util/cbfstool/flashrom.h new file mode 100644 index 000000000000..0db2194973dc --- /dev/null +++ b/util/cbfstool/flashrom.h @@ -0,0 +1,33 @@ +/* Copyright 2020 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + * + * Host utilities to execute flashrom command. + */ + +#include +#include "common.h" /* from cbfstool for buffer API. */ + +/** + * Read using flashrom into an allocated buffer. + * + * @param buffer The parameter that contains the buffer to use + * in the read operation. + * @param region The name of the fmap region to read, or NULL to + * read the entire flash chip. + * + * @return 0 on success, or < 0 on error. + */ +int flashrom_host_read(struct buffer *buffer, const char *region); + +/** + * Write using flashrom from a buffer. + * + * @param buffer The parameter that contains the buffer to use + * in the write operation. + * @param regions The name of the fmap region to write, or NULL to + * write the entire flash chip. + * + * @return 0 on success, or < 0 on error. + */ +int flashrom_host_write(struct buffer *buffer, const char *region); -- cgit v1.2.3