From 717a2a21396b4b0a29d33fec0abd9d7abe29a8fd Mon Sep 17 00:00:00 2001 From: ccli8 Date: Thu, 18 Apr 2019 11:30:47 +0800 Subject: [PATCH] Pass TFM_LVL macro to linker files With this, single linker file can support different TFM security levels. --- tools/toolchains/mbed_toolchain.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/toolchains/mbed_toolchain.py b/tools/toolchains/mbed_toolchain.py index 4d44b806bcb..4249bf76c6b 100755 --- a/tools/toolchains/mbed_toolchain.py +++ b/tools/toolchains/mbed_toolchain.py @@ -918,6 +918,7 @@ def add_regions(self): pass STACK_PARAM = "target.boot-stack-size" + TFM_LVL_PARAM = "tfm.level" def add_linker_defines(self): params, _ = self.config_data @@ -930,6 +931,15 @@ def add_linker_defines(self): self.ld.append(define_string) self.flags["ld"].append(define_string) + # Pass TFM_LVL to linker files, so single linker file can support different TFM security levels. + if self.TFM_LVL_PARAM in params: + define_string = self.make_ld_define( + "TFM_LVL", + params[self.TFM_LVL_PARAM].value + ) + self.ld.append(define_string) + self.flags["ld"].append(define_string) + if self.target.is_PSA_secure_target: for flag, param in [ ("MBED_PUBLIC_RAM_START", "target.public-ram-start"),