MCPcopy Create free account
hub / github.com/coreboot/coreboot / bpdt_fixup_write_buffer

Function bpdt_fixup_write_buffer

util/cbfstool/ifwitool.c:1139–1167  ·  view source on GitHub ↗

Convert all members of BPDT to little-endian format. */

Source from the content-addressed store, hash-verified

1137
1138/* Convert all members of BPDT to little-endian format. */
1139static void bpdt_fixup_write_buffer(struct buffer *buf)
1140{
1141 struct bpdt *s = buffer_get(buf);
1142
1143 struct bpdt_header *h = &s->h;
1144 struct bpdt_entry *e = &s->e[0];
1145
1146 size_t count = h->descriptor_count;
1147
1148 size_t offset = 0;
1149
1150 offset = fix_member(&h->signature, offset, sizeof(h->signature));
1151 offset = fix_member(&h->descriptor_count, offset,
1152 sizeof(h->descriptor_count));
1153 offset = fix_member(&h->bpdt_version, offset, sizeof(h->bpdt_version));
1154 offset = fix_member(&h->xor_redundant_block, offset,
1155 sizeof(h->xor_redundant_block));
1156 offset = fix_member(&h->ifwi_version, offset, sizeof(h->ifwi_version));
1157 offset = fix_member(&h->fit_tool_version, offset,
1158 sizeof(h->fit_tool_version));
1159
1160 uint32_t i;
1161 for (i = 0; i < count; i++) {
1162 offset = fix_member(&e[i].type, offset, sizeof(e[i].type));
1163 offset = fix_member(&e[i].flags, offset, sizeof(e[i].flags));
1164 offset = fix_member(&e[i].offset, offset, sizeof(e[i].offset));
1165 offset = fix_member(&e[i].size, offset, sizeof(e[i].size));
1166 }
1167}
1168
1169/* Write BPDT to output buffer after fixup. */
1170static void bpdt_write(struct buffer *dst, size_t offset, struct buffer *src)

Callers 1

bpdt_writeFunction · 0.85

Calls 2

buffer_getFunction · 0.85
fix_memberFunction · 0.85

Tested by

no test coverage detected