File tree Expand file tree Collapse file tree 6 files changed +44
-12
lines changed
ThirdParty/xClang/XCOREAI Expand file tree Collapse file tree 6 files changed +44
-12
lines changed Original file line number Diff line number Diff line change 59
59
brne
60
60
bswtrg
61
61
BSWTRG
62
+ Bytesto
62
63
CANEN
63
64
CANRX
64
65
CANTX
89
90
CKLO
90
91
CKPS
91
92
CLDIV
93
+ CLEARINTENA
92
94
CLKA
93
95
CLKB
96
+ CLKDIS
94
97
CLKEN
95
98
clki
96
99
CLKI
97
100
CLKP
98
101
CLKS
102
+ CLKSOURCE
99
103
CLKSTA
100
104
CLRB
101
105
CLRF
690
694
RTAR
691
695
RTCEN
692
696
RTCSC
697
+ RTICTL
693
698
RTIE
694
699
RTIF
695
700
RTIFRC
@@ -713,6 +718,7 @@ RXRSM
713
718
RXSETUP
714
719
RXSUSP
715
720
RXSYN
721
+ RXTDIS
716
722
RXTEN
717
723
RXUBR
718
724
SBYCR
726
732
SENDA
727
733
SETB
728
734
SETEN
735
+ SETINTENA
729
736
SETPSW
730
737
SETR
731
738
setvect
849
856
TXVDIS
850
857
UDCP
851
858
uncrustify
859
+ UNDADD
852
860
UNRE
853
861
unsuspended
854
862
URAD
@@ -867,6 +875,7 @@ VDDCORE
867
875
vect
868
876
VECT
869
877
VECTACTIVE
878
+ VECTKEY
870
879
visualisation
871
880
vldmdbeq
872
881
vldmia
Original file line number Diff line number Diff line change 509
509
510
510
#endif /* configUSE_TIMERS */
511
511
512
+ #ifndef portHAS_NESTED_INTERRUPTS
513
+ #if defined( portSET_INTERRUPT_MASK_FROM_ISR ) && defined( portCLEAR_INTERRUPT_MASK_FROM_ISR )
514
+ #define portHAS_NESTED_INTERRUPTS 1
515
+ #else
516
+ #define portHAS_NESTED_INTERRUPTS 0
517
+ #endif
518
+ #endif
519
+
512
520
#ifndef portSET_INTERRUPT_MASK_FROM_ISR
513
- #define portSET_INTERRUPT_MASK_FROM_ISR () 0
521
+ #if ( portHAS_NESTED_INTERRUPTS == 1 )
522
+ #error portSET_INTERRUPT_MASK_FROM_ISR must be defined for ports that support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 1)
523
+ #else
524
+ #define portSET_INTERRUPT_MASK_FROM_ISR () 0
525
+ #endif
526
+ #else
527
+ #if ( portHAS_NESTED_INTERRUPTS == 0 )
528
+ #error portSET_INTERRUPT_MASK_FROM_ISR must not be defined for ports that do not support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 0)
529
+ #endif
514
530
#endif
515
531
516
532
#ifndef portCLEAR_INTERRUPT_MASK_FROM_ISR
517
- #define portCLEAR_INTERRUPT_MASK_FROM_ISR ( uxSavedStatusValue ) ( void ) ( uxSavedStatusValue )
533
+ #if ( portHAS_NESTED_INTERRUPTS == 1 )
534
+ #error portCLEAR_INTERRUPT_MASK_FROM_ISR must be defined for ports that support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 1)
535
+ #else
536
+ #define portCLEAR_INTERRUPT_MASK_FROM_ISR ( uxSavedStatusValue ) ( void ) ( uxSavedStatusValue )
537
+ #endif
538
+ #else
539
+ #if ( portHAS_NESTED_INTERRUPTS == 0 )
540
+ #error portCLEAR_INTERRUPT_MASK_FROM_ISR must not be defined for ports that do not support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 0)
541
+ #endif
518
542
#endif
519
543
520
544
#ifndef portCLEAN_UP_TCB
Original file line number Diff line number Diff line change 33
33
* This file implements atomic functions by disabling interrupts globally.
34
34
* Implementations with architecture specific atomic instructions can be
35
35
* provided under each compiler directory.
36
+ *
37
+ * The atomic interface can be used in FreeRTOS tasks on all FreeRTOS ports. It
38
+ * can also be used in Interrupt Service Routines (ISRs) on FreeRTOS ports that
39
+ * support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 1). The
40
+ * atomic interface must not be used in ISRs on FreeRTOS ports that do not
41
+ * support nested interrupts (i.e. portHAS_NESTED_INTERRUPTS is set to 0)
42
+ * because ISRs on these ports cannot be interrupted and therefore, do not need
43
+ * atomics in ISRs.
36
44
*/
37
45
38
46
#ifndef ATOMIC_H
59
67
* ATOMIC_ENTER_CRITICAL().
60
68
*
61
69
*/
62
- #if defined( portSET_INTERRUPT_MASK_FROM_ISR )
70
+ #if ( portHAS_NESTED_INTERRUPTS == 1 )
63
71
64
72
/* Nested interrupt scheme is supported in this port. */
65
73
#define ATOMIC_ENTER_CRITICAL () \
Original file line number Diff line number Diff line change @@ -111,9 +111,6 @@ extern void vTaskSwitchContext( void );
111
111
/* Critical section management. */
112
112
#define portCRITICAL_NESTING_IN_TCB 0
113
113
114
- #define portSET_INTERRUPT_MASK_FROM_ISR () 0
115
- #define portCLEAR_INTERRUPT_MASK_FROM_ISR ( uxSavedStatusValue ) ( void ) uxSavedStatusValue
116
-
117
114
#define portDISABLE_INTERRUPTS () __asm volatile ( "csrc mstatus, 8" )
118
115
#define portENABLE_INTERRUPTS () __asm volatile ( "csrs mstatus, 8" )
119
116
Original file line number Diff line number Diff line change @@ -113,9 +113,6 @@ extern void vTaskSwitchContext( void );
113
113
/* Critical section management. */
114
114
#define portCRITICAL_NESTING_IN_TCB 0
115
115
116
- #define portSET_INTERRUPT_MASK_FROM_ISR () 0
117
- #define portCLEAR_INTERRUPT_MASK_FROM_ISR ( uxSavedStatusValue ) ( void ) uxSavedStatusValue
118
-
119
116
#define portDISABLE_INTERRUPTS () __disable_interrupt()
120
117
#define portENABLE_INTERRUPTS () __enable_interrupt()
121
118
Original file line number Diff line number Diff line change 139
139
#define portSET_INTERRUPT_MASK () rtos_interrupt_mask_all()
140
140
#define portCLEAR_INTERRUPT_MASK ( ulState ) rtos_interrupt_mask_set( ulState )
141
141
142
- #define portSET_INTERRUPT_MASK_FROM_ISR () ( 0 )
143
- #define portCLEAR_INTERRUPT_MASK_FROM_ISR ( x ) ( ( void ) x )
144
-
145
142
/*
146
143
* Will enable interrupts if ulState is non-zero.
147
144
*/
You can’t perform that action at this time.
0 commit comments