Commit 812a84b0 authored by David Brown's avatar David Brown Committed by David Brown
Browse files

Add capability for DIRECT_XIP feature



Add capability detection for the MCUBOOT_DIRECT_XIP feature.

Signed-off-by: default avatarDavid Brown <david.brown@linaro.org>
parent 7e377ab1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ uint32_t bootutil_get_caps(void);
#define BOOTUTIL_CAP_BOOTSTRAP              (1<<14)
#define BOOTUTIL_CAP_AES256                 (1<<15)
#define BOOTUTIL_CAP_RAM_LOAD               (1<<16)
#define BOOTUTIL_CAP_DIRECT_XIP             (1<<17)

/*
 * Query the number of images this bootloader is configured for.  This
+3 −0
Original line number Diff line number Diff line
@@ -75,6 +75,9 @@ uint32_t bootutil_get_caps(void)
#if defined(MCUBOOT_RAM_LOAD)
    res |= BOOTUTIL_CAP_RAM_LOAD;
#endif
#if defined(MCUBOOT_DIRECT_XIP)
    res |= BOOTUTIL_CAP_DIRECT_XIP;
#endif

    return res;
}
+2 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ pub enum Caps {
    Bootstrap            = (1 << 14),
    Aes256               = (1 << 15),
    RamLoad              = (1 << 16),
    DirectXip            = (1 << 17),
}

impl Caps {
@@ -44,7 +45,7 @@ impl Caps {
    /// Query if this configuration performs some kind of upgrade by writing to flash.
    pub fn modifies_flash() -> bool {
        // All other configurations perform upgrades by writing to flash.
        !Self::RamLoad.present()
        !(Self::RamLoad.present() || Self::DirectXip.present())
    }
}