Message ID | 20210219023143.24373-1-elly.siew.chin.lim@intel.com |
---|---|
State | Superseded |
Delegated to: | Tom Rini |
Headers | show |
Series | arm: include: secure: Don't include asm\global_data.h in .S file | expand |
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
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
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(-)