/ThreadX-v6.4.1/ports/rxv2/ccrx/src/ |
D | tx_thread_schedule.src | 56 ;/* This function waits for a thread control block pointer to appear in */ 57 ;/* the _tx_thread_execute_ptr variable. Once a thread pointer appears */ 58 ;/* in the variable, the corresponding thread is resumed. */ 75 ;/* _tx_thread_system_return Return to system from thread */ 76 ;/* _tx_thread_context_restore Restore thread's context */ 100 ; /* Wait for a thread to execute. */ 103 MOV.L #__tx_thread_execute_ptr, R1 ; Address of thread to executer ptr 107 MOV.L [R1],R2 ; Pickup next thread to execute 109 BNE __tx_thread_thread_ready ; Not NULL, schedule the thread 110 ; Idle system - no thread is ready [all …]
|
D | tx_thread_context_save.src | 49 ;/* This function saves the context of an executing thread in the */ 124 ; /* Otherwise, not nested, check to see if a thread was running. */ 131 MOV.L #__tx_thread_current_ptr, R2 ; Pickup current thread pointer 141 MOV.L R2, [-R1] ; Save PSW on thread stack 143 MOV.L R2, [-R1] ; Save PC on thread stack 145 MOV.L R2, [-R1] ; Save R2 on thread stack 147 MOV.L R2, [-R1] ; Save R1 on thread stack 148 MOV.L R5, [-R1] ; Save R5 on thread stack 149 MOV.L R4, [-R1] ; Save R4 on thread stack 150 MOV.L R3, [-R1] ; Save R3 on thread stack [all …]
|
/ThreadX-v6.4.1/utility/rtos_compatibility_layers/posix/ |
D | px_cond_timedwait.c | 104 TX_THREAD *thread; in pthread_cond_timedwait() local 107 thread = tx_thread_identify(); in pthread_cond_timedwait() 110 tx_thread_preemption_change(thread,0,&old_threshold); in pthread_cond_timedwait() 120 tx_thread_preemption_change(thread, old_threshold, &dummy); in pthread_cond_timedwait()
|
/ThreadX-v6.4.1/ports/cortex_a9/iar/src/ |
D | tx_thread_schedule.s | 107 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 111 LDR r0, [r1, #0] ; Pickup next thread to execute 113 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 126 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 127 STR r0, [r1, #0] ; Setup current thread pointer 133 LDR r3, [r0, #24] ; Pickup time-slice for this thread 134 ADD r2, r2, #1 ; Increment thread run-counter 153 BL _tx_execution_thread_enter ; Call the thread execution enter function 174 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 188 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_r4/ac5/src/ |
D | tx_thread_schedule.s | 100 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 104 LDR r0, [r1, #0] ; Pickup next thread to execute 106 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 123 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 124 STR r0, [r1, #0] ; Setup current thread pointer 130 LDR r3, [r0, #24] ; Pickup time-slice for this thread 131 ADD r2, r2, #1 ; Increment thread run-counter 147 BL _tx_execution_thread_enter ; Call the thread execution enter function 170 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 184 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_r4/gnu/src/ |
D | tx_thread_schedule.S | 109 LDR r1, =_tx_thread_execute_ptr @ Address of thread execute ptr 113 LDR r0, [r1] @ Pickup next thread to execute 115 BEQ __tx_thread_schedule_loop @ If so, keep looking for a thread 132 LDR r1, =_tx_thread_current_ptr @ Pickup address of current thread 133 STR r0, [r1] @ Setup current thread pointer 139 LDR r3, [r0, #24] @ Pickup time-slice for this thread 140 ADD r2, r2, #1 @ Increment thread run-counter 158 BL _tx_execution_thread_enter @ Call the thread execution enter function 177 LDMIA sp!, {r0-r12, lr, pc}^ @ Return to point of thread interrupt 190 LDMIA sp!, {r4-r11, lr} @ Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_a8/iar/src/ |
D | tx_thread_schedule.s | 107 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 111 LDR r0, [r1, #0] ; Pickup next thread to execute 113 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 126 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 127 STR r0, [r1, #0] ; Setup current thread pointer 133 LDR r3, [r0, #24] ; Pickup time-slice for this thread 134 ADD r2, r2, #1 ; Increment thread run-counter 153 BL _tx_execution_thread_enter ; Call the thread execution enter function 174 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 188 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_a9/ac5/src/ |
D | tx_thread_schedule.s | 100 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 104 LDR r0, [r1, #0] ; Pickup next thread to execute 106 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 123 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 124 STR r0, [r1, #0] ; Setup current thread pointer 130 LDR r3, [r0, #24] ; Pickup time-slice for this thread 131 ADD r2, r2, #1 ; Increment thread run-counter 147 BL _tx_execution_thread_enter ; Call the thread execution enter function 171 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 186 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_a8/ac5/src/ |
D | tx_thread_schedule.s | 100 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 104 LDR r0, [r1, #0] ; Pickup next thread to execute 106 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 123 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 124 STR r0, [r1, #0] ; Setup current thread pointer 130 LDR r3, [r0, #24] ; Pickup time-slice for this thread 131 ADD r2, r2, #1 ; Increment thread run-counter 147 BL _tx_execution_thread_enter ; Call the thread execution enter function 171 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 186 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_a7/ac5/src/ |
D | tx_thread_schedule.s | 100 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 104 LDR r0, [r1, #0] ; Pickup next thread to execute 106 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 123 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 124 STR r0, [r1, #0] ; Setup current thread pointer 130 LDR r3, [r0, #24] ; Pickup time-slice for this thread 131 ADD r2, r2, #1 ; Increment thread run-counter 147 BL _tx_execution_thread_enter ; Call the thread execution enter function 171 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 186 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_a5/iar/src/ |
D | tx_thread_schedule.s | 107 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 111 LDR r0, [r1, #0] ; Pickup next thread to execute 113 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 126 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 127 STR r0, [r1, #0] ; Setup current thread pointer 133 LDR r3, [r0, #24] ; Pickup time-slice for this thread 134 ADD r2, r2, #1 ; Increment thread run-counter 153 BL _tx_execution_thread_enter ; Call the thread execution enter function 176 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 192 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_a5/ac5/src/ |
D | tx_thread_schedule.s | 100 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 104 LDR r0, [r1, #0] ; Pickup next thread to execute 106 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 123 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 124 STR r0, [r1, #0] ; Setup current thread pointer 130 LDR r3, [r0, #24] ; Pickup time-slice for this thread 131 ADD r2, r2, #1 ; Increment thread run-counter 147 BL _tx_execution_thread_enter ; Call the thread execution enter function 171 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 186 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_a7/iar/src/ |
D | tx_thread_schedule.s | 107 LDR r1, =_tx_thread_execute_ptr ; Address of thread execute ptr 111 LDR r0, [r1, #0] ; Pickup next thread to execute 113 BEQ __tx_thread_schedule_loop ; If so, keep looking for a thread 126 LDR r1, =_tx_thread_current_ptr ; Pickup address of current thread 127 STR r0, [r1, #0] ; Setup current thread pointer 133 LDR r3, [r0, #24] ; Pickup time-slice for this thread 134 ADD r2, r2, #1 ; Increment thread run-counter 153 BL _tx_execution_thread_enter ; Call the thread execution enter function 174 LDMIA sp!, {r0-r12, lr, pc}^ ; Return to point of thread interrupt 188 LDMIA sp!, {r4-r11, lr} ; Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_r5/ac6/src/ |
D | tx_thread_schedule.S | 116 LDR r1, =_tx_thread_execute_ptr @ Address of thread execute ptr 120 LDR r0, [r1] @ Pickup next thread to execute 122 BEQ __tx_thread_schedule_loop @ If so, keep looking for a thread 139 LDR r1, =_tx_thread_current_ptr @ Pickup address of current thread 140 STR r0, [r1] @ Setup current thread pointer 146 LDR r3, [r0, #24] @ Pickup time-slice for this thread 147 ADD r2, r2, #1 @ Increment thread run-counter 165 BL _tx_execution_thread_enter @ Call the thread execution enter function 184 LDMIA sp!, {r0-r12, lr, pc}^ @ Return to point of thread interrupt 197 LDMIA sp!, {r4-r11, lr} @ Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/ports/cortex_r5/gnu/src/ |
D | tx_thread_schedule.S | 109 LDR r1, =_tx_thread_execute_ptr @ Address of thread execute ptr 113 LDR r0, [r1] @ Pickup next thread to execute 115 BEQ __tx_thread_schedule_loop @ If so, keep looking for a thread 132 LDR r1, =_tx_thread_current_ptr @ Pickup address of current thread 133 STR r0, [r1] @ Setup current thread pointer 139 LDR r3, [r0, #24] @ Pickup time-slice for this thread 140 ADD r2, r2, #1 @ Increment thread run-counter 158 BL _tx_execution_thread_enter @ Call the thread execution enter function 177 LDMIA sp!, {r0-r12, lr, pc}^ @ Return to point of thread interrupt 190 LDMIA sp!, {r4-r11, lr} @ Return to thread synchronously [all …]
|
/ThreadX-v6.4.1/utility/benchmarks/thread_metric/ |
D | thread_metric_readme.txt | 14 This is the baseline test consisting of a single thread. This 23 Each thread will increment its run counter and then relinquish to 24 the next thread. At the end of the test the counters will be verified 32 In this test, all threads except the lowest priority thread are 33 left in a suspended state. The lowest priority thread will resume 34 the next highest priority thread. That thread will resume the 35 next highest priority thread and so on until the highest priority 36 thread executes. Each thread will increment its run count and then 37 call thread suspend. Eventually the processing will return to the 38 lowest priority thread, which is still in the middle of the thread [all …]
|
/ThreadX-v6.4.1/ports/risc-v32/iar/src/ |
D | tx_thread_schedule.s | 99 lw t1, 0(t0) ; Pickup next thread to execute 100 beqz t1, _tx_thread_schedule_loop ; If NULL, wait for thread to execute 112 la t0, _tx_thread_current_ptr ; Pickup current thread pointer address 113 sw t1, 0(t0) ; Set current thread pointer 131 lw sp, 8(t1) ; Switch to thread's stack
|
/ThreadX-v6.4.1/ports_smp/cortex_a7_smp/gnu/src/ |
D | tx_thread_schedule.S | 120 LDR r1, =_tx_thread_execute_ptr @ Address of thread execute ptr 136 LDR r0, [r1, #0] @ Pickup next thread to execute 138 BEQ _tx_thread_schedule @ If so, keep looking for a thread 158 LDR r3, [r0, #152] @ Pickup the thread ready bit 161 BNE _tx_thread_ready_for_execution @ Yes, schedule the thread 177 STR r3, [r0, #152] @ Store it back in the thread control block 186 LDR r2, =_tx_thread_current_ptr @ Pickup address of current thread 187 ADD r2, r2, r12 @ Build index into the current thread array 188 STR r0, [r2, #0] @ Setup current thread pointer 203 STR r1, [r2, #0] @ Clear current thread pointer [all …]
|
/ThreadX-v6.4.1/ports_smp/mips32_interaptiv_smp/green/src/ |
D | tx_thread_system_return.mip | 43 /* control from a thread back to the system. Only a minimal context */ 108 /* Check if FPU is enabled for this thread. Note that threads with FPU enabled will only be 113 lw $8, ($9) # Pickup current thread pointer 140 … addu $9, $9, $25 # Build address of current thread pointer for this VPE 142 lw $8, ($9) # Pickup current thread pointer 164 /* Save time-slice for the thread and clear the current time-slice. */ 168 sw $11, 24($8) # Save time-slice for thread 174 /* Clear the current thread pointer. */ 177 sw $0, ($9) # Clear current thread pointer 179 /* Set bit indicating the thread is ready for scheduling. */ [all …]
|
/ThreadX-v6.4.1/ports_module/cortex_a7/ac5/module_manager/src/ |
D | tx_thread_schedule.s | 176 ; Clear the user mode flag in the thread structure 177 LDR r1, =_tx_thread_current_ptr ; Load the current thread pointer address 178 …LDR r2, [r1] ; Load current thread location from the pointer (pointer i… 180 STR r1, [r2, #0x9C] ; Clear tx_thread_module_current_user_mode for thread 190 MOV r3, sp ; Grab thread stack pointer 193 STR r3, [r2, #0xB0] ; Save thread stack pointer 215 ; Set the user mode flag into the thread structure 216 LDR r1, =_tx_thread_current_ptr ; Load the current thread pointer address 217 …LDR r2, [r1] ; Load the current thread location from the pointer (point… 219 STR r1, [r2, #0x9C] ; Set tx_thread_module_current_user_mode for thread [all …]
|
/ThreadX-v6.4.1/ports_smp/arc_hs_smp/metaware/src/ |
D | tx_thread_system_return.s | 89 mov r7, _tx_thread_current_ptr ; Pickup base of the current thread pointer 90 add r7, r7, r4 ; Build address of current thread pointer 91 ld r0, [r7] ; Pickup current thread ptr 119 st sp, [r0, 8] ; Save thread's stack pointer 128 mov r13, r0 ; Save thread control block pointer 130 mov r15, r7 ; Save current thread pointer for core 132 bl.d _tx_execution_thread_exit ; Call the thread exit function 135 ld r0, [gp, _tx_thread_current_ptr@sda] ; Pickup current thread ptr 137 mov r0, r13 ; Recover thread control block 139 mov r7, r15 ; Recover current thread pointer for core [all …]
|
/ThreadX-v6.4.1/ports_smp/cortex_a5x_smp/green/src/ |
D | tx_thread_schedule.a64 | 50 /* This function waits for a thread control block pointer to appear in */ 51 /* the _tx_thread_execute_ptr variable. Once a thread pointer appears */ 52 /* in the variable, the corresponding thread is resumed. */ 69 /* _tx_thread_system_return Return to system from thread */ 70 /* _tx_thread_context_restore Restore thread's context */ 94 /* Wait for a thread to execute. */ 98 LDR x1, =_tx_thread_execute_ptr // Address of thread execute ptr 103 LDR x0, [x1, x20, LSL #3] // Pickup next thread to execute 108 B __tx_thread_schedule_loop // Keep looking for a thread 112 LDR x0, [x1, x20, LSL #3] // Pickup next thread to execute [all …]
|
/ThreadX-v6.4.1/ports/rxv3/ccrx/src/ |
D | tx_thread_context_save.src | 49 ;/* This function saves the context of an executing thread in the */ 124 ; /* Otherwise, not nested, check to see if a thread was running. */ 131 MOV.L #__tx_thread_current_ptr, R2 ; Pickup current thread pointer 141 MOV.L R2, [-R1] ; Save PSW on thread stack 143 MOV.L R2, [-R1] ; Save PC on thread stack 145 MOV.L R2, [-R1] ; Save R2 on thread stack 147 MOV.L R2, [-R1] ; Save R1 on thread stack 148 MOV.L R5, [-R1] ; Save R5 on thread stack 149 MOV.L R4, [-R1] ; Save R4 on thread stack 150 MOV.L R3, [-R1] ; Save R3 on thread stack [all …]
|
/ThreadX-v6.4.1/ports_module/cortex_r4/iar/module_manager/src/ |
D | tx_thread_schedule.s | 160 ; Clear the user mode flag in the thread structure 161 LDR r1, =_tx_thread_current_ptr ; Load the current thread pointer address 162 …LDR r2, [r1] ; Load current thread location from the pointer (point… 164 STR r1, [r2, #0x9C] ; Clear the current user mode selection for thread 174 MOV r3, sp ; Grab thread stack pointer 177 STR r3, [r2, #0xB0] ; Save thread stack pointer 198 ; Set the user mode flag into the thread structure 199 LDR r1, =_tx_thread_current_ptr ; Load the current thread pointer address 200 …LDR r2, [r1] ; Load the current thread location from the pointer (p… 202 STR r1, [r2, #0x9C] ; Clear the current user mode selection for thread [all …]
|
/ThreadX-v6.4.1/ports/arc_em/metaware/src/ |
D | tx_thread_schedule.s | 105 ld r0, [gp, _tx_thread_execute_ptr@sda] ; Pickup next thread to execute 120 st r0, [gp, _tx_thread_current_ptr@sda] ; Setup current thread pointer 126 ld r4, [r0, 24] ; Pickup time-slice for this thread 139 bl.d _tx_execution_thread_enter ; Call the thread execution enter function 153 ld sp, [r0, 8] ; Switch to thread's stack 158 …ld r3, [r0, 16] ; Pickup the base of the thread's stack (highe…
|