Andrew Geissler | 2daf84b | 2023-03-31 09:57:23 -0500 | [diff] [blame] | 1 | From 0ee6842d348e206d511ec89a7ff5b29a6f325456 Mon Sep 17 00:00:00 2001 |
| 2 | From: Rui Miguel Silva <rui.silva@linaro.org> |
| 3 | Date: Sun, 29 Jan 2023 19:01:08 +0000 |
| 4 | Subject: [PATCH] corstone1000: make sure to write fwu metadata to replica 2 |
| 5 | |
| 6 | u-boot and other, before using fwu metadata validate if |
| 7 | the copies in both replicas are good. so, make sure |
| 8 | we write fwu metadata in both replicas. |
| 9 | |
Patrick Williams | 8e7b46e | 2023-05-01 14:19:06 -0500 | [diff] [blame^] | 10 | Upstream-Status: Submitted [https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/20550] |
Andrew Geissler | 2daf84b | 2023-03-31 09:57:23 -0500 | [diff] [blame] | 11 | Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> |
| 12 | --- |
| 13 | .../arm/corstone1000/fw_update_agent/fwu_agent.c | 14 ++++++++++++++ |
| 14 | 1 file changed, 14 insertions(+) |
| 15 | |
| 16 | diff --git a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c |
| 17 | index e1fa297ac923..215902ce71b9 100644 |
| 18 | --- a/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c |
| 19 | +++ b/platform/ext/target/arm/corstone1000/fw_update_agent/fwu_agent.c |
| 20 | @@ -238,6 +238,20 @@ static enum fwu_agent_error_t metadata_write( |
| 21 | return FWU_AGENT_ERROR; |
| 22 | } |
| 23 | |
| 24 | + FWU_LOG_MSG("%s: enter: flash addr = %u, size = %d\n\r", __func__, |
| 25 | + FWU_METADATA_REPLICA_2_OFFSET, sizeof(struct fwu_metadata)); |
| 26 | + |
| 27 | + ret = FWU_METADATA_FLASH_DEV.EraseSector(FWU_METADATA_REPLICA_2_OFFSET); |
| 28 | + if (ret != ARM_DRIVER_OK) { |
| 29 | + return FWU_AGENT_ERROR; |
| 30 | + } |
| 31 | + |
| 32 | + ret = FWU_METADATA_FLASH_DEV.ProgramData(FWU_METADATA_REPLICA_2_OFFSET, |
| 33 | + p_metadata, sizeof(struct fwu_metadata)); |
| 34 | + if (ret < 0 || ret != sizeof(struct fwu_metadata)) { |
| 35 | + return FWU_AGENT_ERROR; |
| 36 | + } |
| 37 | + |
| 38 | FWU_LOG_MSG("%s: success: active = %u, previous = %d\n\r", __func__, |
| 39 | p_metadata->active_index, p_metadata->previous_active_index); |
| 40 | return FWU_AGENT_SUCCESS; |
| 41 | -- |
| 42 | 2.39.1 |
| 43 | |