1 /* Copyright (c) 2013 The Chromium OS Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 * 5 * Access to portions of the firmware image, perhaps later to be expanded 6 * to other devices. 7 */ 8 9 #ifndef VBOOT_REFERENCE_REGION_H_ 10 #define VBOOT_REFERENCE_REGION_H_ 11 12 #include "bmpblk_header.h" 13 #include "gbb_header.h" 14 #include "vboot_api.h" 15 #include "vboot_struct.h" 16 17 /* The maximum length of a hardware ID */ 18 #define VB_REGION_HWID_LEN 256 19 20 /** 21 * Read data from a region 22 * 23 * @param cparams Vboot common parameters 24 * @param region Region number to read 25 * @param offset Offset within region to start reading 26 * @param size Size of data to read 27 * @param buf Buffer to put the data into 28 * @return VBERROR_... error, VBERROR_SUCCESS on success, 29 */ 30 VbError_t VbRegionReadData(VbCommonParams *cparams, 31 enum vb_firmware_region region, uint32_t offset, 32 uint32_t size, void *buf); 33 34 /** 35 * Check the version of the GBB and print debug information if valid 36 * 37 * @param cparams Vboot common parameters 38 */ 39 void VbRegionCheckVersion(VbCommonParams *cparams); 40 41 /** 42 * Read the hardware ID from the GBB 43 * 44 * @param cparams Vboot common parameters 45 * @param hwid Place to put HWID, which will be null-terminated 46 * @param max_size Maximum size of HWID including terminated null 47 * character (suggest VB_REGION_HWID_LEN). If this size 48 * it too small then VBERROR_INVALID_PARAMETER is 49 * returned. 50 * @return VBERROR_... error, VBERROR_SUCCESS on success, 51 */ 52 VbError_t VbRegionReadHWID(VbCommonParams *cparams, char *hwid, 53 uint32_t max_size); 54 55 #endif /* VBOOT_REFERENCE_REGION_H_ */ 56