6.60.9 ARM ARMv8-M Расширения безопасности
GCC реализует расширения безопасности ARMv8-M, как описано в спецификации ARMv8-M Security Extensions: Требования к инструментарию разработки, которую можно найти по адресу http://infocenter.arm.com/help/topic/com.arm.doc.ecm0359818/ECM0359818_armv8m_security_extensions_reqs_on_dev_tools_1_0.pdf.
В рамках расширений безопасности GCC реализует два новых атрибута функций: cmse_nonsecure_entry и cmse_nonsecure_call.
В рамках расширений безопасности GCC реализует приведенные ниже встроенные функции. FPTR здесь используется для обозначения любого типа указателя на функцию.
cmse_address_info_t cmse_TT (void *) cmse_address_info_t cmse_TT_fptr (FPTR) cmse_address_info_t cmse_TTT (void *) cmse_address_info_t cmse_TTT_fptr (FPTR) cmse_address_info_t cmse_TTA (void *) cmse_address_info_t cmse_TTA_fptr (FPTR) cmse_address_info_t cmse_TTAT (void *) cmse_address_info_t cmse_TTAT_fptr (FPTR) void * cmse_check_address_range (void *, size_t, int) typeof(p) cmse_nsfptr_create (FPTR p) intptr_t cmse_is_nsfptr (FPTR) int cmse_nonsecure_caller (void)
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.5.0/gcc/ARM-ARMv8-M-Security-Extensions.html