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

Function unlock_descriptor

util/ifdtool/ifdtool.c:1589–1619  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1587}
1588
1589static void unlock_descriptor(const char *filename, char *image, int size)
1590{
1591 struct fmba *fmba = find_fmba(image, size);
1592 if (!fmba)
1593 exit(EXIT_FAILURE);
1594
1595 if (ifd_version >= IFD_VERSION_2) {
1596 /*
1597 * Set all read/write access bits. See comment on
1598 * platform_has_extended_regions() for bitfields.
1599 */
1600 if (platform_has_extended_regions()) {
1601 fmba->flmstr1 = 0xffffffff;
1602 fmba->flmstr2 = 0xffffffff;
1603 fmba->flmstr3 = 0xffffffff;
1604 fmba->flmstr5 = 0xffffffff;
1605 } else {
1606 fmba->flmstr1 = 0xffffff00 | (fmba->flmstr1 & 0xff);
1607 fmba->flmstr2 = 0xffffff00 | (fmba->flmstr2 & 0xff);
1608 fmba->flmstr3 = 0xffffff00 | (fmba->flmstr3 & 0xff);
1609 fmba->flmstr5 = 0xffffff00 | (fmba->flmstr5 & 0xff);
1610 }
1611 } else {
1612 fmba->flmstr1 = 0xffff0000;
1613 fmba->flmstr2 = 0xffff0000;
1614 /* Keep chipset specific Requester ID */
1615 fmba->flmstr3 = 0x08080000 | (fmba->flmstr3 & 0xffff);
1616 }
1617
1618 write_image(filename, image, size);
1619}
1620
1621static void print_gpr0_range(union gprd reg)
1622{

Callers 1

mainFunction · 0.85

Calls 4

find_fmbaFunction · 0.85
exitFunction · 0.85
write_imageFunction · 0.85

Tested by

no test coverage detected