• Antonio Nino Diaz's avatar
    BL31: Enable pointer authentication support · 88cfd9a6
    Antonio Nino Diaz authored
    The size increase after enabling options related to ARMv8.3-PAuth is:
    
    +----------------------------+-------+-------+-------+--------+
    |                            |  text |  bss  |  data | rodata |
    +----------------------------+-------+-------+-------+--------+
    | CTX_INCLUDE_PAUTH_REGS = 1 |  +192 | +1536 |   +0  |   +0   |
    |                            |  0.3% |  3.1% |       |        |
    +----------------------------+-------+-------+-------+--------+
    | ENABLE_PAUTH = 1           | +1848 | +1536 |  +16  |   +0   |
    |                            |  3.3% |  3.1% |  3.1% |        |
    +----------------------------+-------+-------+-------+--------+
    
    Results calculated with the following build configuration:
    
        make PLAT=fvp SPD=tspd DEBUG=1 \
        SDEI_SUPPORT=1                 \
        EL3_EXCEPTION_HANDLING=1       \
        TSP_NS_INTR_ASYNC_PREEMPT=1    \
        CTX_INCLUDE_PAUTH_REGS=1       \
        ENABLE_PAUTH=1
    
    Change-Id: I43db7e509a4f39da6599ec2faa690d197573ec1b
    Signed-off...
    88cfd9a6
bl31.h 812 Bytes
/*
 * Copyright (c) 2013-2019, ARM Limited and Contributors. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#ifndef BL31_H
#define BL31_H

#include <stdint.h>

/*******************************************************************************
 * Function prototypes
 ******************************************************************************/
void bl31_setup(u_register_t arg0, u_register_t arg1, u_register_t arg2,
		u_register_t arg3);
void bl31_next_el_arch_setup(uint32_t security_state);
void bl31_set_next_image_type(uint32_t security_state);
uint32_t bl31_get_next_image_type(void);
void bl31_prepare_next_image_entry(void);
void bl31_register_bl32_init(int32_t (*func)(void));
void bl31_warm_entrypoint(void);
void bl31_main(void);
void bl31_lib_init(void);

#endif /* BL31_H */