| /ThreadX-v6.4.1/utility/execution_profile_kit/smp_version/ |
| D | tx_execution_profile.c | 143 UINT core; in _tx_execution_thread_enter() local 150 core = TX_SMP_CORE_ID; in _tx_execution_thread_enter() 153 thread_ptr = _tx_thread_current_ptr[core]; in _tx_execution_thread_enter() 160 last_start_time = _tx_execution_idle_time_last_start[core]; in _tx_execution_thread_enter() 181 total_time = _tx_execution_idle_time_total[core]; in _tx_execution_thread_enter() 195 _tx_execution_idle_time_total[core] = new_total_time; in _tx_execution_thread_enter() 198 _tx_execution_idle_time_last_start[core] = 0; in _tx_execution_thread_enter() 249 UINT core; in _tx_execution_thread_exit() local 253 core = TX_SMP_CORE_ID; in _tx_execution_thread_exit() 256 thread_ptr = _tx_thread_current_ptr[core]; in _tx_execution_thread_exit() [all …]
|
| /ThreadX-v6.4.1/ports_smp/linux/gnu/src/ |
| D | tx_thread_smp_protect.c | 81 UINT core; in _tx_thread_smp_protect() local 102 core = _tx_thread_smp_core_get(); in _tx_thread_smp_protect() 105 current_thread = _tx_thread_current_ptr[core]; in _tx_thread_smp_protect() 143 if (_tx_timer_time_slice[core]) in _tx_thread_smp_protect() 146 current_thread -> tx_thread_time_slice = _tx_timer_time_slice[core]; in _tx_thread_smp_protect() 147 _tx_timer_time_slice[core] = 0; in _tx_thread_smp_protect() 151 _tx_thread_current_ptr[core] = TX_NULL; in _tx_thread_smp_protect() 154 … _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_thread = TX_NULL; in _tx_thread_smp_protect() 155 … _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_linux_thread_id = 0; in _tx_thread_smp_protect() 200 if (_tx_thread_smp_protection.tx_thread_smp_protect_core == core) in _tx_thread_smp_protect() [all …]
|
| D | tx_thread_system_return.c | 91 UINT core; in _tx_thread_system_return() local 98 core = _tx_thread_smp_core_get(); in _tx_thread_system_return() 109 temp_thread_ptr = _tx_thread_current_ptr[core]; in _tx_thread_system_return() 125 if (_tx_timer_time_slice[core]) in _tx_thread_system_return() 129 temp_thread_ptr -> tx_thread_time_slice = _tx_timer_time_slice[core]; in _tx_thread_system_return() 130 _tx_timer_time_slice[core] = 0; in _tx_thread_system_return() 143 _tx_thread_current_ptr[core] = TX_NULL; in _tx_thread_system_return() 146 _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_thread = TX_NULL; in _tx_thread_system_return() 147 _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_linux_thread_id = 0; in _tx_thread_system_return() 209 core = _tx_thread_smp_core_get(); in _tx_thread_system_return() [all …]
|
| D | tx_thread_schedule.c | 84 UINT core; in _tx_thread_schedule() local 109 for (core = 0; core < TX_THREAD_SMP_MAX_CORES; core++) in _tx_thread_schedule() 113 current_thread = _tx_thread_current_ptr[core]; in _tx_thread_schedule() 140 if (_tx_timer_time_slice[core]) in _tx_thread_schedule() 143 current_thread -> tx_thread_time_slice = _tx_timer_time_slice[core]; in _tx_thread_schedule() 144 _tx_timer_time_slice[core] = 0; in _tx_thread_schedule() 149 _tx_thread_current_ptr[core] = TX_NULL; in _tx_thread_schedule() 152 _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_thread = TX_NULL; in _tx_thread_schedule() 153 _tx_linux_virtual_cores[core].tx_thread_smp_core_mapping_linux_thread_id = 0; in _tx_thread_schedule() 163 if (_tx_thread_current_ptr[core] == TX_NULL) in _tx_thread_schedule() [all …]
|
| D | tx_thread_smp_core_get.c | 76 UINT core; in _tx_thread_smp_core_get() local 85 core = 0; in _tx_thread_smp_core_get() 99 core = i; in _tx_thread_smp_core_get() 110 return(core); in _tx_thread_smp_core_get()
|
| D | tx_thread_smp_current_state_get.c | 76 UINT core; in _tx_thread_smp_current_state_get() local 86 core = 0; in _tx_thread_smp_current_state_get() 100 core = i; in _tx_thread_smp_current_state_get() 108 current_state = _tx_thread_system_state[core]; in _tx_thread_smp_current_state_get()
|
| D | tx_thread_smp_current_thread_get.c | 75 UINT core; in _tx_thread_smp_current_thread_get() local 85 core = 0; in _tx_thread_smp_current_thread_get() 99 core = i; in _tx_thread_smp_current_thread_get() 107 current_thread = _tx_thread_current_ptr[core]; in _tx_thread_smp_current_thread_get()
|
| D | tx_thread_interrupt_control.c | 100 UINT core; in _tx_thread_interrupt_control() local 127 core = _tx_thread_smp_core_get(); in _tx_thread_interrupt_control() 130 thread_ptr = _tx_thread_current_ptr[core]; in _tx_thread_interrupt_control() 160 if (_tx_thread_system_state[core]) in _tx_thread_interrupt_control()
|
| D | tx_thread_smp_unprotect.c | 75 UINT core; in _tx_thread_smp_unprotect() local 85 core = _tx_thread_smp_core_get(); in _tx_thread_smp_unprotect() 88 if (_tx_thread_smp_protection.tx_thread_smp_protect_core == core) in _tx_thread_smp_unprotect()
|
| /ThreadX-v6.4.1/ports_smp/arc_hs_smp/metaware/src/ |
| D | tx_thread_smp_initialize_wait.s | 82 lr r0, [IDENTITY] ; Pickup core ID 83 xbfu r0, r0, 8, 8 ; Shift down and isolate core ID 90 st sp, [r1] ; Save this core's system address 111 st r3, [r1] ; Clear this core's state value 116 ld r0, [gp, _tx_thread_system_state@sda] ; Pickup core 0's state value
|
| D | tx_thread_system_return.s | 83 lr r1, [IDENTITY] ; Pickup core ID 84 xbfu r1, r1, 8, 8 ; Shift down and isolate core ID 88 asl r4, r1, 2 ; Build index into core arrays 115 ; _tx_thread_current_ptr[core] -> tx_thread_stack_ptr = sp; 116 ; sp = _tx_thread_system_stack_ptr[core]; 129 mov r14, r1 ; Save core executing 130 mov r15, r7 ; Save current thread pointer for core 138 mov r1, r14 ; Recover current core executing 139 mov r7, r15 ; Recover current thread pointer for core 141 asl r4, r1, 2 ; Build index into core arrays [all …]
|
| D | tx_thread_schedule.s | 124 lr r1, [IDENTITY] ; Pickup core ID 125 xbfu r1, r1, 8, 8 ; Shift down and isolate core ID 129 asl r4, r1, 2 ; Build index into core arrays 154 ; while(_tx_thread_execute_ptr[core] == TX_NULL); 175 ; _tx_thread_current_ptr[core] = _tx_thread_execute_ptr[core]; 182 ; _tx_thread_current_ptr[core] -> tx_thread_run_count++; 190 ; _tx_timer_time_slice[core] = _tx_thread_current_ptr -> tx_thread_time_slice; 192 mov r6, _tx_timer_time_slice ; Build address of time-slice for this core 208 ; sp = _tx_thread_execute_ptr[core] -> tx_thread_stack_ptr;
|
| /ThreadX-v6.4.1/ports_smp/cortex_a5x_smp/green/src/ |
| D | tx_thread_smp_core_preempt.a64 | 49 /* This function preempts the specified core in situations where the */ 50 /* thread corresponding to this core is no longer ready or when the */ 51 /* core must be used for a higher-priority thread. If the specified is */ 52 /* the current core, this processing is skipped since the will give up */ 57 /* core The core to preempt */ 86 LSL x2, x2, x0 // Shift by the core ID 87 STR x2, [x1, #0] // Issue inter-core interrupt
|
| D | tx_thread_smp_initialize_wait.a64 | 87 MRS x2, MPIDR_EL1 // Pickup the core ID 88 UBFX x2, x2, #0, #8 // Isolate and right justify core ID 90 …/* Make sure the system state for this core is TX_INITIALIZE_IN_PROGRESS before we check the relea… 96 LDR w0, [x3, x2, LSL #2] // Pickup the current system state for this core 100 /* Save the system stack pointer for this core. */ 117 /* Core 0 has released this core. */ 119 /* Clear this core's system state variable. */ 122 … STR w0, [x3, x2, LSL #2] // Set the current system state for this core to zero 124 /* Now wait for core 0 to finish it's initialization. */ 127 LDR w0, [x3, #0] // Pickup the current system state for core 0 [all …]
|
| /ThreadX-v6.4.1/common_smp/src/ |
| D | tx_thread_smp_utilities.c | 645 UINT core; in _tx_thread_smp_remap_solution_find() local 668 core = schedule_thread -> tx_thread_smp_core_mapped; in _tx_thread_smp_remap_solution_find() 669 if ((thread_possible_cores & (((ULONG) 1) << core)) != ((ULONG) 0)) in _tx_thread_smp_remap_solution_find() 673 thread_remap_list[core] = schedule_thread; in _tx_thread_smp_remap_solution_find() 674 core_queue[queue_last] = core; in _tx_thread_smp_remap_solution_find() 680 thread_possible_cores = thread_possible_cores & ~(((ULONG) 1) << core); in _tx_thread_smp_remap_solution_find() 689 TX_LOWEST_SET_BIT_CALCULATE(test_cores, core) in _tx_thread_smp_remap_solution_find() 692 thread_possible_cores = thread_possible_cores & ~(((ULONG) 1) << core); in _tx_thread_smp_remap_solution_find() 695 thread_remap_list[core] = schedule_thread; in _tx_thread_smp_remap_solution_find() 696 core_queue[queue_last] = core; in _tx_thread_smp_remap_solution_find() [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a9_smp/gnu/src/ |
| D | tx_thread_context_restore.S | 135 @ if (--_tx_thread_system_state[core]) 160 @ else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 165 ADD r1, r1, r12 @ Build index to this core's current thread ptr 182 ADD r3, r3, r12 @ Build index to this core's execute thread ptr 226 @ /* We don't have the lock. This core should be in the list. Remove it. */ 229 MOV r0, r10 @ Move the core ID to r0 for the macro 230 _tx_thread_smp_protect_wait_list_remove @ Call macro to remove core from the list 243 @ _tx_thread_smp_protect_wait_counts[core]--; 246 LDR r2, [r1, r10, LSL #2] @ Load waiting value for this core 257 STR r2, [r1, #8] @ Mark the protected core as invalid [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a5_smp/ac5/src/ |
| D | tx_thread_context_restore.s | 133 ; if (--_tx_thread_system_state[core]) 158 ; else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 163 ADD r1, r1, r12 ; Build index to this core's current thread ptr 180 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 MOV r0, r10 ; Move the core ID to r0 for the macro 228 macro_call0 _tx_thread_smp_protect_wait_list_remove ; Call macro to remove core from the list 241 ; _tx_thread_smp_protect_wait_counts[core]--; 244 LDR r2, [r1, r10, LSL #2] ; Load waiting value for this core 255 STR r2, [r1, #8] ; Mark the protected core as invalid [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a9_smp/ac5/src/ |
| D | tx_thread_context_restore.s | 133 ; if (--_tx_thread_system_state[core]) 158 ; else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 163 ADD r1, r1, r12 ; Build index to this core's current thread ptr 180 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 MOV r0, r10 ; Move the core ID to r0 for the macro 228 macro_call0 _tx_thread_smp_protect_wait_list_remove ; Call macro to remove core from the list 241 ; _tx_thread_smp_protect_wait_counts[core]--; 244 LDR r2, [r1, r10, LSL #2] ; Load waiting value for this core 255 STR r2, [r1, #8] ; Mark the protected core as invalid [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a5_smp/gnu/src/ |
| D | tx_thread_context_restore.S | 135 @ if (--_tx_thread_system_state[core]) 160 @ else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 165 ADD r1, r1, r12 @ Build index to this core's current thread ptr 182 ADD r3, r3, r12 @ Build index to this core's execute thread ptr 226 @ /* We don't have the lock. This core should be in the list. Remove it. */ 229 MOV r0, r10 @ Move the core ID to r0 for the macro 230 _tx_thread_smp_protect_wait_list_remove @ Call macro to remove core from the list 243 @ _tx_thread_smp_protect_wait_counts[core]--; 246 LDR r2, [r1, r10, LSL #2] @ Load waiting value for this core 257 STR r2, [r1, #8] @ Mark the protected core as invalid [all …]
|
| /ThreadX-v6.4.1/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.4.1/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.4.1/ports_smp/cortex_a7_smp/ac5/src/ |
| D | tx_thread_context_restore.s | 133 ; if (--_tx_thread_system_state[core]) 158 ; else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 163 ADD r1, r1, r12 ; Build index to this core's current thread ptr 180 ADD r3, r3, r12 ; Build index to this core's execute thread ptr 223 ; /* We don't have the lock. This core should be in the list. Remove it. */ 226 macro_call0 _tx_thread_smp_protect_wait_list_remove ; Call macro to remove core from the list 239 ; _tx_thread_smp_protect_wait_counts[core]--; 242 LDR r2, [r1, r10, LSL #2] ; Load waiting value for this core 253 STR r2, [r1, #8] ; Mark the protected core as invalid 323 ADD r3, r3, r12 ; Build index to core's time slice [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a7_smp/gnu/src/ |
| D | tx_thread_context_restore.S | 138 @ if (--_tx_thread_system_state[core]) 163 @ else if (((_tx_thread_current_ptr[core]) && (_tx_thread_current_ptr[core] == _tx_thread_execut… 168 ADD r1, r1, r12 @ Build index to this core's current thread ptr 185 ADD r3, r3, r12 @ Build index to this core's execute thread ptr 228 @ /* We don't have the lock. This core should be in the list. Remove it. */ 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 328 ADD r3, r3, r12 @ Build index to core's time slice [all …]
|
| /ThreadX-v6.4.1/ports_smp/mips32_interaptiv_smp/green/src/ |
| D | tx_thread_smp_core_preempt.mip | 40 /* This function preempts the specified core in situations where the */ 41 /* thread corresponding to this core is no longer ready or when the */ 42 /* core must be used for a higher-priority thread. If the specified is */ 43 /* the current core, this processing is skipped since the will give up */ 48 /* core The core to preempt */
|
| /ThreadX-v6.4.1/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
|