From b1a73d443105c5ae3f2ad9926c50316ebb40ac40 Mon Sep 17 00:00:00 2001 From: Vishal Mhatre <38512878+mhatrevi@users.noreply.github.com> Date: Thu, 27 Jul 2023 13:54:56 -0700 Subject: [PATCH] [feat] Update LMS vendor public key max. count to 32 (#542) This change updates the count from 4 to 32. --- common/src/memory_layout.rs | 20 ++++---- cpu/gen/src/lib.rs | 4 +- drivers/src/fuse_bank.rs | 4 +- fmc/test-fw/test-rt/memory.x | 10 ++-- image/fake-keys/src/lib.rs | 56 +++++++++++++++++++++ image/types/src/lib.rs | 2 +- image/verify/src/lib.rs | 4 +- image/verify/src/verifier.rs | 15 +++--- rom/dev/src/flow/cold_reset/fw_processor.rs | 2 +- rom/dev/src/rom.ld | 4 +- rom/dev/src/verifier.rs | 2 +- rom/dev/tests/test_fmcalias_derivation.rs | 8 +-- rom/dev/tests/test_image_validation.rs | 27 +++++----- rom/dev/tools/keys.toml | 56 +++++++++++++++++++++ rom/dev/tools/test-fmc/src/fmc.ld | 4 +- rom/dev/tools/test-rt/src/rt.ld | 4 +- 16 files changed, 166 insertions(+), 56 deletions(-) diff --git a/common/src/memory_layout.rs b/common/src/memory_layout.rs index be972df3a1..a91c864937 100644 --- a/common/src/memory_layout.rs +++ b/common/src/memory_layout.rs @@ -26,13 +26,13 @@ pub const MBOX_ORG: u32 = 0x30000000; pub const ICCM_ORG: u32 = 0x40000000; pub const DCCM_ORG: u32 = 0x50000000; pub const MAN1_ORG: u32 = 0x50000000; -pub const MAN2_ORG: u32 = 0x50001400; -pub const FHT_ORG: u32 = 0x50002800; -pub const LDEVID_TBS_ORG: u32 = 0x50003000; -pub const FMCALIAS_TBS_ORG: u32 = 0x50003400; -pub const PCR_LOG_ORG: u32 = 0x50003800; -pub const FUSE_LOG_ORG: u32 = 0x50003C00; -pub const DATA_ORG: u32 = 0x50004000; +pub const MAN2_ORG: u32 = 0x50001800; +pub const FHT_ORG: u32 = 0x50003000; +pub const LDEVID_TBS_ORG: u32 = 0x50003800; +pub const FMCALIAS_TBS_ORG: u32 = 0x50003C00; +pub const PCR_LOG_ORG: u32 = 0x50004000; +pub const FUSE_LOG_ORG: u32 = 0x50004400; +pub const DATA_ORG: u32 = 0x50004800; pub const STACK_ORG: u32 = 0x5001C000; pub const ESTACK_ORG: u32 = 0x5001F800; pub const NSTACK_ORG: u32 = 0x5001FC00; @@ -45,14 +45,14 @@ pub const ROM_SIZE: u32 = 32 * 1024; pub const MBOX_SIZE: u32 = 128 * 1024; pub const ICCM_SIZE: u32 = 128 * 1024; pub const DCCM_SIZE: u32 = 128 * 1024; -pub const MAN1_SIZE: u32 = 5 * 1024; -pub const MAN2_SIZE: u32 = 5 * 1024; +pub const MAN1_SIZE: u32 = 6 * 1024; +pub const MAN2_SIZE: u32 = 6 * 1024; pub const FHT_SIZE: u32 = 2 * 1024; pub const LDEVID_TBS_SIZE: u32 = 1024; pub const FMCALIAS_TBS_SIZE: u32 = 1024; pub const PCR_LOG_SIZE: usize = 1024; pub const FUSE_LOG_SIZE: usize = 1024; -pub const DATA_SIZE: u32 = 96 * 1024; +pub const DATA_SIZE: u32 = 94 * 1024; pub const STACK_SIZE: u32 = 14 * 1024; pub const ESTACK_SIZE: u32 = 1024; pub const NSTACK_SIZE: u32 = 1024; diff --git a/cpu/gen/src/lib.rs b/cpu/gen/src/lib.rs index 8e50db301f..c792a6560f 100644 --- a/cpu/gen/src/lib.rs +++ b/cpu/gen/src/lib.rs @@ -5,7 +5,7 @@ pub fn gen_memory_x(iccm_org: u32, iccm_size: u32) -> String { r#" ICCM_ORG = 0x{:08X}; DCCM_ORG = 0x50000000; - DATA_ORG = 0x50004400; + DATA_ORG = 0x50004800; STACK_ORG = 0x5001C000; ESTACK_ORG = 0x5001F800; NSTACK_ORG = 0x5001FC00; @@ -19,7 +19,7 @@ pub fn gen_memory_x(iccm_org: u32, iccm_size: u32) -> String { ICCM_SIZE = 0x{:08X}; DCCM_SIZE = 128K; - DATA_SIZE = 95K; + DATA_SIZE = 94K; STACK_SIZE = 14K; ESTACK_SIZE = 1K; NSTACK_SIZE = 1K; diff --git a/drivers/src/fuse_bank.rs b/drivers/src/fuse_bank.rs index cbdf699e86..5ab26ac77e 100644 --- a/drivers/src/fuse_bank.rs +++ b/drivers/src/fuse_bank.rs @@ -197,9 +197,9 @@ impl FuseBank<'_> { /// # Returns /// lms vendor public key revocation mask /// - pub fn vendor_lms_pub_key_revocation(&self) -> VendorPubKeyRevocation { + pub fn vendor_lms_pub_key_revocation(&self) -> u32 { let soc_ifc_regs = self.soc_ifc.regs(); - VendorPubKeyRevocation::from_bits_truncate(soc_ifc_regs.fuse_lms_revocation().read()) + soc_ifc_regs.fuse_lms_revocation().read() } /// Get the owner public key hash. diff --git a/fmc/test-fw/test-rt/memory.x b/fmc/test-fw/test-rt/memory.x index 6cccf49fd6..f81aaea5af 100644 --- a/fmc/test-fw/test-rt/memory.x +++ b/fmc/test-fw/test-rt/memory.x @@ -4,8 +4,8 @@ ROM_ORG = 0x00000000; META_ORG = ROM_SIZE; ICCM_ORG = 0x40004000; /* Range [0x40000000 - 0x40003FFF] is reserved for FMC */ DCCM_ORG = 0x50000000; -FHT_ORG = 0x50002800; -DATA_ORG = 0x50003000; +FHT_ORG = 0x50003000; +DATA_ORG = 0x50004800; STACK_ORG = 0x5001C000; ESTACK_ORG = 0x5001F800; NSTACK_ORG = 0x5001FC00; @@ -15,10 +15,10 @@ ROM_SIZE = 32K; MBOX_SIZE = 128K; ICCM_SIZE = 112K; DCCM_SIZE = 128K; -MAN1_SIZE = 5K; -MAN2_SIZE = 5K; +MAN1_SIZE = 6K; +MAN2_SIZE = 6K; FHT_SIZE = 2K; -DATA_SIZE = 100K; +DATA_SIZE = 94K; STACK_SIZE = 14K; ESTACK_SIZE = 1K; NSTACK_SIZE = 1K; diff --git a/image/fake-keys/src/lib.rs b/image/fake-keys/src/lib.rs index 2fa2d4c09a..762b004d0f 100644 --- a/image/fake-keys/src/lib.rs +++ b/image/fake-keys/src/lib.rs @@ -248,6 +248,34 @@ pub const VENDOR_PUBLIC_KEYS: ImageVendorPubKeys = ImageVendorPubKeys { VENDOR_LMS_KEY1_PUBLIC, VENDOR_LMS_KEY2_PUBLIC, VENDOR_LMS_KEY3_PUBLIC, + VENDOR_LMS_KEY0_PUBLIC, + VENDOR_LMS_KEY1_PUBLIC, + VENDOR_LMS_KEY2_PUBLIC, + VENDOR_LMS_KEY3_PUBLIC, + VENDOR_LMS_KEY0_PUBLIC, + VENDOR_LMS_KEY1_PUBLIC, + VENDOR_LMS_KEY2_PUBLIC, + VENDOR_LMS_KEY3_PUBLIC, + VENDOR_LMS_KEY0_PUBLIC, + VENDOR_LMS_KEY1_PUBLIC, + VENDOR_LMS_KEY2_PUBLIC, + VENDOR_LMS_KEY3_PUBLIC, + VENDOR_LMS_KEY0_PUBLIC, + VENDOR_LMS_KEY1_PUBLIC, + VENDOR_LMS_KEY2_PUBLIC, + VENDOR_LMS_KEY3_PUBLIC, + VENDOR_LMS_KEY0_PUBLIC, + VENDOR_LMS_KEY1_PUBLIC, + VENDOR_LMS_KEY2_PUBLIC, + VENDOR_LMS_KEY3_PUBLIC, + VENDOR_LMS_KEY0_PUBLIC, + VENDOR_LMS_KEY1_PUBLIC, + VENDOR_LMS_KEY2_PUBLIC, + VENDOR_LMS_KEY3_PUBLIC, + VENDOR_LMS_KEY0_PUBLIC, + VENDOR_LMS_KEY1_PUBLIC, + VENDOR_LMS_KEY2_PUBLIC, + VENDOR_LMS_KEY3_PUBLIC, ], }; @@ -267,6 +295,34 @@ pub const VENDOR_PRIVATE_KEYS: ImageVendorPrivKeys = ImageVendorPrivKeys { VENDOR_LMS_KEY1_PRIVATE, VENDOR_LMS_KEY2_PRIVATE, VENDOR_LMS_KEY3_PRIVATE, + VENDOR_LMS_KEY0_PRIVATE, + VENDOR_LMS_KEY1_PRIVATE, + VENDOR_LMS_KEY2_PRIVATE, + VENDOR_LMS_KEY3_PRIVATE, + VENDOR_LMS_KEY0_PRIVATE, + VENDOR_LMS_KEY1_PRIVATE, + VENDOR_LMS_KEY2_PRIVATE, + VENDOR_LMS_KEY3_PRIVATE, + VENDOR_LMS_KEY0_PRIVATE, + VENDOR_LMS_KEY1_PRIVATE, + VENDOR_LMS_KEY2_PRIVATE, + VENDOR_LMS_KEY3_PRIVATE, + VENDOR_LMS_KEY0_PRIVATE, + VENDOR_LMS_KEY1_PRIVATE, + VENDOR_LMS_KEY2_PRIVATE, + VENDOR_LMS_KEY3_PRIVATE, + VENDOR_LMS_KEY0_PRIVATE, + VENDOR_LMS_KEY1_PRIVATE, + VENDOR_LMS_KEY2_PRIVATE, + VENDOR_LMS_KEY3_PRIVATE, + VENDOR_LMS_KEY0_PRIVATE, + VENDOR_LMS_KEY1_PRIVATE, + VENDOR_LMS_KEY2_PRIVATE, + VENDOR_LMS_KEY3_PRIVATE, + VENDOR_LMS_KEY0_PRIVATE, + VENDOR_LMS_KEY1_PRIVATE, + VENDOR_LMS_KEY2_PRIVATE, + VENDOR_LMS_KEY3_PRIVATE, ], }; diff --git a/image/types/src/lib.rs b/image/types/src/lib.rs index 875d22a531..09566dfbec 100644 --- a/image/types/src/lib.rs +++ b/image/types/src/lib.rs @@ -25,7 +25,7 @@ use zerocopy::{AsBytes, FromBytes}; pub const MANIFEST_MARKER: u32 = 0x4E414D43; pub const VENDOR_ECC_KEY_COUNT: u32 = 4; -pub const VENDOR_LMS_KEY_COUNT: u32 = 4; +pub const VENDOR_LMS_KEY_COUNT: u32 = 32; pub const OWNER_LMS_KEY_COUNT: u32 = 1; pub const MAX_TOC_ENTRY_COUNT: u32 = 2; pub const IMAGE_REVISION_BYTE_SIZE: usize = 20; diff --git a/image/verify/src/lib.rs b/image/verify/src/lib.rs index 119c8827f9..0887474719 100644 --- a/image/verify/src/lib.rs +++ b/image/verify/src/lib.rs @@ -69,7 +69,7 @@ pub struct ImageVerificationLogInfo { pub owner_lms_pub_key_idx: Option, /// Vendor LMS Public Key Revocation Fuse - pub fuse_vendor_lms_pub_key_revocation: Option, + pub fuse_vendor_lms_pub_key_revocation: Option, /// First Mutable code's logging information pub fmc_log_info: ImageSvnLogInfo, @@ -134,7 +134,7 @@ pub trait ImageVerificationEnv { fn vendor_ecc_pub_key_revocation(&self) -> VendorPubKeyRevocation; /// Get Vendor LMS Public Key Revocation list - fn vendor_lms_pub_key_revocation(&self) -> VendorPubKeyRevocation; + fn vendor_lms_pub_key_revocation(&self) -> u32; /// Get Owner Public Key Digest from fuses fn owner_pub_key_digest_fuses(&self) -> ImageDigest; diff --git a/image/verify/src/verifier.rs b/image/verify/src/verifier.rs index 9a1f7d3e84..b548a5dd03 100644 --- a/image/verify/src/verifier.rs +++ b/image/verify/src/verifier.rs @@ -29,7 +29,7 @@ struct HeaderInfo<'a> { vendor_ecc_pub_key_revocation: VendorPubKeyRevocation, vendor_ecc_info: (&'a ImageEccPubKey, &'a ImageEccSignature), vendor_lms_info: Option<(&'a ImageLmsPublicKey, &'a ImageLmsSignature)>, - vendor_lms_pub_key_revocation: Option, + vendor_lms_pub_key_revocation: Option, owner_ecc_info: Option<(&'a ImageEccPubKey, &'a ImageEccSignature)>, owner_lms_info: Option<(&'a ImageLmsPublicKey, &'a ImageLmsSignature)>, owner_pub_keys_digest: ImageDigest, @@ -157,7 +157,7 @@ impl ImageVerifier { // Verify LMS Vendor Key Index let mut vendor_lms_pub_key_idx: Option = None; let mut vendor_lms_info: Option<(&ImageLmsPublicKey, &'a ImageLmsSignature)> = None; - let mut vendor_lms_pub_key_revocation: Option = None; + let mut vendor_lms_pub_key_revocation: Option = None; if self.env.lms_verify_enabled() { (vendor_lms_pub_key_idx, vendor_lms_pub_key_revocation) = @@ -263,7 +263,7 @@ impl ImageVerifier { &mut self, preamble: &ImagePreamble, _reason: ResetReason, - ) -> CaliptraResult<(Option, Option)> { + ) -> CaliptraResult<(Option, Option)> { const SECOND_LAST_KEY_IDX: u32 = VENDOR_LMS_KEY_COUNT - 2; const LAST_KEY_IDX: u32 = SECOND_LAST_KEY_IDX + 1; @@ -272,8 +272,7 @@ impl ImageVerifier { match key_idx { 0..=SECOND_LAST_KEY_IDX => { - let key = VendorPubKeyRevocation::from_bits_truncate(0x01u32 << key_idx); - if revocation.contains(key) { + if (revocation & (0x01u32 << key_idx)) != 0 { Err(CaliptraError::IMAGE_VERIFIER_ERR_VENDOR_LMS_PUB_KEY_REVOKED)?; } } @@ -1666,7 +1665,7 @@ mod tests { verify_lms_result: bool, vendor_pub_key_digest: ImageDigest, vendor_ecc_pub_key_revocation: VendorPubKeyRevocation, - vendor_lms_pub_key_revocation: VendorPubKeyRevocation, + vendor_lms_pub_key_revocation: u32, owner_pub_key_digest: ImageDigest, lifecycle: Lifecycle, } @@ -1680,7 +1679,7 @@ mod tests { verify_lms_result: false, vendor_pub_key_digest: ImageDigest::default(), vendor_ecc_pub_key_revocation: VendorPubKeyRevocation::default(), - vendor_lms_pub_key_revocation: VendorPubKeyRevocation::default(), + vendor_lms_pub_key_revocation: 0, owner_pub_key_digest: ImageDigest::default(), lifecycle: Lifecycle::Unprovisioned, } @@ -1726,7 +1725,7 @@ mod tests { self.vendor_ecc_pub_key_revocation } - fn vendor_lms_pub_key_revocation(&self) -> VendorPubKeyRevocation { + fn vendor_lms_pub_key_revocation(&self) -> u32 { self.vendor_lms_pub_key_revocation } diff --git a/rom/dev/src/flow/cold_reset/fw_processor.rs b/rom/dev/src/flow/cold_reset/fw_processor.rs index 8e6e6cee1c..24cdf5f3ee 100644 --- a/rom/dev/src/flow/cold_reset/fw_processor.rs +++ b/rom/dev/src/flow/cold_reset/fw_processor.rs @@ -267,7 +267,7 @@ impl FirmwareProcessor { { log_fuse_data( FuseLogEntryId::VendorLmsPubKeyRevocation, - fuse_vendor_lms_pub_key_revocation.bits().as_bytes(), + fuse_vendor_lms_pub_key_revocation.as_bytes(), )?; } diff --git a/rom/dev/src/rom.ld b/rom/dev/src/rom.ld index 120da500de..bd5fbe195c 100644 --- a/rom/dev/src/rom.ld +++ b/rom/dev/src/rom.ld @@ -19,7 +19,7 @@ ENTRY(_start) ROM_ORG = 0x00000000; ICCM_ORG = 0x40000000; DCCM_ORG = 0x50000000; -DATA_ORG = 0x50004000; +DATA_ORG = 0x50004800; STACK_ORG = 0x5001C000; ESTACK_ORG = 0x5001F800; NSTACK_ORG = 0x5001FC00; @@ -33,7 +33,7 @@ ROM_RELAXATION_PADDING = 4k; ROM_SIZE = 32K; ICCM_SIZE = 128K; DCCM_SIZE = 128K; -DATA_SIZE = 96K; +DATA_SIZE = 94K; STACK_SIZE = 14K; ESTACK_SIZE = 1K; NSTACK_SIZE = 1K; diff --git a/rom/dev/src/verifier.rs b/rom/dev/src/verifier.rs index f0f046a4ae..6e66e7c83a 100644 --- a/rom/dev/src/verifier.rs +++ b/rom/dev/src/verifier.rs @@ -94,7 +94,7 @@ impl<'a> ImageVerificationEnv for &mut RomImageVerificationEnv<'a> { } /// Retrieve Vendor LMS Public Key Revocation Bitmask - fn vendor_lms_pub_key_revocation(&self) -> VendorPubKeyRevocation { + fn vendor_lms_pub_key_revocation(&self) -> u32 { self.soc_ifc.fuse_bank().vendor_lms_pub_key_revocation() } diff --git a/rom/dev/tests/test_fmcalias_derivation.rs b/rom/dev/tests/test_fmcalias_derivation.rs index 9eeecc93ed..10220ecf6a 100644 --- a/rom/dev/tests/test_fmcalias_derivation.rs +++ b/rom/dev/tests/test_fmcalias_derivation.rs @@ -477,10 +477,10 @@ fn test_fht_info() { let fht = FirmwareHandoffTable::read_from_prefix(data.as_bytes()).unwrap(); assert_eq!(fht.ldevid_tbs_size, 530); assert_eq!(fht.fmcalias_tbs_size, 742); - assert_eq!(fht.ldevid_tbs_addr, 0x50003000); - assert_eq!(fht.fmcalias_tbs_addr, 0x50003400); - assert_eq!(fht.pcr_log_addr, 0x50003800); - assert_eq!(fht.fuse_log_addr, 0x50003C00); + assert_eq!(fht.ldevid_tbs_addr, 0x50003800); + assert_eq!(fht.fmcalias_tbs_addr, 0x50003C00); + assert_eq!(fht.pcr_log_addr, 0x50004000); + assert_eq!(fht.fuse_log_addr, 0x50004400); // [TODO] Expand test to validate additional FHT fields. } diff --git a/rom/dev/tests/test_image_validation.rs b/rom/dev/tests/test_image_validation.rs index 79aa395c98..cec88826e8 100644 --- a/rom/dev/tests/test_image_validation.rs +++ b/rom/dev/tests/test_image_validation.rs @@ -204,14 +204,14 @@ fn test_preamble_vendor_ecc_pubkey_revocation() { fn test_preamble_vendor_lms_pubkey_revocation() { let rom = caliptra_builder::build_firmware_rom(&ROM_WITH_UART).unwrap(); const LAST_KEY_IDX: u32 = VENDOR_LMS_KEY_COUNT - 1; - const VENDOR_CONFIG_LIST: [ImageGeneratorVendorConfig; VENDOR_LMS_KEY_COUNT as usize] = [ - VENDOR_CONFIG_KEY_0, - VENDOR_CONFIG_KEY_1, - VENDOR_CONFIG_KEY_2, - VENDOR_CONFIG_KEY_3, - ]; - for vendor_config in VENDOR_CONFIG_LIST { + for idx in 0..VENDOR_LMS_KEY_COUNT { + let vendor_config = ImageGeneratorVendorConfig { + ecc_key_idx: 3, + lms_key_idx: idx, + ..VENDOR_CONFIG_KEY_0 + }; + let mut image_options = ImageOptions::default(); let key_idx = vendor_config.lms_key_idx; image_options.vendor_config = vendor_config; @@ -256,14 +256,13 @@ fn test_preamble_vendor_lms_pubkey_revocation() { #[test] fn test_preamble_vendor_lms_optional_no_pubkey_revocation_check() { let rom = caliptra_builder::build_firmware_rom(&ROM_WITH_UART).unwrap(); - const VENDOR_CONFIG_LIST: [ImageGeneratorVendorConfig; VENDOR_LMS_KEY_COUNT as usize] = [ - VENDOR_CONFIG_KEY_0, - VENDOR_CONFIG_KEY_1, - VENDOR_CONFIG_KEY_2, - VENDOR_CONFIG_KEY_3, - ]; - for vendor_config in VENDOR_CONFIG_LIST { + for idx in 0..VENDOR_LMS_KEY_COUNT { + let vendor_config = ImageGeneratorVendorConfig { + ecc_key_idx: 3, + lms_key_idx: idx, + ..VENDOR_CONFIG_KEY_0 + }; let image_options = caliptra_builder::ImageOptions { vendor_config, ..Default::default() diff --git a/rom/dev/tools/keys.toml b/rom/dev/tools/keys.toml index 4c11024d00..472131c2df 100644 --- a/rom/dev/tools/keys.toml +++ b/rom/dev/tools/keys.toml @@ -12,6 +12,34 @@ lms_pub_keys = [ "vnd-lms-pub-key-1.pem", "vnd-lms-pub-key-2.pem", "vnd-lms-pub-key-3.pem", + "vnd-lms-pub-key-0.pem", + "vnd-lms-pub-key-1.pem", + "vnd-lms-pub-key-2.pem", + "vnd-lms-pub-key-3.pem", + "vnd-lms-pub-key-0.pem", + "vnd-lms-pub-key-1.pem", + "vnd-lms-pub-key-2.pem", + "vnd-lms-pub-key-3.pem", + "vnd-lms-pub-key-0.pem", + "vnd-lms-pub-key-1.pem", + "vnd-lms-pub-key-2.pem", + "vnd-lms-pub-key-3.pem", + "vnd-lms-pub-key-0.pem", + "vnd-lms-pub-key-1.pem", + "vnd-lms-pub-key-2.pem", + "vnd-lms-pub-key-3.pem", + "vnd-lms-pub-key-0.pem", + "vnd-lms-pub-key-1.pem", + "vnd-lms-pub-key-2.pem", + "vnd-lms-pub-key-3.pem", + "vnd-lms-pub-key-0.pem", + "vnd-lms-pub-key-1.pem", + "vnd-lms-pub-key-2.pem", + "vnd-lms-pub-key-3.pem", + "vnd-lms-pub-key-0.pem", + "vnd-lms-pub-key-1.pem", + "vnd-lms-pub-key-2.pem", + "vnd-lms-pub-key-3.pem", ] ecc_priv_keys = [ "vnd-priv-key-0.pem", @@ -24,6 +52,34 @@ lms_priv_keys = [ "vnd-lms-priv-key-1.pem", "vnd-lms-priv-key-2.pem", "vnd-lms-priv-key-3.pem", + "vnd-lms-priv-key-0.pem", + "vnd-lms-priv-key-1.pem", + "vnd-lms-priv-key-2.pem", + "vnd-lms-priv-key-3.pem", + "vnd-lms-priv-key-0.pem", + "vnd-lms-priv-key-1.pem", + "vnd-lms-priv-key-2.pem", + "vnd-lms-priv-key-3.pem", + "vnd-lms-priv-key-0.pem", + "vnd-lms-priv-key-1.pem", + "vnd-lms-priv-key-2.pem", + "vnd-lms-priv-key-3.pem", + "vnd-lms-priv-key-0.pem", + "vnd-lms-priv-key-1.pem", + "vnd-lms-priv-key-2.pem", + "vnd-lms-priv-key-3.pem", + "vnd-lms-priv-key-0.pem", + "vnd-lms-priv-key-1.pem", + "vnd-lms-priv-key-2.pem", + "vnd-lms-priv-key-3.pem", + "vnd-lms-priv-key-0.pem", + "vnd-lms-priv-key-1.pem", + "vnd-lms-priv-key-2.pem", + "vnd-lms-priv-key-3.pem", + "vnd-lms-priv-key-0.pem", + "vnd-lms-priv-key-1.pem", + "vnd-lms-priv-key-2.pem", + "vnd-lms-priv-key-3.pem", ] [owner] diff --git a/rom/dev/tools/test-fmc/src/fmc.ld b/rom/dev/tools/test-fmc/src/fmc.ld index 7332320bc7..5dfa727def 100644 --- a/rom/dev/tools/test-fmc/src/fmc.ld +++ b/rom/dev/tools/test-fmc/src/fmc.ld @@ -19,7 +19,7 @@ ENTRY(_start) ICCM_ORG = 0x40000000; DCCM_ORG = 0x50000000; -DATA_ORG = 0x50004000; +DATA_ORG = 0x50004800; STACK_ORG = 0x5001C000; ESTACK_ORG = 0x5001F800; NSTACK_ORG = 0x5001FC00; @@ -27,7 +27,7 @@ NSTACK_ORG = 0x5001FC00; ICCM_SIZE = 128K; DCCM_SIZE = 128K; -DATA_SIZE = 96K; +DATA_SIZE = 94K; STACK_SIZE = 14K; ESTACK_SIZE = 1K; NSTACK_SIZE = 1K; diff --git a/rom/dev/tools/test-rt/src/rt.ld b/rom/dev/tools/test-rt/src/rt.ld index 5d8f18a2c6..7b3809bcad 100644 --- a/rom/dev/tools/test-rt/src/rt.ld +++ b/rom/dev/tools/test-rt/src/rt.ld @@ -19,14 +19,14 @@ ENTRY(_start) ICCM_ORG = 0x40004000; /* Range [0x40000000 - 0x40003FFF] is reserved for FMC */ DCCM_ORG = 0x50000000; -DATA_ORG = 0x50003000; +DATA_ORG = 0x50004800; STACK_ORG = 0x5001C000; ESTACK_ORG = 0x5001F800; NSTACK_ORG = 0x5001FC00; ICCM_SIZE = 112K; DCCM_SIZE = 128K; -DATA_SIZE = 100K; +DATA_SIZE = 94K; STACK_SIZE = 14K; ESTACK_SIZE = 1K; NSTACK_SIZE = 1K;