[PATCH] arm: include: secure: Don't include asm\global_data.h in .S file

Commit "common: Drop asm/global_data.h from common header" added asm\global_data.h into secure.h. However, secure.h will be included by psci.S. Adding asm\global_data.h has caused compilation failure in pcsi.S. Update secure.h to only include asm\global_data.h in non-assembly section.
Signed-off-by: Siew Chin Lim elly.siew.chin.lim@intel.com --- arch/arm/include/asm/secure.h | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/arch/arm/include/asm/secure.h b/arch/arm/include/asm/secure.h index 64e5582c1f..63a21f89ce 100644 --- a/arch/arm/include/asm/secure.h +++ b/arch/arm/include/asm/secure.h @@ -2,7 +2,9 @@ #define __ASM_SECURE_H
#include <config.h> +#ifndef __ASSEMBLY__ #include <asm/global_data.h> +#endif
#define __secure __attribute__ ((section ("._secure.text"))) #define __secure_data __attribute__ ((section ("._secure.data"))) @@ -27,17 +29,6 @@ typedef struct secure_svc_tbl { .id = _id, \ .func = _fn }
-#else - -#ifdef CONFIG_ARMV8_PSCI -#define SECURE_SVC_TBL_OFFSET 16 -#else -#define SECURE_SVC_TBL_OFFSET 8 - -#endif - -#endif /* __ASSEMBLY__ */ - #if defined(CONFIG_ARMV7_SECURE_BASE) || defined(CONFIG_ARMV8_SECURE_BASE) /* * Warning, horror ahead. @@ -58,4 +49,14 @@ typedef struct secure_svc_tbl { #define secure_ram_addr(_fn) (_fn) #endif
+#else /* __ASSEMBLY__ */ + +#ifdef CONFIG_ARMV8_PSCI +#define SECURE_SVC_TBL_OFFSET 16 +#else +#define SECURE_SVC_TBL_OFFSET 8 +#endif + +#endif /* __ASSEMBLY__ */ + #endif

