]> begriffs open source - freertos/blob - portable/IAR/ARM_CM55_NTZ/non_secure/portmacro.h
Armv8.1-m: Add pacbti support (#1147)
[freertos] / portable / IAR / ARM_CM55_NTZ / non_secure / portmacro.h
1 /*
2  * FreeRTOS Kernel <DEVELOPMENT BRANCH>
3  * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4  * Copyright 2024 Arm Limited and/or its affiliates
5  * <open-source-office@arm.com>
6  *
7  * SPDX-License-Identifier: MIT
8  *
9  * Permission is hereby granted, free of charge, to any person obtaining a copy of
10  * this software and associated documentation files (the "Software"), to deal in
11  * the Software without restriction, including without limitation the rights to
12  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
13  * the Software, and to permit persons to whom the Software is furnished to do so,
14  * subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be included in all
17  * copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
21  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
22  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
23  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
24  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25  *
26  * https://www.FreeRTOS.org
27  * https://github.com/FreeRTOS
28  *
29  */
30
31 #ifndef PORTMACRO_H
32 #define PORTMACRO_H
33
34 /* *INDENT-OFF* */
35 #ifdef __cplusplus
36     extern "C" {
37 #endif
38 /* *INDENT-ON* */
39
40 /*------------------------------------------------------------------------------
41  * Port specific definitions.
42  *
43  * The settings in this file configure FreeRTOS correctly for the given hardware
44  * and compiler.
45  *
46  * These settings should not be altered.
47  *------------------------------------------------------------------------------
48  */
49
50 #ifndef configENABLE_MVE
51     #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE.
52 #endif /* configENABLE_MVE */
53 /*-----------------------------------------------------------*/
54
55 /**
56  * Architecture specifics.
57  */
58 #define portARCH_NAME                    "Cortex-M55"
59 #define portHAS_ARMV8M_MAIN_EXTENSION    1
60 #define portARMV8M_MINOR_VERSION         1
61 #define portHAS_PACBTI_FEATURE           0
62 #define portDONT_DISCARD                 __root
63 /*-----------------------------------------------------------*/
64
65 /* ARMv8-M common port configurations. */
66 #include "portmacrocommon.h"
67 /*-----------------------------------------------------------*/
68
69 /**
70  * @brief Critical section management.
71  */
72 #define portDISABLE_INTERRUPTS()    ulSetInterruptMask()
73 #define portENABLE_INTERRUPTS()     vClearInterruptMask( 0 )
74 /*-----------------------------------------------------------*/
75
76 /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in
77  * the source code because to do so would cause other compilers to generate
78  * warnings. */
79 #pragma diag_suppress=Be006
80 #pragma diag_suppress=Pa082
81 /*-----------------------------------------------------------*/
82
83 /* *INDENT-OFF* */
84 #ifdef __cplusplus
85     }
86 #endif
87 /* *INDENT-ON* */
88
89 #endif /* PORTMACRO_H */