• Sandrine Bailleux's avatar
    xlat lib: Reorganize architectural defs · 8933c34b
    Sandrine Bailleux authored
    
    
    Move the header files that provide translation tables architectural
    definitions from the library v2 source files to the library include
    directory. This allows to share these definitions between both
    versions (v1 and v2) of the library.
    
    Create a new header file that includes the AArch32 or AArch64
    definitions based on the AARCH32 build flag, so that the library user
    doesn't have to worry about handling it on their side.
    
    Also repurpose some of the definitions the header files provide to
    concentrate on the things that differ between AArch32 and AArch64.
    As a result they now contain the following information:
     - the first table level that allows block descriptors;
     - the architectural limits of the virtual address space;
     - the initial lookup level to cover the entire address space.
    
    Additionally, move the XLAT_TABLE_LEVEL_MIN macro from
    xlat_tables_defs.h to the AArch32/AArch64 architectural definitions.
    
    This new organisation eliminates duplicated information in the AArch32
    and AArch64 versions. It also decouples these architectural files from
    any platform-specific information. Previously, they were dependent on
    the address space size, which is platform-specific.
    
    Finally, for the v2 of the library, move the compatibility code for
    ADDR_SPACE_SIZE into a C file as it is not needed outside of this
    file. For v1, this code hasn't been changed and stays in a header
    file because it's needed by several files.
    
    Change-Id: If746c684acd80eebf918abd3ab6e8481d004ac68
    Signed-off-by: default avatarSandrine Bailleux <sandrine.bailleux@arm.com>
    8933c34b
xlat_tables.c 3.32 KB