From d4c596be87e0b04404fc10ee49544eda33c0f625 Mon Sep 17 00:00:00 2001 From: Roberto Vargas Date: Thu, 3 Aug 2017 08:16:16 +0100 Subject: mem_protect: Add mem_protect API This patch adds the generic code that links the psci smc handler with the platform function that implements the mem_protect and mem_check_range functionalities. These functions are optional APIs added in PSCI v1.1 (ARM DEN022D). Change-Id: I3bac1307a5ce2c7a196ace76db8317e8d8c8bb3f Signed-off-by: Roberto Vargas --- include/lib/psci/psci.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'include/lib/psci/psci.h') diff --git a/include/lib/psci/psci.h b/include/lib/psci/psci.h index 0ed39c9a..0b44ab2e 100644 --- a/include/lib/psci/psci.h +++ b/include/lib/psci/psci.h @@ -65,6 +65,9 @@ #define PSCI_STAT_RESIDENCY_AARCH64 U(0xc4000010) #define PSCI_STAT_COUNT_AARCH32 U(0x84000011) #define PSCI_STAT_COUNT_AARCH64 U(0xc4000011) +#define PSCI_MEM_PROTECT U(0x84000013) +#define PSCI_MEM_CHK_RANGE_AARCH32 U(0x84000014) +#define PSCI_MEM_CHK_RANGE_AARCH64 U(0xc4000014) /* Macro to help build the psci capabilities bitfield */ #define define_psci_cap(x) (U(1) << (x & U(0x1f))) @@ -288,6 +291,9 @@ typedef struct plat_psci_ops { unsigned int power_state, psci_power_state_t *output_state); int (*get_node_hw_state)(u_register_t mpidr, unsigned int power_level); + int (*mem_protect_chk)(uintptr_t base, u_register_t length); + int (*read_mem_protect)(int *val); + int (*write_mem_protect)(int val); } plat_psci_ops_t; /******************************************************************************* -- cgit v1.2.3