Structure of files

Top level directories

DirectoryDescription
/coreFiles that are only used building TEE Core
/libFiles that are used both when building TEE Core and TAs
/taFiles that are only used when building TAs
/mkMakefiles supporting the build system
/tmp-stuffTemporary stuff that will be removed before the final commit is made
/scriptsHelper scripts for miscellaneous tasks
/outCreated when building unless a different out directory is specified with O=... on the command line

Structure of /core

DirectoryDescription
/archArchitecture and platform specific files
/libGeneric libraries that are likely to be replaced in a final product
/mmGeneric memory management, currently empty
/teeGeneric TEE files

Structure of /core/arch

DirectoryDescription
/arm32ARMv7 and Aarch32 specific architecture and platform specific files
/user_modeLinux used space specific files when debugging TEE Core as a user space process, only used for some development

Structure of /core/arch/arm32

DirectoryDescription
/includeInclude files used in rest of TEE core but not in any supporting libraries
/kernLow level and core parts of TEE Core
/mmMemory management
/teeTEE files
/smSecure Monitor
/plat-orlySpecific files for the Orly platform

Structure of /core/arch/arm32/include

DirectoryDescription
/kernInclude files exposing API for /core/arch/arm32/kern files
/ktaInclude files exposing the KTA API that is mainly used by kernel TAs
/mmInclude files exposing API for /core/arch/arm32/mm files
/romOld ROM files that should be removed before going public
/smInclude files exposing API for Secure Monitor

Structure of /core/lib/lib{crypto,sla}

DirectoryDescription
/Source files for the library
/includeInclude files exposing the API of the library

Structure of /lib/libutils

DirectoryDescription
/Source file for the library
/archArchitecture specific source files
/arch/arm32ARMv7 and Aarch32 specific source files
/arch/arm32/includeARMv7 and Aarch32 specific include files
/includeInclude files exposing the API of the library