Commit 09aeaeb4 authored by Jamie McCrae's avatar Jamie McCrae Committed by Jamie
Browse files

sim: Add swap using offset to tests



Enables testing this new mode

Signed-off-by: default avatarJamie McCrae <jamie.mccrae@nordicsemi.no>
parent be9b2ad3
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ jobs:
      matrix:
        features:
        - "sig-ecdsa,sig-ecdsa-mbedtls,sig-ed25519,enc-kw,bootstrap"
        - "sig-rsa,sig-rsa3072,overwrite-only,validate-primary-slot,swap-move"
        - "sig-rsa,sig-rsa3072,overwrite-only,validate-primary-slot,swap-move,swap-offset"
        - "enc-rsa,enc-rsa max-align-32"
        - "enc-aes256-rsa,enc-aes256-rsa max-align-32"
        - "enc-ec256,enc-ec256 max-align-32"
@@ -29,7 +29,7 @@ jobs:
        - "enc-kw overwrite-only,enc-kw overwrite-only max-align-32"
        - "enc-rsa overwrite-only,enc-rsa overwrite-only max-align-32"
        - "enc-aes256-kw overwrite-only,enc-aes256-kw overwrite-only max-align-32"
        - "sig-rsa enc-rsa validate-primary-slot,swap-move enc-rsa sig-rsa validate-primary-slot bootstrap"
        - "sig-rsa enc-rsa validate-primary-slot,swap-move enc-rsa sig-rsa validate-primary-slot bootstrap,swap-offset enc-rsa sig-rsa validate-primary-slot bootstrap"
        - "sig-rsa enc-kw validate-primary-slot bootstrap,sig-ed25519 enc-x25519 validate-primary-slot"
        - "sig-ecdsa enc-kw validate-primary-slot"
        - "sig-ecdsa-mbedtls enc-kw validate-primary-slot"
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ sig-ecdsa-psa = ["mcuboot-sys/sig-ecdsa-psa", "mcuboot-sys/psa-crypto-api"]
sig-p384 = ["mcuboot-sys/sig-p384"]
sig-ed25519 = ["mcuboot-sys/sig-ed25519"]
overwrite-only = ["mcuboot-sys/overwrite-only"]
swap-offset = ["mcuboot-sys/swap-offset"]
swap-move = ["mcuboot-sys/swap-move"]
validate-primary-slot = ["mcuboot-sys/validate-primary-slot"]
enc-rsa = ["mcuboot-sys/enc-rsa"]
+4 −0
Original line number Diff line number Diff line
@@ -36,6 +36,10 @@ sig-ed25519 = []
# Overwrite only upgrade
overwrite-only = []

# Swap using offset mode
swap-offset = []

# Swap using move move
swap-move = []

# Disable validation of the primary slot
+5 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ fn main() {
    let sig_ed25519 = env::var("CARGO_FEATURE_SIG_ED25519").is_ok();
    let overwrite_only = env::var("CARGO_FEATURE_OVERWRITE_ONLY").is_ok();
    let swap_move = env::var("CARGO_FEATURE_SWAP_MOVE").is_ok();
    let swap_offset = env::var("CARGO_FEATURE_SWAP_OFFSET").is_ok();
    let validate_primary_slot =
                  env::var("CARGO_FEATURE_VALIDATE_PRIMARY_SLOT").is_ok();
    let enc_rsa = env::var("CARGO_FEATURE_ENC_RSA").is_ok();
@@ -253,7 +254,9 @@ fn main() {
        conf.conf.define("MCUBOOT_OVERWRITE_ONLY", None);
    }

    if swap_move {
    if swap_offset {
        conf.conf.define("MCUBOOT_SWAP_USING_OFFSET", None);
    } else if swap_move {
        conf.conf.define("MCUBOOT_SWAP_USING_MOVE", None);
    } else if !overwrite_only && !direct_xip && !ram_load {
        conf.conf.define("CONFIG_BOOT_SWAP_USING_SCRATCH", None);
@@ -461,6 +464,7 @@ fn main() {
    conf.file("../../boot/bootutil/src/swap_misc.c");
    conf.file("../../boot/bootutil/src/swap_scratch.c");
    conf.file("../../boot/bootutil/src/swap_move.c");
    conf.file("../../boot/bootutil/src/swap_offset.c");
    conf.file("../../boot/bootutil/src/caps.c");
    conf.file("../../boot/bootutil/src/bootutil_misc.c");
    conf.file("../../boot/bootutil/src/bootutil_public.c");
+1 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ pub enum Caps {
    DirectXip            = (1 << 17),
    HwRollbackProtection = (1 << 18),
    EcdsaP384            = (1 << 19),
    SwapUsingOffset      = (1 << 20),
}

impl Caps {
Loading