Build: IAR support

- This patch contains IAR specific changes to a few source files,
  mostly #pragmas to allow calling external functions from inline.

- Startup code and linker scripts

- cmake files

- cmsis file for the IAR compiler

Other targets are added in later commits

There are still lots of warnings generated for non-standard C, which
I plan to address in later updates

- Cleaned out some dead definitions in the common linker script in
  preparation for psoc64 integration.

- Made sure that .rodata from tfm_its_secure_api.o is placed in
  TFM_UNPRIV_CODE, which otherwised caused a memory management fault
  in test TFM_ITS_TEST_2023 when compiled without optimization.

- Added dummy initializers to tfm_secure_irq_handlers.inc.template to
  avoid illegal empty arrays.

- Reworked the iovec_args_t struct handling in tfm_func_api.c, which
  was causing runtime errors when compiled with optimization.
  According to the compiler developers the old implemetation is
  illegal, you are not allowed to use the address of a scalar as an
  address outside of that scalar.

- Added conditional around ".syntax unified" in tfm_nspm_ipc.c.

- Added "template" attribute for the IAR linker script in
  tfm_generated_file_list.yaml.

- Cleaned up some indentation and tab/space issues

Change-Id: I8599d461f62194bc734e472a28d7111ba3b5046a
Signed-off-by: TTornblom <thomas.tornblom@iar.com>
diff --git a/cmake/Common/CompilerDetermineASM.cmake b/cmake/Common/CompilerDetermineASM.cmake
index 7bef05d..e38bce5 100644
--- a/cmake/Common/CompilerDetermineASM.cmake
+++ b/cmake/Common/CompilerDetermineASM.cmake
@@ -1,5 +1,5 @@
 #-------------------------------------------------------------------------------
-# Copyright (c) 2019, Arm Limited. All rights reserved.
+# Copyright (c) 2019-2020, Arm Limited. All rights reserved.
 #
 # SPDX-License-Identifier: BSD-3-Clause
 #
@@ -22,6 +22,8 @@
 	set(ARM_TOOLCHAIN_FILE "Compiler/ARMCC-ASM")
 elseif (_ASM_COMPILER_NAME MATCHES "^.*gcc(\\.exe)?$")
 	set(ARM_TOOLCHAIN_FILE "Compiler/GNUARM-ASM")
+elseif (_ASM_COMPILER_NAME MATCHES "^.*iasmarm(\\.exe)?$")
+	set(ARM_TOOLCHAIN_FILE "Compiler/IARARM-ASM")
 else()
 	message(FATAL_ERROR "ASM Compiler executable ${_ASM_COMPILER_NAME} is \
 unknown. Please add needed settings to ${CMAKE_CURRENT_LIST_FILE}")