diff options
Diffstat (limited to 'firmware/include/region.h')
-rw-r--r-- | firmware/include/region.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/firmware/include/region.h b/firmware/include/region.h new file mode 100644 index 00000000..78e1dba0 --- /dev/null +++ b/firmware/include/region.h @@ -0,0 +1,55 @@ +/* Copyright (c) 2013 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. + * + * Access to portions of the firmware image, perhaps later to be expanded + * to other devices. + */ + +#ifndef VBOOT_REFERENCE_REGION_H_ +#define VBOOT_REFERENCE_REGION_H_ + +#include "bmpblk_header.h" +#include "gbb_header.h" +#include "vboot_api.h" +#include "vboot_struct.h" + +/* The maximum length of a hardware ID */ +#define VB_REGION_HWID_LEN 256 + +/** + * Read data from a region + * + * @param cparams Vboot common parameters + * @param region Region number to read + * @param offset Offset within region to start reading + * @param size Size of data to read + * @param buf Buffer to put the data into + * @return VBERROR_... error, VBERROR_SUCCESS on success, + */ +VbError_t VbRegionReadData(VbCommonParams *cparams, + enum vb_firmware_region region, uint32_t offset, + uint32_t size, void *buf); + +/** + * Check the version of the GBB and print debug information if valid + * + * @param cparams Vboot common parameters + */ +void VbRegionCheckVersion(VbCommonParams *cparams); + +/** + * Read the hardware ID from the GBB + * + * @param cparams Vboot common parameters + * @param hwid Place to put HWID, which will be null-terminated + * @param max_size Maximum size of HWID including terminated null + * character (suggest VB_REGION_HWID_LEN). If this size + * it too small then VBERROR_INVALID_PARAMETER is + * returned. + * @return VBERROR_... error, VBERROR_SUCCESS on success, + */ +VbError_t VbRegionReadHWID(VbCommonParams *cparams, char *hwid, + uint32_t max_size); + +#endif /* VBOOT_REFERENCE_REGION_H_ */ |