Precede a 'sev' with a 'dsb' in bakery lock codeThis patch fixes a bug in the bakery lock implementation where a datasynchronisation barrier instruction is not issued before sending an event asma
Precede a 'sev' with a 'dsb' in bakery lock codeThis patch fixes a bug in the bakery lock implementation where a datasynchronisation barrier instruction is not issued before sending an event asmandated by the ARMv8 ARM. This can cause a event to be signalled before therelated memory accesses have completed resulting in erroneous execution.Fixes ARM-software/tf-issues#272Change-Id: I5ce02bf70afb001d967b9fa4c3f77442931d5349
show more ...
Remove calling CPU mpidr from bakery lock APIThe bakery lock code currently expects the calling code to passthe MPIDR_EL1 of the current CPU.This is not always done correctly. Also the change to
Remove calling CPU mpidr from bakery lock APIThe bakery lock code currently expects the calling code to passthe MPIDR_EL1 of the current CPU.This is not always done correctly. Also the change to provideinline access to system registers makes it more efficient for thebakery lock code to obtain the MPIDR_EL1 directly.This change removes the mpidr parameter from the bakery lockinterface, and results in a code reduction of 160 bytes for theARM FVP port.Fixes ARM-software/tf-issues#213Change-Id: I7ec7bd117bcc9794a0d948990fcf3336a367d543
Split platform.h into separate headersPreviously, platform.h contained many declarations and definitionsused for different purposes. This file has been split so that:* Platform definitions used
Split platform.h into separate headersPreviously, platform.h contained many declarations and definitionsused for different purposes. This file has been split so that:* Platform definitions used by common code that must be defined by the platform are now in platform_def.h. The exact include path is exported through $PLAT_INCLUDES in the platform makefile.* Platform definitions specific to the FVP platform are now in /plat/fvp/fvp_def.h.* Platform API declarations specific to the FVP platform are now in /plat/fvp/fvp_private.h.* The remaining platform API declarations that must be ported by each platform are still in platform.h but this file has been moved to /include/plat/common since this can be shared by all platforms.Change-Id: Ieb3bb22fbab3ee8027413c6b39a783534aee474a
Reduce deep nesting of header filesReduce the number of header files included from other headerfiles as much as possible without splitting the files. Use forwarddeclarations where possible. This
Reduce deep nesting of header filesReduce the number of header files included from other headerfiles as much as possible without splitting the files. Use forwarddeclarations where possible. This allows removal of some unnecessary"#ifndef __ASSEMBLY__" statements.Also, review the .c and .S files for which header files really needincluding and reorder the #include statements alphabetically.Fixes ARM-software/tf-issues#31Change-Id: Iec92fb976334c77453e010b60bcf56f3be72bd3e
Always use named structs in header filesAdd tag names to all unnamed structs in header files. Thisallows forward declaration of structs, which is necessary toreduce header file nesting (to be imp
Always use named structs in header filesAdd tag names to all unnamed structs in header files. Thisallows forward declaration of structs, which is necessary toreduce header file nesting (to be implemented in a subsequentcommit).Also change the typedef names across the codebase to use the _tsuffix to be more conformant with the Linux coding style. Thecoding style actually prefers us not to use typedefs at all butthis is considered a step too far for Trusted Firmware.Also change the IO framework structs defintions to use typedef'dstructs to be consistent with the rest of the codebase.Change-Id: I722b2c86fc0d92e4da3b15e5cab20373dd26786f
Move include and source files to logical locationsMove almost all system include files to a logical sub-directoryunder ./include. The only remaining system include directoriesnot under ./include
Move include and source files to logical locationsMove almost all system include files to a logical sub-directoryunder ./include. The only remaining system include directoriesnot under ./include are specific to the platform. Move thecorresponding source files to match the include directorystructure.Also remove pm.h as it is no longer used.Change-Id: Ie5ea6368ec5fad459f3e8a802ad129135527f0b3
12