From bda6d8ead386d901f1774ef339477b773574db17 Mon Sep 17 00:00:00 2001
From: Ederson de Souza <ederson.desouza@intel.com>
Date: Wed, 18 Sep 2024 11:20:47 -0700
Subject: [PATCH] boot/bootutil: Add MCUBOOT_SINGLE_APPLICATION_SLOT_RAM_LOAD
 mode

Following the split of RAM code, these definitions will help use it with
single slot applications.

Signed-off-by: Ederson de Souza <ederson.desouza@intel.com>
Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
---
 boot/bootutil/include/bootutil/boot_status.h | 3 ++-
 boot/bootutil/src/boot_record.c              | 2 ++
 boot/bootutil/src/bootutil_misc.c            | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/boot/bootutil/include/bootutil/boot_status.h b/boot/bootutil/include/bootutil/boot_status.h
index ea3de5e89..fddcc4bc2 100644
--- a/boot/bootutil/include/bootutil/boot_status.h
+++ b/boot/bootutil/include/bootutil/boot_status.h
@@ -128,7 +128,8 @@ enum mcuboot_mode {
     MCUBOOT_MODE_DIRECT_XIP,
     MCUBOOT_MODE_DIRECT_XIP_WITH_REVERT,
     MCUBOOT_MODE_RAM_LOAD,
-    MCUBOOT_MODE_FIRMWARE_LOADER
+    MCUBOOT_MODE_FIRMWARE_LOADER,
+    MCUBOOT_MODE_SINGLE_SLOT_RAM_LOAD,
 };
 
 enum mcuboot_signature_type {
diff --git a/boot/bootutil/src/boot_record.c b/boot/bootutil/src/boot_record.c
index ccd9e6e32..fbfaf91f3 100644
--- a/boot/bootutil/src/boot_record.c
+++ b/boot/bootutil/src/boot_record.c
@@ -253,6 +253,8 @@ int boot_save_shared_data(const struct image_header *hdr, const struct flash_are
     uint8_t mode = MCUBOOT_MODE_RAM_LOAD;
 #elif defined(MCUBOOT_FIRMWARE_LOADER)
     uint8_t mode = MCUBOOT_MODE_FIRMWARE_LOADER;
+#elif defined(MCUBOOT_SINGLE_APPLICATION_SLOT_RAM_LOAD)
+    uint8_t mode = MCUBOOT_MODE_SINGLE_SLOT_RAM_LOAD;
 #else
 #error "Unknown mcuboot operating mode"
 #endif
diff --git a/boot/bootutil/src/bootutil_misc.c b/boot/bootutil/src/bootutil_misc.c
index 09fbe8948..56859d515 100644
--- a/boot/bootutil/src/bootutil_misc.c
+++ b/boot/bootutil/src/bootutil_misc.c
@@ -334,7 +334,7 @@ boot_write_enc_key(const struct flash_area *fap, uint8_t slot,
 uint32_t bootutil_max_image_size(const struct flash_area *fap)
 {
 #if defined(MCUBOOT_SWAP_USING_SCRATCH) || defined(MCUBOOT_SINGLE_APPLICATION_SLOT) || \
-    defined(MCUBOOT_FIRMWARE_LOADER)
+    defined(MCUBOOT_FIRMWARE_LOADER) || defined(MCUBOOT_SINGLE_APPLICATION_SLOT_RAM_LOAD)
     return boot_status_off(fap);
 #elif defined(MCUBOOT_SWAP_USING_MOVE)
     struct flash_sector sector;