/ThreadX-v6.3.0/utility/execution_profile_kit/smp_version/ |
D | tx_execution_profile.c | 144 UINT core; in _tx_execution_thread_enter() local 151 core = TX_SMP_CORE_ID; in _tx_execution_thread_enter() 154 thread_ptr = _tx_thread_current_ptr[core]; in _tx_execution_thread_enter() 161 last_start_time = _tx_execution_idle_time_last_start[core]; in _tx_execution_thread_enter() 182 total_time = _tx_execution_idle_time_total[core]; in _tx_execution_thread_enter() 196 _tx_execution_idle_time_total[core] = new_total_time; in _tx_execution_thread_enter() 199 _tx_execution_idle_time_last_start[core] = 0; in _tx_execution_thread_enter() 250 UINT core; in _tx_execution_thread_exit() local 254 core = TX_SMP_CORE_ID; in _tx_execution_thread_exit() 257 thread_ptr = _tx_thread_current_ptr[core]; in _tx_execution_thread_exit() [all …]
|
/ThreadX-v6.3.0/ports_smp/linux/gnu/src/ |
D | tx_thread_smp_protect.c | 82 UINT core; in _tx_thread_smp_protect() local 103 core = _tx_thread_smp_core_get(); in _tx_thread_smp_protect() 106 current_thread = _tx_thread_current_ptr[core]; in _tx_thread_smp_protect() 144 if (_tx_timer_time_slice[core]) in _tx_thread_smp_protect() 147 current_thread -> tx_thread_time_slice = _tx_timer_time_slice[core]; in _tx_thread_smp_protect() 148 _tx_timer_time_slice[core] = 0; in _tx_thread_smp_protect() 152 _tx_thread_current_ptr[core] = TX_NULL; in _tx_thread_smp_protect() 155 … _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_thread = TX_NULL; in _tx_thread_smp_protect() 156 … _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_linux_thread_id = 0; in _tx_thread_smp_protect() 201 if (_tx_thread_smp_protection.tx_thread_smp_protect_core == core) in _tx_thread_smp_protect() [all …]
|
D | tx_thread_system_return.c | 92 UINT core; in _tx_thread_system_return() local 99 core = _tx_thread_smp_core_get(); in _tx_thread_system_return() 110 temp_thread_ptr = _tx_thread_current_ptr[core]; in _tx_thread_system_return() 126 if (_tx_timer_time_slice[core]) in _tx_thread_system_return() 130 temp_thread_ptr -> tx_thread_time_slice = _tx_timer_time_slice[core]; in _tx_thread_system_return() 131 _tx_timer_time_slice[core] = 0; in _tx_thread_system_return() 144 _tx_thread_current_ptr[core] = TX_NULL; in _tx_thread_system_return() 147 _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_thread = TX_NULL; in _tx_thread_system_return() 148 _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_linux_thread_id = 0; in _tx_thread_system_return() 210 core = _tx_thread_smp_core_get(); in _tx_thread_system_return() [all …]
|
D | tx_thread_schedule.c | 85 UINT core; in _tx_thread_schedule() local 110 for (core = 0; core < TX_THREAD_SMP_MAX_CORES; core++) in _tx_thread_schedule() 114 current_thread = _tx_thread_current_ptr[core]; in _tx_thread_schedule() 141 if (_tx_timer_time_slice[core]) in _tx_thread_schedule() 144 current_thread -> tx_thread_time_slice = _tx_timer_time_slice[core]; in _tx_thread_schedule() 145 _tx_timer_time_slice[core] = 0; in _tx_thread_schedule() 150 _tx_thread_current_ptr[core] = TX_NULL; in _tx_thread_schedule() 153 _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_thread = TX_NULL; in _tx_thread_schedule() 154 _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_linux_thread_id = 0; in _tx_thread_schedule() 164 if (_tx_thread_current_ptr[core] == TX_NULL) in _tx_thread_schedule() [all …]
|
D | tx_thread_smp_core_get.c | 77 UINT core; in _tx_thread_smp_core_get() local 86 core = 0; in _tx_thread_smp_core_get() 100 core = i; in _tx_thread_smp_core_get() 111 return(core); in _tx_thread_smp_core_get()
|
D | tx_thread_smp_current_state_get.c | 77 UINT core; in _tx_thread_smp_current_state_get() local 87 core = 0; in _tx_thread_smp_current_state_get() 101 core = i; in _tx_thread_smp_current_state_get() 109 current_state = _tx_thread_system_state[core]; in _tx_thread_smp_current_state_get()
|
D | tx_thread_smp_current_thread_get.c | 76 UINT core; in _tx_thread_smp_current_thread_get() local 86 core = 0; in _tx_thread_smp_current_thread_get() 100 core = i; in _tx_thread_smp_current_thread_get() 108 current_thread = _tx_thread_current_ptr[core]; in _tx_thread_smp_current_thread_get()
|
D | tx_thread_interrupt_control.c | 101 UINT core; in _tx_thread_interrupt_control() local 128 core = _tx_thread_smp_core_get(); in _tx_thread_interrupt_control() 131 thread_ptr = _tx_thread_current_ptr[core]; in _tx_thread_interrupt_control() 161 if (_tx_thread_system_state[core]) in _tx_thread_interrupt_control()
|
D | tx_thread_smp_unprotect.c | 76 UINT core; in _tx_thread_smp_unprotect() local 86 core = _tx_thread_smp_core_get(); in _tx_thread_smp_unprotect() 89 if (_tx_thread_smp_protection.tx_thread_smp_protect_core == core) in _tx_thread_smp_unprotect()
|
/ThreadX-v6.3.0/ports_smp/arc_hs_smp/metaware/src/ |
D | tx_thread_smp_initialize_wait.s | 83 lr r0, [IDENTITY] ; Pickup core ID 84 xbfu r0, r0, 8, 8 ; Shift down and isolate core ID 91 st sp, [r1] ; Save this core's system address 112 st r3, [r1] ; Clear this core's state value 117 ld r0, [gp, _tx_thread_system_state@sda] ; Pickup core 0's state value
|
D | tx_thread_system_return.s | 84 lr r1, [IDENTITY] ; Pickup core ID 85 xbfu r1, r1, 8, 8 ; Shift down and isolate core ID 89 asl r4, r1, 2 ; Build index into core arrays 116 ; _tx_thread_current_ptr[core] -> tx_thread_stack_ptr = sp; 117 ; sp = _tx_thread_system_stack_ptr[core]; 130 mov r14, r1 ; Save core executing 131 mov r15, r7 ; Save current thread pointer for core 139 mov r1, r14 ; Recover current core executing 140 mov r7, r15 ; Recover current thread pointer for core 142 asl r4, r1, 2 ; Build index into core arrays [all …]
|
D | tx_thread_schedule.s | 125 lr r1, [IDENTITY] ; Pickup core ID 126 xbfu r1, r1, 8, 8 ; Shift down and isolate core ID 130 asl r4, r1, 2 ; Build index into core arrays 155 ; while(_tx_thread_execute_ptr[core] == TX_NULL); 176 ; _tx_thread_current_ptr[core] = _tx_thread_execute_ptr[core]; 183 ; _tx_thread_current_ptr[core] -> tx_thread_run_count++; 191 ; _tx_timer_time_slice[core] = _tx_thread_current_ptr -> tx_thread_time_slice; 193 mov r6, _tx_timer_time_slice ; Build address of time-slice for this core 209 ; sp = _tx_thread_execute_ptr[core] -> tx_thread_stack_ptr;
|
/ThreadX-v6.3.0/ports_smp/cortex_a5x_smp/green/src/ |
D | tx_thread_smp_core_preempt.a64 | 50 /* This function preempts the specified core in situations where the */ 51 /* thread corresponding to this core is no longer ready or when the */ 52 /* core must be used for a higher-priority thread. If the specified is */ 53 /* the current core, this processing is skipped since the will give up */ 58 /* core The core to preempt */ 87 LSL x2, x2, x0 // Shift by the core ID 88 STR x2, [x1, #0] // Issue inter-core interrupt
|
D | tx_thread_smp_initialize_wait.a64 | 88 MRS x2, MPIDR_EL1 // Pickup the core ID 89 UBFX x2, x2, #0, #8 // Isolate and right justify core ID 91 …/* Make sure the system state for this core is TX_INITIALIZE_IN_PROGRESS before we check the relea… 97 LDR w0, [x3, x2, LSL #2] // Pickup the current system state for this core 101 /* Save the system stack pointer for this core. */ 118 /* Core 0 has released this core. */ 120 /* Clear this core's system state variable. */ 123 … STR w0, [x3, x2, LSL #2] // Set the current system state for this core to zero 125 /* Now wait for core 0 to finish it's initialization. */ 128 LDR w0, [x3, #0] // Pickup the current system state for core 0 [all …]
|
/ThreadX-v6.3.0/common_smp/src/ |
D | tx_thread_smp_utilities.c | 646 UINT core; in _tx_thread_smp_remap_solution_find() local 669 core = schedule_thread -> tx_thread_smp_core_mapped; in _tx_thread_smp_remap_solution_find() 670 if ((thread_possible_cores & (((ULONG) 1) << core)) != ((ULONG) 0)) in _tx_thread_smp_remap_solution_find() 674 thread_remap_list[core] = schedule_thread; in _tx_thread_smp_remap_solution_find() 675 core_queue[queue_last] = core; in _tx_thread_smp_remap_solution_find() 681 thread_possible_cores = thread_possible_cores & ~(((ULONG) 1) << core); in _tx_thread_smp_remap_solution_find() 690 TX_LOWEST_SET_BIT_CALCULATE(test_cores, core) in _tx_thread_smp_remap_solution_find() 693 thread_possible_cores = thread_possible_cores & ~(((ULONG) 1) << core); in _tx_thread_smp_remap_solution_find() 696 thread_remap_list[core] = schedule_thread; in _tx_thread_smp_remap_solution_find() 697 core_queue[queue_last] = core; in _tx_thread_smp_remap_solution_find() [all …]
|
/ThreadX-v6.3.0/ports_smp/cortex_a9_smp/gnu/src/ |
D | tx_thread_context_restore.S | 136 @ if (--_tx_thread_system_state[core]) 161 @ else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 166 ADD r1, r1, r12 @ Build index to this core's current thread ptr 183 ADD r3, r3, r12 @ Build index to this core's execute thread ptr 227 @ /* We don't have the lock. This core should be in the list. Remove it. */ 230 MOV r0, r10 @ Move the core ID to r0 for the macro 231 _tx_thread_smp_protect_wait_list_remove @ Call macro to remove core from the list 244 @ _tx_thread_smp_protect_wait_counts[core]--; 247 LDR r2, [r1, r10, LSL #2] @ Load waiting value for this core 258 STR r2, [r1, #8] @ Mark the protected core as invalid [all …]
|
/ThreadX-v6.3.0/ports_smp/cortex_a5_smp/ac5/src/ |
D | tx_thread_context_restore.s | 134 ; if (--_tx_thread_system_state[core]) 159 ; else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 164 ADD r1, r1, r12 ; Build index to this core's current thread ptr 181 ADD r3, r3, r12 ; Build index to this core's execute thread ptr 225 ; /* We don't have the lock. This core should be in the list. Remove it. */ 228 MOV r0, r10 ; Move the core ID to r0 for the macro 229 macro_call0 _tx_thread_smp_protect_wait_list_remove ; Call macro to remove core from the list 242 ; _tx_thread_smp_protect_wait_counts[core]--; 245 LDR r2, [r1, r10, LSL #2] ; Load waiting value for this core 256 STR r2, [r1, #8] ; Mark the protected core as invalid [all …]
|
/ThreadX-v6.3.0/ports_smp/cortex_a9_smp/ac5/src/ |
D | tx_thread_context_restore.s | 134 ; if (--_tx_thread_system_state[core]) 159 ; else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 164 ADD r1, r1, r12 ; Build index to this core's current thread ptr 181 ADD r3, r3, r12 ; Build index to this core's execute thread ptr 225 ; /* We don't have the lock. This core should be in the list. Remove it. */ 228 MOV r0, r10 ; Move the core ID to r0 for the macro 229 macro_call0 _tx_thread_smp_protect_wait_list_remove ; Call macro to remove core from the list 242 ; _tx_thread_smp_protect_wait_counts[core]--; 245 LDR r2, [r1, r10, LSL #2] ; Load waiting value for this core 256 STR r2, [r1, #8] ; Mark the protected core as invalid [all …]
|
/ThreadX-v6.3.0/ports_smp/cortex_a5_smp/gnu/src/ |
D | tx_thread_context_restore.S | 136 @ if (--_tx_thread_system_state[core]) 161 @ else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 166 ADD r1, r1, r12 @ Build index to this core's current thread ptr 183 ADD r3, r3, r12 @ Build index to this core's execute thread ptr 227 @ /* We don't have the lock. This core should be in the list. Remove it. */ 230 MOV r0, r10 @ Move the core ID to r0 for the macro 231 _tx_thread_smp_protect_wait_list_remove @ Call macro to remove core from the list 244 @ _tx_thread_smp_protect_wait_counts[core]--; 247 LDR r2, [r1, r10, LSL #2] @ Load waiting value for this core 258 STR r2, [r1, #8] @ Mark the protected core as invalid [all …]
|
/ThreadX-v6.3.0/ports_arch/ARMv7-A/ |
D | update.ps1 | 117 ForEach ($core in $cores) { variable 119 "tx" { $core_directory = "..\..\ports\" + $core } 120 "tx_smp" { $core_directory = "..\..\ports_smp\" + $core + "_smp" } 121 "txm" { $core_directory = "..\..\ports_module\" + $core } 122 "txm_smp" { $core_directory = "..\..\ports_module_smp\" + $core + "_smp" } 157 $core_short = $core -Replace "cortex_",""
|
/ThreadX-v6.3.0/ports_arch/ARMv8-A/ |
D | update.ps1 | 122 ForEach ($core in $cores) { variable 124 "tx" { $core_directory = "..\..\ports\" + $core } 125 "tx_smp" { $core_directory = "..\..\ports_smp\" + $core + "_smp" } 126 "txm" { $core_directory = "..\..\ports_module\" + $core } 127 "txm_smp" { $core_directory = "..\..\ports_module_smp\" + $core + "_smp" } 162 $core_short = $core -Replace "cortex_",""
|
/ThreadX-v6.3.0/ports_smp/cortex_a7_smp/gnu/src/ |
D | tx_thread_context_restore.S | 139 @ if (--_tx_thread_system_state[core]) 164 @ else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 169 ADD r1, r1, r12 @ Build index to this core's current thread ptr 186 ADD r3, r3, r12 @ Build index to this core's execute thread ptr 229 @ /* We don't have the lock. This core should be in the list. Remove it. */ 232 _tx_thread_smp_protect_wait_list_remove @ Call macro to remove core from the list 245 @ _tx_thread_smp_protect_wait_counts[core]--; 248 LDR r2, [r1, r10, LSL #2] @ Load waiting value for this core 259 STR r2, [r1, #8] @ Mark the protected core as invalid 329 ADD r3, r3, r12 @ Build index to core's time slice [all …]
|
/ThreadX-v6.3.0/ports_smp/cortex_a7_smp/ac5/src/ |
D | tx_thread_context_restore.s | 134 ; if (--_tx_thread_system_state[core]) 159 ; else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 164 ADD r1, r1, r12 ; Build index to this core's current thread ptr 181 ADD r3, r3, r12 ; Build index to this core's execute thread ptr 224 ; /* We don't have the lock. This core should be in the list. Remove it. */ 227 macro_call0 _tx_thread_smp_protect_wait_list_remove ; Call macro to remove core from the list 240 ; _tx_thread_smp_protect_wait_counts[core]--; 243 LDR r2, [r1, r10, LSL #2] ; Load waiting value for this core 254 STR r2, [r1, #8] ; Mark the protected core as invalid 324 ADD r3, r3, r12 ; Build index to core's time slice [all …]
|
/ThreadX-v6.3.0/ports_smp/mips32_interaptiv_smp/green/src/ |
D | tx_thread_smp_core_preempt.mip | 41 /* This function preempts the specified core in situations where the */ 42 /* thread corresponding to this core is no longer ready or when the */ 43 /* core must be used for a higher-priority thread. If the specified is */ 44 /* the current core, this processing is skipped since the will give up */ 49 /* core The core to preempt */
|
/ThreadX-v6.3.0/ports_smp/mips32_interaptiv_smp/green/example_build/ |
D | demo_threadx_ram_interAptiv_3c2v4t.ghsmc | 3 core { 5 # Boot-MIPS only uses the first 2 TCs of each core. 26 # disable any-core breakpoints, which aren't supported
|