| #
689dcfe0 |
| 28-Sep-2025 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "xl/corrupted-gpt" into integration
* changes: feat(arm): implement arm platform GPT logging feat(docs): platform hook to log GPT corruption feat(guid-partition): plat
Merge changes from topic "xl/corrupted-gpt" into integration
* changes: feat(arm): implement arm platform GPT logging feat(docs): platform hook to log GPT corruption feat(guid-partition): platform hook to log corrupted GPT
show more ...
|
| #
3537dad5 |
| 16-Jul-2025 |
Xialin Liu <xialin.liu@arm.com> |
feat(guid-partition): platform hook to log corrupted GPT
Notification of the GPT corruption can be beneficial, using the handoff structure from BL2 to BL32 for logging the GPT corruption information
feat(guid-partition): platform hook to log corrupted GPT
Notification of the GPT corruption can be beneficial, using the handoff structure from BL2 to BL32 for logging the GPT corruption information
Change-Id: Ie1af7eb6d97ec76f3f6d1cffad292782bdedda21 Signed-off-by: Xialin Liu <xialin.liu@arm.com>
show more ...
|
| #
4d913df8 |
| 13-Apr-2025 |
Yann Gautier <yann.gautier@st.com> |
Merge "fix(guid-partition): fix MBR header load" into integration
|
| #
2fac89d1 |
| 26-Sep-2024 |
Bogdan Roman <bogdan-gabriel.roman@nxp.com> |
fix(guid-partition): fix MBR header load
In the case of GPT, the UEFI specification requires that the PMBR (Protective MBR) partition table contain one partition record, which starts at LBA 1, conta
fix(guid-partition): fix MBR header load
In the case of GPT, the UEFI specification requires that the PMBR (Protective MBR) partition table contain one partition record, which starts at LBA 1, containing the GPT Header. Hence, the field 'first_lba' of the first partition table entry of the PMBR should always be set to 1 when GPT is used. However, this is not the case for plain MBR.
The function load_mbr_header() should also work for plain MBR partitioning, so the check 'if (tmp.first_lba != 1)' has been relocated.
Change-Id: Iad990e61b2186c21f942537dfd140ed0e023ac4c Signed-off-by: Bogdan Roman <bogdan-gabriel.roman@nxp.com> Signed-off-by: Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
show more ...
|
| #
a0089549 |
| 27-Mar-2025 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(guid-partition): initialise the mbr_entry variable" into integration
|
| #
ec48d52e |
| 19-Mar-2025 |
Boyan Karatotev <boyan.karatotev@arm.com> |
fix(guid-partition): initialise the mbr_entry variable
The compiler complains that it may be used unitialised. Give it some confidence that won't be the case.
Change-Id: I14bddd48e4b205121415025175
fix(guid-partition): initialise the mbr_entry variable
The compiler complains that it may be used unitialised. Give it some confidence that won't be the case.
Change-Id: I14bddd48e4b205121415025175f157b92a89aa26 Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
|
| #
4b9be5ab |
| 04-Jul-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "fix(guid-partition): fix unaligned access in load_mbr_header()" into integration
|
| #
21a77e08 |
| 04-Jul-2024 |
Chris Webb <chris@arachsys.com> |
fix(guid-partition): fix unaligned access in load_mbr_header()
load_mbr_header() casts an unaligned pointer to (mbr_entry_t *) then dereferences struct members with non-trivial alignment requirement
fix(guid-partition): fix unaligned access in load_mbr_header()
load_mbr_header() casts an unaligned pointer to (mbr_entry_t *) then dereferences struct members with non-trivial alignment requirements.
This causes a bl2 with BOOT_DEVICE=emmc to hang when compiled with clang 18.1.5, although it works when compiled with gcc 14.1.0. Presumably gcc's -mstrict-align papers over the undefined behaviour whereas clang's doesn't.
Replace the unaligned cast with a safe memcpy() into an mbr_entry_t.
Signed-off-by: Chris Webb <chris@arachsys.com> Change-Id: Iefd4dac7e390ddf369b8dacdbaf14e599118f91d
show more ...
|
| #
57249e77 |
| 19-Mar-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge "refactor(guid-partition): list.entry_count to unsigned int" into integration
|
| #
ce574314 |
| 29-Feb-2024 |
laurenw-arm <lauren.wehrmeister@arm.com> |
refactor(guid-partition): list.entry_count to unsigned int
Change list.entry_count to unsigned int to align with header.list_num, removing the need for casting.
Change-Id: Id4259d9e841c8d34fe23fb74
refactor(guid-partition): list.entry_count to unsigned int
Change list.entry_count to unsigned int to align with header.list_num, removing the need for casting.
Change-Id: Id4259d9e841c8d34fe23fb74a7c627f2a643cbf2 Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
show more ...
|
| #
bd435c52 |
| 04-Mar-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "topics/fwu_metadata_v2_migration" into integration
* changes: style(fwu): change the metadata fields to align with specification style(partition): use GUID values for G
Merge changes from topic "topics/fwu_metadata_v2_migration" into integration
* changes: style(fwu): change the metadata fields to align with specification style(partition): use GUID values for GPT partition fields feat(st): add logic to boot the platform from an alternate bank feat(st): add a function to clear the FWU trial state counter feat(fwu): add a function to obtain an alternate FWU bank to boot feat(fwu): add some sanity checks for the FWU metadata feat(fwu): modify the check for getting the FWU bank's state feat(st): get the state of the active bank directly feat(fwu): add a config flag for including image info in the FWU metadata feat(fwu): migrate FWU metadata structure to version 2 feat(fwu): document the config flag for including image info in the FWU metadata feat(fwu): update the URL links for the FWU specification
show more ...
|
| #
37e81a60 |
| 02-Feb-2024 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
style(partition): use GUID values for GPT partition fields
The GPT partition uses GUID values for identification of partition types and partitions. Change the relevant functions to use GUID values i
style(partition): use GUID values for GPT partition fields
The GPT partition uses GUID values for identification of partition types and partitions. Change the relevant functions to use GUID values instead of UUID's.
Change-Id: I30df66a8a02fb502e04b0285f34131b65977988e Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
show more ...
|
| #
92c36b31 |
| 28-Feb-2024 |
Manish V Badarkhe <manish.badarkhe@arm.com> |
Merge changes from topic "part_crc" into integration
* changes: feat(gpt): validate CRC of GPT partition entries refactor(gpt): return header instead of part_lba
|
| #
7a9e9f6e |
| 31-Jan-2024 |
laurenw-arm <lauren.wehrmeister@arm.com> |
feat(gpt): validate CRC of GPT partition entries
While loading partition entries, calculate CRC using tf_crc32() for each entry to find the full CRC value of the partition entry array.
The start of
feat(gpt): validate CRC of GPT partition entries
While loading partition entries, calculate CRC using tf_crc32() for each entry to find the full CRC value of the partition entry array.
The start of the GPT partition entry array is located at the LBA indicated by the partition entry array LBA field in the GPT header. The size of the partition entry array is indicated by the size of partition entry multiplied by the number of partition entries.
Compare the calculated CRC with the partition entry array CRC in the GPT header, error out if the values do not match.
Change-Id: I4bfed8cf903125c1ef3fac2f0f4c0fb87d63aa78 Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
show more ...
|
| #
17a261de |
| 31-Jan-2024 |
laurenw-arm <lauren.wehrmeister@arm.com> |
refactor(gpt): return header instead of part_lba
Alter the function parameter to pass the full GPT header to be filled instead of the starting LBA of the array of partion entries to load_partition_g
refactor(gpt): return header instead of part_lba
Alter the function parameter to pass the full GPT header to be filled instead of the starting LBA of the array of partion entries to load_partition_gpt()
Change-Id: Ib3dde62d5b9996e74157714634bea748bd3b55aa Signed-off-by: Lauren Wehrmeister <lauren.wehrmeister@arm.com>
show more ...
|
| #
a0896467 |
| 27-Oct-2023 |
Sandrine Bailleux (on vacation) <sandrine.bailleux@arm.com> |
Merge changes from topic "gpt_updates" into integration
* changes: refactor(arm): use gpt_partition_init feat(partition): add interface to init gpt refactor(partition): convert warn to verbose
Merge changes from topic "gpt_updates" into integration
* changes: refactor(arm): use gpt_partition_init feat(partition): add interface to init gpt refactor(partition): convert warn to verbose feat(partition): add support to use backup GPT header refactor(partition): get GPT header location from MBR feat(arm): add IO policy to use backup gpt header feat(tbbr): add image id for backup GPT
show more ...
|
| #
f08460dc |
| 12-Oct-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(partition): add interface to init gpt
Current interface 'partition_init' accepts parameter image_id and returns no value. But the entire partition driver is build only to parse and handle GPT p
feat(partition): add interface to init gpt
Current interface 'partition_init' accepts parameter image_id and returns no value. But the entire partition driver is build only to parse and handle GPT partitions, so add new interface gpt_partition_init which would return failure to platform code if it fails to parse the image.
Change-Id: Iaf574d2ad01a15d0723c1475290c31dc4a078835 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
0f23e7eb |
| 12-Oct-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(partition): convert warn to verbose
Convert all warn messages to verbose messages. As most warning are needed during debug only and and won't increase the binary size by default.
Change-Id
refactor(partition): convert warn to verbose
Convert all warn messages to verbose messages. As most warning are needed during debug only and and won't increase the binary size by default.
Change-Id: Icc5d5157f13507ccbc34675c20357117cad98255 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
ad2dd658 |
| 03-Oct-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
feat(partition): add support to use backup GPT header
Currently we just use primary GPT header which is located in second entry after MBR header, but if this block is corrupted or CRC mismatch occur
feat(partition): add support to use backup GPT header
Currently we just use primary GPT header which is located in second entry after MBR header, but if this block is corrupted or CRC mismatch occurs we could try to use the backup GPT header located at LBAn and GPT entries following this from LBA-33.
Add suitable warning messages before returning any errors to identify the cause of issue.
Change-Id: I0018ae9eafbacb683a18784d2c8bd917c70f50e1 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
fce8a70e |
| 21-Sep-2023 |
Govindraj Raja <govindraj.raja@arm.com> |
refactor(partition): get GPT header location from MBR
GPT header is located in first LBA after MBR entry and mbr header has details of beginning of first entry, so use mbr header entry first_lba dat
refactor(partition): get GPT header location from MBR
GPT header is located in first LBA after MBR entry and mbr header has details of beginning of first entry, so use mbr header entry first_lba data to locate GPT header rather than GPT_HEADER_OFFSET.
GPT header size is available in gpt_header, so use that rather than using DEFAULT_GPT_HEADER_SIZE.
The location of GPT entries is available once we parse gpt_header and is available as partitiona_lba use that to load gpt_entries rather than GPT_ENTRY_OFFSET.
Change-Id: I3c11f8cc9d4b0b1778a37fe342fb845ea4a4eff1 Signed-off-by: Govindraj Raja <govindraj.raja@arm.com>
show more ...
|
| #
c1522768 |
| 01-Aug-2022 |
Lauren Wehrmeister <lauren.wehrmeister@arm.com> |
Merge changes from topic "st_fip_uuid" into integration
* changes: feat(stm32mp1): retrieve FIP partition by type UUID feat(guid-partition): allow to find partition by type UUID refactor(stm32
Merge changes from topic "st_fip_uuid" into integration
* changes: feat(stm32mp1): retrieve FIP partition by type UUID feat(guid-partition): allow to find partition by type UUID refactor(stm32mp1): update PLAT_PARTITION_MAX_ENTRIES
show more ...
|
| #
564f5d47 |
| 24-Feb-2022 |
Lionel Debieve <lionel.debieve@foss.st.com> |
feat(guid-partition): allow to find partition by type UUID
Add function to return the partition by type.
Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com> Change-Id: I87729dc5e68fbc45a523c
feat(guid-partition): allow to find partition by type UUID
Add function to return the partition by type.
Signed-off-by: Lionel Debieve <lionel.debieve@foss.st.com> Change-Id: I87729dc5e68fbc45a523c894b67595b0079dd8fb
show more ...
|
| #
be1d3a1a |
| 19-May-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "gpt-crc" into integration
* changes: feat(partition): verify crc while loading gpt header build(hikey): platform changes for verifying gpt header crc build(agilex): p
Merge changes from topic "gpt-crc" into integration
* changes: feat(partition): verify crc while loading gpt header build(hikey): platform changes for verifying gpt header crc build(agilex): platform changes for verifying gpt header crc build(stratix10): platform changes for verifying gpt header crc build(stm32mp1): platform changes for verifying gpt header crc
show more ...
|
| #
a283d19f |
| 06-May-2022 |
Rohit Ner <rohitner@google.com> |
feat(partition): verify crc while loading gpt header
This change makes use of 32-bit crc for calculating gpt header crc and compares it with the given value.
Signed-off-by: Rohit Ner <rohitner@goog
feat(partition): verify crc while loading gpt header
This change makes use of 32-bit crc for calculating gpt header crc and compares it with the given value.
Signed-off-by: Rohit Ner <rohitner@google.com> Change-Id: I49bca7aab2c3884881c4b7d90d31786a895290e6
show more ...
|
| #
222eb8c7 |
| 27-Jan-2022 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge changes from topic "fwu-on-stm32mp1" into integration
* changes: feat(stm32mp1): add support for building the FWU feature feat(stm32mp1): add logic to pass the boot index to the Update Age
Merge changes from topic "fwu-on-stm32mp1" into integration
* changes: feat(stm32mp1): add support for building the FWU feature feat(stm32mp1): add logic to pass the boot index to the Update Agent feat(stm32mp1): add support for reading the metadata partition feat(stm32mp1): add logic to select the images to be booted feat(stm32mp1): add GUID's for identifying firmware images to be booted feat(stm32mp1): add GUID values for updatable images feat(fwu): add platform hook for getting the boot index feat(fwu): simplify the assert to check for fwu init feat(fwu): add a function to pass metadata structure to platforms feat(partition): add a function to identify a partition by GUID feat(partition): copy the partition GUID into the partition structure feat(partition): make provision to store partition GUID value feat(partition): cleanup partition and gpt headers feat(fwu): add basic definitions for GUID handling feat(fwu): pass a const metadata structure to platform routines build(changelog): add a valid scope for partition code
show more ...
|