Hi Siew,
On Thu, 18 Feb 2021 at 19:31, Siew Chin Lim elly.siew.chin.lim@intel.com wrote:
Commit "common: Drop asm/global_data.h from common header" added asm\global_data.h into secure.h. However, secure.h will be included
asm/global_data.h
by psci.S. Adding asm\global_data.h has caused compilation failure in pcsi.S. Update secure.h to only include asm\global_data.h in non-assembly section.
Signed-off-by: Siew Chin Lim elly.siew.chin.lim@intel.com
arch/arm/include/asm/secure.h | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-)
Which board shows this failure?
diff --git a/arch/arm/include/asm/secure.h b/arch/arm/include/asm/secure.h index 64e5582c1f..63a21f89ce 100644 --- a/arch/arm/include/asm/secure.h +++ b/arch/arm/include/asm/secure.h @@ -2,7 +2,9 @@ #define __ASM_SECURE_H
#include <config.h> +#ifndef __ASSEMBLY__ #include <asm/global_data.h> +#endif
#define __secure __attribute__ ((section ("._secure.text"))) #define __secure_data __attribute__ ((section ("._secure.data"))) @@ -27,17 +29,6 @@ typedef struct secure_svc_tbl { .id = _id, \ .func = _fn }
-#else
-#ifdef CONFIG_ARMV8_PSCI -#define SECURE_SVC_TBL_OFFSET 16 -#else -#define SECURE_SVC_TBL_OFFSET 8
-#endif
-#endif /* __ASSEMBLY__ */
#if defined(CONFIG_ARMV7_SECURE_BASE) || defined(CONFIG_ARMV8_SECURE_BASE) /*
- Warning, horror ahead.
@@ -58,4 +49,14 @@ typedef struct secure_svc_tbl { #define secure_ram_addr(_fn) (_fn) #endif
+#else /* __ASSEMBLY__ */
+#ifdef CONFIG_ARMV8_PSCI +#define SECURE_SVC_TBL_OFFSET 16 +#else +#define SECURE_SVC_TBL_OFFSET 8 +#endif
+#endif /* __ASSEMBLY__ */
#endif
2.13.0
Regards, Simon

Hi Simon,
-----Original Message----- From: Simon Glass sjg@chromium.org Sent: Saturday, February 20, 2021 7:55 PM To: Lim, Elly Siew Chin elly.siew.chin.lim@intel.com Cc: U-Boot Mailing List u-boot@lists.denx.de; Marek Vasut marex@denx.de; Tan, Ley Foon ley.foon.tan@intel.com; See, Chin Liang chin.liang.see@intel.com; Simon Goldschmidt simon.k.r.goldschmidt@gmail.com; Chee, Tien Fong tien.fong.chee@intel.com; Westergreen, Dalon dalon.westergreen@intel.com; Gan, Yau Wai yau.wai.gan@intel.com Subject: Re: [PATCH] arm: include: secure: Don't include asm\global_data.h in .S file
Hi Siew,
On Thu, 18 Feb 2021 at 19:31, Siew Chin Lim elly.siew.chin.lim@intel.com wrote:
Commit "common: Drop asm/global_data.h from common header" added asm\global_data.h into secure.h. However, secure.h will be included
asm/global_data.h
Noted. I will update the comment.
by psci.S. Adding asm\global_data.h has caused compilation failure in pcsi.S. Update secure.h to only include asm\global_data.h in non-assembly section.
Signed-off-by: Siew Chin Lim elly.siew.chin.lim@intel.com
arch/arm/include/asm/secure.h | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-)
Which board shows this failure?
Intel socfpga board with non-ATF flow. We need to enable CONFIG_ARMV8_PSCI at our downstream patch for non-ATF flow PSCI support. With this CONFIG_ARMV8_PSCI, it will compile psci.S, psci.S include secure.h, and secure.h have been updated to include "asm/global_data.h". The compilation fails with the following errors.
./arch/arm/include/asm/types.h: Assembler messages: ./arch/arm/include/asm/types.h:6: Error: unknown mnemonic `typedef' -- `typedef unsigned short umode_t' ./arch/arm/include/asm/types.h:20: Error: unknown mnemonic `typedef' -- `typedef unsigned long long phys_addr_t' ./arch/arm/include/asm/types.h:21: Error: unknown mnemonic `typedef' -- `typedef unsigned long long phys_size_t' ./arch/arm/include/asm/types.h:38: Error: unknown mnemonic `typedef' -- `typedef unsigned long long dma_addr_t' include/linux/posix_types.h:36: Error: unknown mnemonic `typedef' -- `typedef struct{' ...< truncated>...
Thanks, Siew Chin
diff --git a/arch/arm/include/asm/secure.h b/arch/arm/include/asm/secure.h index 64e5582c1f..63a21f89ce 100644 --- a/arch/arm/include/asm/secure.h +++ b/arch/arm/include/asm/secure.h @@ -2,7 +2,9 @@ #define __ASM_SECURE_H
#include <config.h> +#ifndef __ASSEMBLY__ #include <asm/global_data.h> +#endif
#define __secure __attribute__ ((section ("._secure.text"))) #define __secure_data __attribute__ ((section ("._secure.data"))) @@ -27,17 +29,6 @@ typedef struct secure_svc_tbl { .id = _id, \ .func = _fn }
-#else
-#ifdef CONFIG_ARMV8_PSCI -#define SECURE_SVC_TBL_OFFSET 16 -#else -#define SECURE_SVC_TBL_OFFSET 8
-#endif
-#endif /* __ASSEMBLY__ */
#if defined(CONFIG_ARMV7_SECURE_BASE) || defined(CONFIG_ARMV8_SECURE_BASE) /*
- Warning, horror ahead.
@@ -58,4 +49,14 @@ typedef struct secure_svc_tbl { #define secure_ram_addr(_fn) (_fn) #endif
+#else /* __ASSEMBLY__ */
+#ifdef CONFIG_ARMV8_PSCI +#define SECURE_SVC_TBL_OFFSET 16 +#else +#define SECURE_SVC_TBL_OFFSET 8 +#endif
+#endif /* __ASSEMBLY__ */
#endif
2.13.0
Regards, Simon
participants (3)
-
Lim, Elly Siew Chin
-
Siew Chin Lim
-
Simon Glass