History log of /rk3399_ARM-atf/drivers/partition/partition.c (Results 1 – 25 of 50)
Revision Date Author Comments
# 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 ...


12