From 2d94d4a0bea2c2419efda7fdd821542f6c0bff4b Mon Sep 17 00:00:00 2001 From: Achin Gupta Date: Tue, 5 Nov 2013 11:10:38 +0000 Subject: [PATCH] remove check on non-secure entrypoint parameter In fvp_affinst_on/suspend, the non-secure entrypoint is always expected to lie in the DRAM. This check will not be valid if non-secure code executes directly out of flash e.g. a baremetal test. This patch removes this check. Change-Id: I0436e1138fc394aae8ff1ea59ebe38b46a440b61 --- docs/change-log.md | 3 +++ plat/fvp/fvp_pm.c | 12 ------------ 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/docs/change-log.md b/docs/change-log.md index 8be7a514b..5a9bdb3a2 100644 --- a/docs/change-log.md +++ b/docs/change-log.md @@ -56,6 +56,9 @@ Detailed changes since last release is powered on, if a non zero context id parameter was passed in the PSCI CPU_ON and CPU_SUSPEND api calls has been corrected. +* A restriction in the FVP code which did not allow the non-secure entrypoint + to lie outside the DRAM has been removed. + ARM Trusted Firmware - version 0.2 ================================== diff --git a/plat/fvp/fvp_pm.c b/plat/fvp/fvp_pm.c index 658a28594..d3abe1d87 100644 --- a/plat/fvp/fvp_pm.c +++ b/plat/fvp/fvp_pm.c @@ -58,11 +58,6 @@ int fvp_affinst_on(unsigned long mpidr, mailbox *fvp_mboxes; unsigned int psysr; - if (ns_entrypoint < DRAM_BASE) { - rc = PSCI_E_INVALID_PARAMS; - goto exit; - } - /* * It's possible to turn on only affinity level 0 i.e. a cpu * on the FVP. Ignore any other affinity level. @@ -193,12 +188,6 @@ int fvp_affinst_suspend(unsigned long mpidr, unsigned long cpu_setup, cci_setup, linear_id; mailbox *fvp_mboxes; - /* Cannot allow NS world to execute trusted firmware code */ - if (ns_entrypoint < DRAM_BASE) { - rc = PSCI_E_INVALID_PARAMS; - goto exit; - } - switch (afflvl) { case MPIDR_AFFLVL1: if (state == PSCI_STATE_OFF) { @@ -260,7 +249,6 @@ int fvp_affinst_suspend(unsigned long mpidr, assert(0); } -exit: return rc; }