Browse Source
Remove the platform common plat_arm_security_setup function to allow platform specific implementations of the security setup function implemented in the board directory of the platform. For use by secure software, configure region0 of DMC-620 trustzone controller to protect the upper 16MB of memory of the first DRAM block from non-secure accesses. Change-Id: I9a8c19656702c4fa4f6917b3655b692d443bb568 Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>pull/1691/head
Vijayenthiran Subramaniam
6 years ago
8 changed files with 97 additions and 21 deletions
@ -0,0 +1,39 @@ |
|||
/*
|
|||
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. |
|||
* |
|||
* SPDX-License-Identifier: BSD-3-Clause |
|||
*/ |
|||
|
|||
#include <debug.h> |
|||
#include <platform_def.h> |
|||
#include <tzc_dmc620.h> |
|||
|
|||
uintptr_t sgi575_dmc_base[] = { |
|||
SGI575_DMC620_BASE0, |
|||
SGI575_DMC620_BASE1 |
|||
}; |
|||
|
|||
static const tzc_dmc620_driver_data_t sgi575_plat_driver_data = { |
|||
.dmc_base = sgi575_dmc_base, |
|||
.dmc_count = ARRAY_SIZE(sgi575_dmc_base) |
|||
}; |
|||
|
|||
static const tzc_dmc620_acc_addr_data_t sgi575_acc_addr_data[] = { |
|||
{ |
|||
.region_base = ARM_AP_TZC_DRAM1_BASE, |
|||
.region_top = ARM_AP_TZC_DRAM1_BASE + ARM_TZC_DRAM1_SIZE - 1, |
|||
.sec_attr = TZC_DMC620_REGION_S_RDWR |
|||
} |
|||
}; |
|||
|
|||
static const tzc_dmc620_config_data_t sgi575_plat_config_data = { |
|||
.plat_drv_data = &sgi575_plat_driver_data, |
|||
.plat_acc_addr_data = sgi575_acc_addr_data, |
|||
.acc_addr_count = ARRAY_SIZE(sgi575_acc_addr_data) |
|||
}; |
|||
|
|||
/* Initialize the secure environment */ |
|||
void plat_arm_security_setup(void) |
|||
{ |
|||
arm_tzc_dmc620_setup(&sgi575_plat_config_data); |
|||
} |
@ -0,0 +1,39 @@ |
|||
/*
|
|||
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. |
|||
* |
|||
* SPDX-License-Identifier: BSD-3-Clause |
|||
*/ |
|||
|
|||
#include <debug.h> |
|||
#include <platform_def.h> |
|||
#include <tzc_dmc620.h> |
|||
|
|||
uintptr_t sgiclarka_dmc_base[] = { |
|||
SGICLARKA_DMC620_BASE0, |
|||
SGICLARKA_DMC620_BASE1 |
|||
}; |
|||
|
|||
static const tzc_dmc620_driver_data_t sgiclarka_plat_driver_data = { |
|||
.dmc_base = sgiclarka_dmc_base, |
|||
.dmc_count = ARRAY_SIZE(sgiclarka_dmc_base) |
|||
}; |
|||
|
|||
static const tzc_dmc620_acc_addr_data_t sgiclarka_acc_addr_data[] = { |
|||
{ |
|||
.region_base = ARM_AP_TZC_DRAM1_BASE, |
|||
.region_top = ARM_AP_TZC_DRAM1_BASE + ARM_TZC_DRAM1_SIZE - 1, |
|||
.sec_attr = TZC_DMC620_REGION_S_RDWR |
|||
} |
|||
}; |
|||
|
|||
static const tzc_dmc620_config_data_t sgiclarka_plat_config_data = { |
|||
.plat_drv_data = &sgiclarka_plat_driver_data, |
|||
.plat_acc_addr_data = sgiclarka_acc_addr_data, |
|||
.acc_addr_count = ARRAY_SIZE(sgiclarka_acc_addr_data) |
|||
}; |
|||
|
|||
/* Initialize the secure environment */ |
|||
void plat_arm_security_setup(void) |
|||
{ |
|||
arm_tzc_dmc620_setup(&sgiclarka_plat_config_data); |
|||
} |
@ -1,15 +0,0 @@ |
|||
/*
|
|||
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. |
|||
* |
|||
* SPDX-License-Identifier: BSD-3-Clause |
|||
*/ |
|||
|
|||
#include <arm_config.h> |
|||
#include <plat_arm.h> |
|||
|
|||
/*
|
|||
* We assume that all security programming is done by the primary core. |
|||
*/ |
|||
void plat_arm_security_setup(void) |
|||
{ |
|||
} |
Loading…
Reference in new issue