summaryrefslogtreecommitdiff
path: root/firmware/lib/region-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/lib/region-init.c')
-rw-r--r--firmware/lib/region-init.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/firmware/lib/region-init.c b/firmware/lib/region-init.c
index e34a3d15..9e3c2bc3 100644
--- a/firmware/lib/region-init.c
+++ b/firmware/lib/region-init.c
@@ -20,22 +20,14 @@
static VbError_t VbGbbReadData(struct vb2_context *ctx,
uint32_t offset, uint32_t size, void *buf)
{
- struct vb2_shared_data *sd = vb2_get_sd(ctx);
-
- /* This is the old API, for backwards compatibility */
- if (!sd->gbb)
- return VBERROR_INVALID_GBB;
-
- if (offset + size > sd->gbb_size)
+ if (vb2ex_read_resource(ctx, VB2_RES_GBB, offset, buf, size))
return VBERROR_INVALID_GBB;
-
- memcpy(buf, ((uint8_t *)sd->gbb) + offset, size);
return VBERROR_SUCCESS;
}
VbError_t VbGbbReadHWID(struct vb2_context *ctx, char *hwid, uint32_t max_size)
{
- struct vb2_shared_data *sd = vb2_get_sd(ctx);
+ struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
if (!max_size)
return VBERROR_INVALID_PARAMETER;
@@ -44,18 +36,18 @@ VbError_t VbGbbReadHWID(struct vb2_context *ctx, char *hwid, uint32_t max_size)
if (!ctx)
return VBERROR_INVALID_GBB;
- if (0 == sd->gbb->hwid_size) {
+ if (0 == gbb->hwid_size) {
VB2_DEBUG("VbHWID(): invalid hwid size\n");
return VBERROR_SUCCESS; /* oddly enough! */
}
- if (sd->gbb->hwid_size > max_size) {
+ if (gbb->hwid_size > max_size) {
VB2_DEBUG("VbDisplayDebugInfo(): invalid hwid offset/size\n");
return VBERROR_INVALID_PARAMETER;
}
- return VbGbbReadData(ctx, sd->gbb->hwid_offset,
- sd->gbb->hwid_size, hwid);
+ return VbGbbReadData(ctx, gbb->hwid_offset,
+ gbb->hwid_size, hwid);
}
static VbError_t VbGbbReadKey(struct vb2_context *ctx, uint32_t offset,
@@ -86,14 +78,14 @@ static VbError_t VbGbbReadKey(struct vb2_context *ctx, uint32_t offset,
VbError_t VbGbbReadRootKey(struct vb2_context *ctx, VbPublicKey **keyp)
{
- struct vb2_shared_data *sd = vb2_get_sd(ctx);
+ struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
- return VbGbbReadKey(ctx, sd->gbb->rootkey_offset, keyp);
+ return VbGbbReadKey(ctx, gbb->rootkey_offset, keyp);
}
VbError_t VbGbbReadRecoveryKey(struct vb2_context *ctx, VbPublicKey **keyp)
{
- struct vb2_shared_data *sd = vb2_get_sd(ctx);
+ struct vb2_gbb_header *gbb = vb2_get_gbb(ctx);
- return VbGbbReadKey(ctx, sd->gbb->recovery_key_offset, keyp);
+ return VbGbbReadKey(ctx, gbb->recovery_key_offset, keyp);
}