adjust SMP port to also use ULONG = 8 bytes
This commit is contained in:
@@ -77,18 +77,18 @@ _tx_thread_context_save:
|
||||
STORE x29, 15*REGBYTES(sp) // Save t4 before reusing it
|
||||
|
||||
csrr t2, mhartid // Pickup current hart ID
|
||||
slli t3, t2, 2 // Build per-hart ULONG offset
|
||||
slli t3, t2, LOG_REGBYTES // Build per-hart ULONG offset
|
||||
slli t4, t2, LOG_REGBYTES // Build per-hart pointer offset
|
||||
la t1, _tx_thread_system_state // Pickup base of system state array
|
||||
add t0, t1, t3 // Select this hart's system-state slot
|
||||
lw t1, 0(t0) // Pickup system state
|
||||
LOAD t1, 0(t0) // Pickup system state
|
||||
|
||||
/* Check for a nested interrupt condition. */
|
||||
/* if (_tx_thread_system_state++)
|
||||
{ */
|
||||
beqz t1, _tx_thread_not_nested_save // If 0, first interrupt condition
|
||||
addi t1, t1, 1 // Increment the interrupt counter
|
||||
sw t1, 0(t0) // Store the interrupt counter
|
||||
STORE t1, 0(t0) // Store the interrupt counter
|
||||
|
||||
/* Nested interrupt condition.
|
||||
Save the reset of the scratch registers on the stack and return to the
|
||||
@@ -170,7 +170,7 @@ _tx_thread_not_nested_save:
|
||||
/* else if (_tx_thread_current_ptr)
|
||||
{ */
|
||||
addi t1, t1, 1 // Increment the interrupt counter
|
||||
sw t1, 0(t0) // Store the interrupt counter
|
||||
STORE t1, 0(t0) // Store the interrupt counter
|
||||
|
||||
/* Not nested: Find the user thread that was running and load our SP */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user