]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
plat/arm/css/sgi: Map flash used for mem_protect
authorSami Mujawar <sami.mujawar@arm.com>
Thu, 30 Apr 2020 14:50:34 +0000 (15:50 +0100)
committerThomas Abraham <thomas.abraham@arm.com>
Thu, 24 Sep 2020 13:45:54 +0000 (19:15 +0530)
The SGI platform defines the macro PLAT_ARM_MEM_PROT_ADDR which
indicates that the platform has mitigation for cold reboot attacks.

However, the flash memory used for the mem_protect region was not
mapped. This results in a crash when an OS calls PSCI MEM_PROTECT.

To fix this map the flash region used for mem_protect.

Change-Id: Ia494f924ecfe2ce835c045689ba8f942bf0941f4
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
plat/arm/css/sgi/include/sgi_base_platform_def.h
plat/arm/css/sgi/sgi_plat.c

index 14cdb7e7612711baf5e5558287fca014afc15920..159084f958a3ea0a918cb63b69592fe4dff3d76c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2020, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -39,7 +39,7 @@
 #  define PLAT_SP_IMAGE_MAX_XLAT_TABLES        10
 # else
 #  define PLAT_ARM_MMAP_ENTRIES                (5 + ((CSS_SGI_CHIP_COUNT - 1) * 3))
-#  define MAX_XLAT_TABLES              (5 + ((CSS_SGI_CHIP_COUNT - 1) * 3))
+#  define MAX_XLAT_TABLES              (6 + ((CSS_SGI_CHIP_COUNT - 1) * 3))
 # endif
 #elif defined(IMAGE_BL32)
 # define PLAT_ARM_MMAP_ENTRIES         8
index a2117f6c1deaafaac8f5adf56dc5c442f600b4a3..39eb89eb8d1164b213cd25fe1b704f2c640f8f35 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018-2020, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2018-2020, Arm Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -43,6 +43,9 @@ const mmap_region_t plat_arm_mmap[] = {
 const mmap_region_t plat_arm_mmap[] = {
        ARM_MAP_SHARED_RAM,
        SGI_MAP_FLASH0_RO,
+#ifdef PLAT_ARM_MEM_PROT_ADDR
+       ARM_V2M_MAP_MEM_PROTECT,
+#endif
        CSS_SGI_MAP_DEVICE,
        SOC_CSS_MAP_DEVICE,
        ARM_MAP_NS_DRAM1,
@@ -63,6 +66,9 @@ const mmap_region_t plat_arm_mmap[] = {
        ARM_MAP_SHARED_RAM,
        V2M_MAP_IOFPGA,
        CSS_SGI_MAP_DEVICE,
+#ifdef PLAT_ARM_MEM_PROT_ADDR
+       ARM_V2M_MAP_MEM_PROTECT,
+#endif
        SOC_CSS_MAP_DEVICE,
 #if SPM_MM
        ARM_SPM_BUF_EL3_MMAP,