plat-vexpress: make stacks cache line aligned

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
arm32: remove memmap_notinit bookkeeping

Removes the bookkeeping of whether memory map has been initialized or
not using the memmap_notinit variable. Memory map is always initialized
before any core_va2pa() or core_pa2va() is performed so the bookkeeping
doesn't do much good.

The variable was updated with caches disabled while other CPUs might have
caches enabled. This can result in unexpected problems.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (Juno)
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
plat-stm: make stacks cache line aligned

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
plat-stm: rename memory definition name

Rename following memory area definition name, according
to the one used in vexpress:
    CFG_DDR_START             into DRAM0_BASE
    CFG_DDR_SIZE              into DRAM0_SIZE
    CFG_DDR1_START            into DRAM1_BASE
    CFG_DDR1_SIZE             into DRAM1_SIZE
    CFG_DDR_ARM_ARMTZ_START   into CFG_SHMEM_START
    CFG_DDR_ARM_ARMTZ_SIZE    into CFG_SHMEM_SIZE
    CFG_DDR_ARMTZ_ONLY_START  into TZDRAM_BASE
    CFG_DDR_ARMTZ_ONLY_SIZE   into TZDRAM_SIZE

Signed-off-by: Pascal Brand <pascal.brand@st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
plat-stm: move memory definition in platform_config.h

Signed-off-by: Pascal Brand <pascal.brand@st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Align plat-stm and plat-vexpress versions of core_bootcfg.c

Signed-off-by: Pascal Brand <pascal.brand@st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
arm32: move plat-vexpress link files to kernel dir

Move plat-vexpress link script and link.mk file to kernel directory to
share it with other platforms.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
arm32: refactor tee_entry_* functions

* Refactors tee_entry_* functions to make them more useful for all
  platforms.

plat-vexpress:
* Removes plat_tee_func.[ch], uses default functions instead

plat-stm:
* Removes all present tee_entry_* functions
* Adds a new tee_entry_l2cc_mutex() to override the weak counterpart.
* Adds plat_tee_func() in plat_tee_func.c to be able to call init_teecore()
  on first invocation.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
plat-stm: use generic link script

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
plat-stm: support CFG_WITH_PAGER

* Optionally enable paging with CFG_WITH_PAGER=y
* Uses fake SRAM when paging is enabled
* Supports partitioning OP-TEE binary in unpaged, init and pageable areas

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>