Hi Simon, > -----Original Message----- > From: Simon Glass <s...@chromium.org> > Sent: Saturday, February 20, 2021 7:55 PM > To: Lim, Elly Siew Chin <elly.siew.chin....@intel.com> > Cc: U-Boot Mailing List <u-boot@lists.denx.de>; Marek Vasut > <ma...@denx.de>; Tan, Ley Foon <ley.foon....@intel.com>; See, Chin Liang > <chin.liang....@intel.com>; Simon Goldschmidt > <simon.k.r.goldschm...@gmail.com>; Chee, Tien Fong > <tien.fong.c...@intel.com>; Westergreen, Dalon > <dalon.westergr...@intel.com>; Gan, Yau Wai <yau.wai....@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....@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....@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