Changeset e755782 in rtems
- Timestamp:
- 07/03/18 07:54:47 (5 years ago)
- Branches:
- 5, master
- Children:
- d3dff40
- Parents:
- 77fbbd6
- git-author:
- Sebastian Huber <sebastian.huber@…> (07/03/18 07:54:47)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (07/05/18 05:12:24)
- Location:
- cpukit/score/cpu/riscv
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/score/cpu/riscv/include/rtems/asm.h
r77fbbd6 re755782 172 172 .endm 173 173 174 .macro CLEAR_RESERVATIONS REG 175 #ifdef __riscv_atomic 176 /* 177 * Clear reservations, see also RISC-V User-Level ISA V2.3, comment in 178 * section 8.2 "Load-Reserved/Store-Conditional Instructions". 179 */ 180 sc.w zero, zero, (\REG) 174 181 #endif 182 .endm 183 184 #endif -
cpukit/score/cpu/riscv/include/rtems/score/cpu.h
r77fbbd6 re755782 64 64 #define CPU_LITTLE_ENDIAN TRUE 65 65 #define CPU_MODES_INTERRUPT_MASK 0x0000000000000001 66 67 #define CPU_PER_CPU_CONTROL_SIZE 068 66 69 67 #define CPU_CACHE_LINE_BYTES 64 … … 225 223 #define CPU_MAXIMUM_PROCESSORS 32 226 224 227 typedef struct {228 /* There is no CPU specific per-CPU state */229 } CPU_Per_CPU_control;230 231 225 typedef uint16_t Priority_bit_map_Word; 232 226 -
cpukit/score/cpu/riscv/include/rtems/score/cpuimpl.h
r77fbbd6 re755782 35 35 #include <rtems/score/cpu.h> 36 36 37 #ifdef __riscv_atomic 38 #define CPU_PER_CPU_CONTROL_SIZE 16 39 #else 37 40 #define CPU_PER_CPU_CONTROL_SIZE 0 41 #endif 38 42 39 43 #ifdef RTEMS_SMP … … 287 291 } RTEMS_ALIGNED( CPU_STACK_ALIGNMENT ) CPU_Interrupt_frame; 288 292 293 #ifdef __riscv_atomic 294 typedef struct { 295 uint64_t clear_reservations; 296 uint32_t reserved_for_alignment_of_interrupt_frame[ 2 ]; 297 } CPU_Per_CPU_control; 298 #endif 299 289 300 static inline uint32_t _RISCV_Read_FCSR( void ) 290 301 { -
cpukit/score/cpu/riscv/riscv-context-switch.S
r77fbbd6 re755782 137 137 sw a3, PER_CPU_ISR_DISPATCH_DISABLE(a2) 138 138 139 CLEAR_RESERVATIONS a2 140 139 141 ret 140 142 -
cpukit/score/cpu/riscv/riscv-exception-handler.S
r77fbbd6 re755782 115 115 sw t2, PER_CPU_ISR_NEST_LEVEL(s0) 116 116 sw t1, PER_CPU_THREAD_DISPATCH_DISABLE_LEVEL(s0) 117 118 CLEAR_RESERVATIONS s0 117 119 118 120 /* Keep sp (Exception frame address) in s1 */
Note: See TracChangeset
for help on using the changeset viewer.