mirror of
https://github.com/eclipse-threadx/threadx.git
synced 2025-11-16 12:34:48 +00:00
Added memory barrier before thread scheduling for ARMv8-A ThreadX SMP. (#280)
This commit is contained in:
@@ -70,7 +70,8 @@
|
||||
/* FIFO queueing, */
|
||||
/* resulting in version 6.1.11 */
|
||||
/* xx-xx-xxxx Tiejun Zhou Modified comment(s), added */
|
||||
/* #include tx_user.h, */
|
||||
/* #include tx_user.h, added */
|
||||
/* memory barrier, */
|
||||
/* resulting in version 6.x */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
@@ -294,6 +295,7 @@ __tx_thread_dont_save_ts:
|
||||
|
||||
/* Set bit indicating this thread is ready for execution. */
|
||||
|
||||
DMB ISH // Ensure that accesses to shared resource have completed
|
||||
MOV x2, #1 // Build ready flag
|
||||
STR w2, [x0, #260] // Set thread's ready flag
|
||||
DMB ISH // Ensure that accesses to shared resource have completed
|
||||
|
||||
@@ -67,7 +67,8 @@
|
||||
/* added ARMv8.2-A support, */
|
||||
/* resulting in version 6.1.10 */
|
||||
/* xx-xx-xxxx Tiejun Zhou Modified comment(s), added */
|
||||
/* #include tx_user.h, */
|
||||
/* #include tx_user.h, added */
|
||||
/* memory barrier, */
|
||||
/* resulting in version 6.x */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
@@ -173,6 +174,7 @@ __tx_thread_dont_save_ts:
|
||||
|
||||
/* Set ready bit in thread control block. */
|
||||
|
||||
DMB ISH // Ensure that accesses to shared resource have completed
|
||||
MOV x3, #1 // Build ready value
|
||||
STR w3, [x6, #260] // Make the thread ready
|
||||
DMB ISH //
|
||||
|
||||
@@ -70,7 +70,8 @@
|
||||
/* FIFO queueing, */
|
||||
/* resulting in version 6.1.11 */
|
||||
/* xx-xx-xxxx Tiejun Zhou Modified comment(s), added */
|
||||
/* #include tx_user.h, */
|
||||
/* #include tx_user.h, added */
|
||||
/* memory barrier, */
|
||||
/* resulting in version 6.x */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
@@ -294,6 +295,7 @@ __tx_thread_dont_save_ts:
|
||||
|
||||
/* Set bit indicating this thread is ready for execution. */
|
||||
|
||||
DMB ISH // Ensure that accesses to shared resource have completed
|
||||
MOV x2, #1 // Build ready flag
|
||||
STR w2, [x0, #260] // Set thread's ready flag
|
||||
DMB ISH // Ensure that accesses to shared resource have completed
|
||||
|
||||
@@ -67,7 +67,8 @@
|
||||
/* added ARMv8.2-A support, */
|
||||
/* resulting in version 6.1.10 */
|
||||
/* xx-xx-xxxx Tiejun Zhou Modified comment(s), added */
|
||||
/* #include tx_user.h, */
|
||||
/* #include tx_user.h, added */
|
||||
/* memory barrier, */
|
||||
/* resulting in version 6.x */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
@@ -173,6 +174,7 @@ __tx_thread_dont_save_ts:
|
||||
|
||||
/* Set ready bit in thread control block. */
|
||||
|
||||
DMB ISH // Ensure that accesses to shared resource have completed
|
||||
MOV x3, #1 // Build ready value
|
||||
STR w3, [x6, #260] // Make the thread ready
|
||||
DMB ISH //
|
||||
|
||||
Reference in New Issue
Block a user