summaryrefslogtreecommitdiff
path: root/firmware/include/region.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/include/region.h')
-rw-r--r--firmware/include/region.h55
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_ */