4bfbabdb54
This patch adds support for the new CONFIG_CBFS_VERIFICATION feature to cbfstool. When CBFS verification is enabled, cbfstool must automatically add a hash attribute to every CBFS file it adds (with a handful of exceptions like bootblock and "header" pseudofiles that are never read by coreboot code itself). It must also automatically update the metadata hash that is embedded in the bootblock code. It will automatically find the metadata hash by scanning the bootblock for its magic number and use its presence to auto-detect whether CBFS verification is enabled for an image (and which hash algorithm to use). Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I61a84add8654f60c683ef213b844a11b145a5cb7 Reviewed-on: https://review.coreboot.org/c/coreboot/+/41121 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
27 lines
586 B
C
27 lines
586 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
|
|
#ifndef _CBFS_GLUE_H_
|
|
#define _CBFS_GLUE_H_
|
|
|
|
#include "cbfs_image.h"
|
|
|
|
#define CBFS_ENABLE_HASHING 1
|
|
|
|
typedef const struct cbfs_image *cbfs_dev_t;
|
|
|
|
static inline ssize_t cbfs_dev_read(cbfs_dev_t dev, void *buffer, size_t offset, size_t size)
|
|
{
|
|
if (buffer_size(&dev->buffer) < offset ||
|
|
buffer_size(&dev->buffer) - offset < size)
|
|
return -1;
|
|
|
|
memcpy(buffer, buffer_get(&dev->buffer) + offset, size);
|
|
return size;
|
|
}
|
|
|
|
static inline size_t cbfs_dev_size(cbfs_dev_t dev)
|
|
{
|
|
return buffer_size(&dev->buffer);
|
|
}
|
|
|
|
#endif /* _CBFS_GLUE_H_ */
|