Build: Refine include of CPU/Arch configs

- Let NSPE and SPE builds share the same cpuarch.cmake on a
  single-Armv8-M-core plaform, instead of keeping duplicated copies for
  SPE and NSPE builds respectively.
  It avoids unnecessary effort to maintain mutiple identical copies.

- cpuarch.cmake only expects general and simple cpu/arch types.
  Let toolchain files handle differences of CPU/Arch flags between
  various toolchains, toolchain versions and coprocessors. Make the
  complexities transparent to vendor platforms.

- Multi-core platforms can create and export cpuarch_ns.cmake to carry
  NS core/arch configs to NS build, as preload_ns.cmake did.

- Include cpuarch.cmake in pre_config.cmake since CPU/Arch flags might
  be used in other configurations.
  Remove the include of cpuarch.cmake from GNUARM toolchain as it is
  shared by all toolchians.

- Remove unnecessary compiler flag reload for buiding NS components on
  multi-core platforms. NS components are now built by NSPE builds with
  NS configs.

Change-Id: I063d548c5559b13b1f45131c126cd65a097e40c0
Signed-off-by: David Hu <david.hu@arm.com>
10 files changed