[PATCH 1/2] ARM: at91: add sam_linux_is_in_normal_world() function

From: Clément Léger
Date: Mon Jun 06 2022 - 10:58:20 EST


Add sam_linux_is_in_normal_world() which allows to know if Linux is
running in the normal world or not. This function is used by code
which needs to differentiate the world in which Linux is running.

Signed-off-by: Clément Léger <clement.leger@xxxxxxxxxxx>
---
arch/arm/mach-at91/sam_secure.c | 6 ++++++
arch/arm/mach-at91/sam_secure.h | 1 +
2 files changed, 7 insertions(+)

diff --git a/arch/arm/mach-at91/sam_secure.c b/arch/arm/mach-at91/sam_secure.c
index 2a01f7a7d13f..1ec8c8b9d119 100644
--- a/arch/arm/mach-at91/sam_secure.c
+++ b/arch/arm/mach-at91/sam_secure.c
@@ -27,6 +27,12 @@ struct arm_smccc_res sam_smccc_call(u32 fn, u32 arg0, u32 arg1)
return res;
}

+bool sam_linux_is_in_normal_world(void)
+{
+ /* If optee has been detected, then we are running in normal world */
+ return optee_available;
+}
+
void __init sam_secure_init(void)
{
struct device_node *np;
diff --git a/arch/arm/mach-at91/sam_secure.h b/arch/arm/mach-at91/sam_secure.h
index 1e7d8b20ba1e..6d8c01f9c5f0 100644
--- a/arch/arm/mach-at91/sam_secure.h
+++ b/arch/arm/mach-at91/sam_secure.h
@@ -14,5 +14,6 @@

void __init sam_secure_init(void);
struct arm_smccc_res sam_smccc_call(u32 fn, u32 arg0, u32 arg1);
+bool sam_linux_is_in_normal_world(void);

#endif /* SAM_SECURE_H */
--
2.36.1