| /ThreadX-v6.4.1/ports_smp/mips32_interaptiv_smp/gnu/src/ |
| D | tx_thread_smp_protect.S | 74 la $10, _tx_thread_smp_protection # Build address to protection structure 75 lw $9, ($10) # Pickup the protection 76 … bne $9, $0, _already_owned # If non-zero, then the protection is already in force 78 ll $11, ($10) # Pickup the protection in force flag 79 bne $11, $0, _get_retry # Is the protection still available? 80 li $11, 1 # Build protection in force flag 82 beq $11, $0, _get_retry # If successful, we got the protection! 103 b _tx_thread_smp_protect # Try to get the protection again 108 beq $9, $25, _have_the_protection # If equal, we already have the protection 109 lw $12, 12($10) # Pickup protection count [all …]
|
| D | tx_thread_smp_unprotect.S | 75 la $10, _tx_thread_smp_protection # Build address of protection structure 77 …bne $9, $25, _still_protected # Not the same VPE, protection is in force somewhere e… 78 lw $12, 12($10) # Pickup protection count 79 beq $12, $0, _still_protected # If zero, protection is not in force anymore 81 sw $12, 12($10) # Store back the protection count 82 bne $12, $0, _still_protected # If non-zero, nested protection condition
|
| D | tx_thread_system_return.S | 182 la $10,_tx_thread_smp_protection # Build address of protection structure 194 sw $11, 8($10) # Set protection VPE to invalid 199 sw $0, ($10) # Release protection
|
| /ThreadX-v6.4.1/ports_smp/cortex_a9_smp/gnu/src/ |
| D | tx_thread_smp_unprotect.S | 96 LDR r2,=_tx_thread_smp_protection @ Build address of protection structure 99 …BNE _still_protected @ If this is not the owning core, protection is in for… 101 LDR r3, [r2, #12] @ Pickup the protection count 102 CMP r3, #0 @ Check to see if the protection is still active 103 …BEQ _still_protected @ If the protection count is zero, protection has alre… 105 SUB r3, r3, #1 @ Decrement the protection count 107 CMP r3, #0 @ Check to see if the protection is still active 108 …BNE _still_protected @ If the protection count is non-zero, protection is s… 112 BNE _still_protected @ Yes, skip the protection release 117 BNE _still_protected @ Yes, skip the protection release [all …]
|
| D | tx_thread_smp_protect.S | 112 LDR r2, =_tx_thread_smp_protection @ Build address to protection structure 115 BNE _protection_not_owned @ No, the protection is not already owned 135 LDREX r3, [r2, #0] @ Pickup the protection flag 137 BNE _start_waiting @ No, protection not available 155 STREX r4, r3, [r2, #0] @ Attempt to get the protection 162 DMB @ Ensure write to protection finishes 185 LDR r3, [r2, #0] @ Pickup the protection flag 187 BNE _start_waiting @ No, protection not available 266 BEQ _got_lock_after_waiting @ Yes, the protection is already owned. This means 267 @ an ISR preempted us and got protection [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a7_smp/gnu/src/ |
| D | tx_thread_smp_unprotect.s | 96 LDR r2,=_tx_thread_smp_protection @ Build address of protection structure 99 …BNE _still_protected @ If this is not the owning core, protection is in for… 101 LDR r3, [r2, #12] @ Pickup the protection count 102 CMP r3, #0 @ Check to see if the protection is still active 103 …BEQ _still_protected @ If the protection count is zero, protection has alre… 105 SUB r3, r3, #1 @ Decrement the protection count 107 CMP r3, #0 @ Check to see if the protection is still active 108 …BNE _still_protected @ If the protection count is non-zero, protection is s… 112 BNE _still_protected @ Yes, skip the protection release 117 BNE _still_protected @ Yes, skip the protection release [all …]
|
| D | tx_thread_smp_protect.S | 112 LDR r2, =_tx_thread_smp_protection @ Build address to protection structure 115 BNE _protection_not_owned @ No, the protection is not already owned 135 LDREX r3, [r2, #0] @ Pickup the protection flag 137 BNE _start_waiting @ No, protection not available 155 STREX r4, r3, [r2, #0] @ Attempt to get the protection 162 DMB @ Ensure write to protection finishes 185 LDR r3, [r2, #0] @ Pickup the protection flag 187 BNE _start_waiting @ No, protection not available 266 BEQ _got_lock_after_waiting @ Yes, the protection is already owned. This means 267 @ an ISR preempted us and got protection [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a5_smp/gnu/src/ |
| D | tx_thread_smp_unprotect.S | 96 LDR r2,=_tx_thread_smp_protection @ Build address of protection structure 99 …BNE _still_protected @ If this is not the owning core, protection is in for… 101 LDR r3, [r2, #12] @ Pickup the protection count 102 CMP r3, #0 @ Check to see if the protection is still active 103 …BEQ _still_protected @ If the protection count is zero, protection has alre… 105 SUB r3, r3, #1 @ Decrement the protection count 107 CMP r3, #0 @ Check to see if the protection is still active 108 …BNE _still_protected @ If the protection count is non-zero, protection is s… 112 BNE _still_protected @ Yes, skip the protection release 117 BNE _still_protected @ Yes, skip the protection release [all …]
|
| D | tx_thread_smp_protect.S | 110 LDR r2, =_tx_thread_smp_protection @ Build address to protection structure 113 BNE _protection_not_owned @ No, the protection is not already owned 133 LDREX r3, [r2, #0] @ Pickup the protection flag 135 BNE _start_waiting @ No, protection not available 153 STREX r4, r3, [r2, #0] @ Attempt to get the protection 160 DMB @ Ensure write to protection finishes 183 LDR r3, [r2, #0] @ Pickup the protection flag 185 BNE _start_waiting @ No, protection not available 264 BEQ _got_lock_after_waiting @ Yes, the protection is already owned. This means 265 @ an ISR preempted us and got protection [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a9_smp/ac5/src/ |
| D | tx_thread_smp_unprotect.s | 94 LDR r2,=_tx_thread_smp_protection ; Build address of protection structure 97 …BNE _still_protected ; If this is not the owning core, protection is in for… 99 LDR r3, [r2, #12] ; Pickup the protection count 100 CMP r3, #0 ; Check to see if the protection is still active 101 …BEQ _still_protected ; If the protection count is zero, protection has alre… 103 SUB r3, r3, #1 ; Decrement the protection count 105 CMP r3, #0 ; Check to see if the protection is still active 106 …BNE _still_protected ; If the protection count is non-zero, protection is s… 110 BNE _still_protected ; Yes, skip the protection release 115 BNE _still_protected ; Yes, skip the protection release [all …]
|
| D | tx_thread_smp_protect.s | 110 LDR r2, =_tx_thread_smp_protection ; Build address to protection structure 113 BNE _protection_not_owned ; No, the protection is not already owned 133 LDREX r3, [r2, #0] ; Pickup the protection flag 135 BNE _start_waiting ; No, protection not available 153 STREX r4, r3, [r2, #0] ; Attempt to get the protection 160 DMB ; Ensure write to protection finishes 183 LDR r3, [r2, #0] ; Pickup the protection flag 185 BNE _start_waiting ; No, protection not available 264 BEQ _got_lock_after_waiting ; Yes, the protection is already owned. This means 265 ; an ISR preempted us and got protection [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a7_smp/ac5/src/ |
| D | tx_thread_smp_unprotect.s | 94 LDR r2,=_tx_thread_smp_protection ; Build address of protection structure 97 …BNE _still_protected ; If this is not the owning core, protection is in for… 99 LDR r3, [r2, #12] ; Pickup the protection count 100 CMP r3, #0 ; Check to see if the protection is still active 101 …BEQ _still_protected ; If the protection count is zero, protection has alre… 103 SUB r3, r3, #1 ; Decrement the protection count 105 CMP r3, #0 ; Check to see if the protection is still active 106 …BNE _still_protected ; If the protection count is non-zero, protection is s… 110 BNE _still_protected ; Yes, skip the protection release 115 BNE _still_protected ; Yes, skip the protection release [all …]
|
| D | tx_thread_smp_protect.s | 108 LDR r2, =_tx_thread_smp_protection ; Build address to protection structure 111 BNE _protection_not_owned ; No, the protection is not already owned 131 LDREX r3, [r2, #0] ; Pickup the protection flag 133 BNE _start_waiting ; No, protection not available 151 STREX r4, r3, [r2, #0] ; Attempt to get the protection 158 DMB ; Ensure write to protection finishes 181 LDR r3, [r2, #0] ; Pickup the protection flag 183 BNE _start_waiting ; No, protection not available 262 BEQ _got_lock_after_waiting ; Yes, the protection is already owned. This means 263 ; an ISR preempted us and got protection [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a5_smp/ac5/src/ |
| D | tx_thread_smp_unprotect.s | 94 LDR r2,=_tx_thread_smp_protection ; Build address of protection structure 97 …BNE _still_protected ; If this is not the owning core, protection is in for… 99 LDR r3, [r2, #12] ; Pickup the protection count 100 CMP r3, #0 ; Check to see if the protection is still active 101 …BEQ _still_protected ; If the protection count is zero, protection has alre… 103 SUB r3, r3, #1 ; Decrement the protection count 105 CMP r3, #0 ; Check to see if the protection is still active 106 …BNE _still_protected ; If the protection count is non-zero, protection is s… 110 BNE _still_protected ; Yes, skip the protection release 115 BNE _still_protected ; Yes, skip the protection release [all …]
|
| D | tx_thread_smp_protect.s | 108 LDR r2, =_tx_thread_smp_protection ; Build address to protection structure 111 BNE _protection_not_owned ; No, the protection is not already owned 131 LDREX r3, [r2, #0] ; Pickup the protection flag 133 BNE _start_waiting ; No, protection not available 151 STREX r4, r3, [r2, #0] ; Attempt to get the protection 158 DMB ; Ensure write to protection finishes 181 LDR r3, [r2, #0] ; Pickup the protection flag 183 BNE _start_waiting ; No, protection not available 262 BEQ _got_lock_after_waiting ; Yes, the protection is already owned. This means 263 ; an ISR preempted us and got protection [all …]
|
| /ThreadX-v6.4.1/ports_smp/cortex_a5x_smp/green/src/ |
| D | tx_thread_smp_unprotect.a64 | 50 /* This function releases previously obtained protection. The supplied */ 82 LDR x1,=_tx_thread_smp_protection // Build address of protection structure 87 …B.NE _still_protected // If this is not the owning core, protection is in fo… 89 LDR w2, [x1, #8] // Pickup the protection count 90 CMP w2, #0 // Check to see if the protection is still active 91 …B.EQ _still_protected // If the protection count is zero, protection has alr… 93 SUB w2, w2, #1 // Decrement the protection count 95 CMP w2, #0 // Check to see if the protection is still active 96 …B.NE _still_protected // If the protection count is non-zero, protection is … 100 B.NE _still_protected // Yes, skip the protection release [all …]
|
| D | tx_thread_smp_protect.a64 | 50 /* This function gets protection for running inside the ThreadX */ 89 LDR x1, =_tx_thread_smp_protection // Build address to protection structure 92 B.EQ _owned // Yes, the protection is already owned 94 LDAXR w4, [x1, #0] // Pickup the protection flag 95 CBZ w4, _get_protection // Yes, get the protection 101 B _tx_thread_smp_protect // On waking, restart the protection attempt 105 STXR w5, w4, [x1] // Attempt to get the protection 108 B _tx_thread_smp_protect // Restart the protection attempt
|
| /ThreadX-v6.4.1/ports_smp/mips32_interaptiv_smp/green/src/ |
| D | tx_thread_smp_protect.mip | 40 /* This function gets protection for running inside the ThreadX */ 74 la $10, _tx_thread_smp_protection # Build address to protection structure 75 lw $9, ($10) # Pickup the protection 76 … bne $9, $0, _already_owned # If non-zero, then the protection is already in force 78 ll $11, ($10) # Pickup the protection in force flag 79 bne $11, $0, _get_retry # Is the protection still available? 80 li $11, 1 # Build protection in force flag 82 beq $11, $0, _get_retry # If successful, we got the protection! 103 b _tx_thread_smp_protect # Try to get the protection again 108 beq $9, $25, _have_the_protection # If equal, we already have the protection [all …]
|
| D | tx_thread_smp_unprotect.mip | 40 /* This function releases previously obtained protection. The supplied */ 75 la $10, _tx_thread_smp_protection # Build address of protection structure 77 …bne $9, $25, _still_protected # Not the same VPE, protection is in force somewhere e… 78 lw $12, 12($10) # Pickup protection count 79 beq $12, $0, _still_protected # If zero, protection is not in force anymore 81 sw $12, 12($10) # Store back the protection count 82 bne $12, $0, _still_protected # If non-zero, nested protection condition 86 …bne $12, $0, _still_protected # Don't release protection if preempt disable flag is … 95 sw $0, ($10) # Clear protection
|
| D | tx_timer_interrupt.mip | 56 /* _tx_thread_smp_protect Get protection */ 57 /* _tx_thread_smp_unprotect Release protection */ 90 /* Get protection before the timer variables are updated. */ 93 jal _tx_thread_smp_protect # Get VPE protection 205 /* Release VPE protection. */ 209 jal _tx_thread_smp_unprotect # Release protection
|
| /ThreadX-v6.4.1/ports_smp/arc_hs_smp/metaware/src/ |
| D | tx_thread_smp_unprotect.s | 82 mov r4, _tx_thread_smp_protection ; Build address of the protection structure 84 …brne r1, r5, _still_protected ; If not the owning core, protection is in for… 86 breq r6, 0, _still_protected ; If zero, protection is still active 89 brne r6, 0, _still_protected ; If non-zero, protection is still active
|
| D | tx_thread_smp_protect.s | 82 mov r2, 1 ; Build protection flag 84 mov r4, _tx_thread_smp_protection ; Build address of the protection structure 86 …breq r1, r5, _owned ; Check if the core already owns the protection
|
| /ThreadX-v6.4.1/ports_module/cortex_a7/ac5/example_build/ |
| D | txm_module_preamble.s | 33 … ; Bit 0: 0 -> Privileged mode execution (no MMU protection) 34 … ; 1 -> User mode execution (MMU protection)
|
| /ThreadX-v6.4.1/ports_module/cortex_r4/iar/example_build/ |
| D | txm_module_preamble.s | 36 … ; Bit 0: 0 -> Privileged mode execution (no MPU protection) 37 … ; 1 -> User mode execution (MPU protection)
|
| /ThreadX-v6.4.1/ports_module/cortex_a7/iar/example_build/ |
| D | txm_module_preamble.s | 38 … ; Bit 1: 0 -> No MPU protection 39 … ; 1 -> MPU protection (must have user mode selected - bit 0 set)
|