| 1587 | } |
| 1588 | |
| 1589 | static 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 | |
| 1621 | static void print_gpr0_range(union gprd reg) |
| 1622 | { |
no test coverage detected