Compare commits

..

No commits in common. "master" and "master" have entirely different histories.

1 changed files with 1 additions and 11 deletions

View File

@ -44,7 +44,7 @@
use core::mem;
use stack::Stack;
pub const STACK_ALIGNMENT: usize = 4096;
pub const STACK_ALIGNMENT: usize = 16;
#[derive(Debug, Clone, Copy)]
#[repr(transparent)]
@ -159,12 +159,6 @@ pub unsafe fn swap(arg: usize, new_sp: StackPointer,
// Just pass a dummy pointer if we aren't linking the stack
&mut dummy
};
let stack_limit = if let Some(new_stack) = new_stack {
new_stack.limit() as *mut usize
} else {
// Stack should not reach all the way to address 0
0 as *mut usize
};
#[naked]
unsafe extern "C" fn trampoline() {
@ -180,9 +174,6 @@ pub unsafe fn swap(arg: usize, new_sp: StackPointer,
.cfi_offset fp, 4
.cfi_offset ra, 0
# Perform environment call to modify the PMP regions
ecall
# Link the call stacks together by writing the current stack bottom
# address to the CFA slot in the new stack.
sw sp, 0(a3)
@ -218,7 +209,6 @@ pub unsafe fn swap(arg: usize, new_sp: StackPointer,
"{a0}" (arg)
"{a2}" (new_sp.0)
"{a3}" (new_cfa)
"{a7}" (stack_limit)
:/*"zero",*/"ra",/*"sp","gp","tp",*/"t0","t1","t2",
/*"fp",*/"s1",/*"a0", "a1"*/"a2", "a3", "a4", "a5",
"a6", "a7", "s2", "s3", "s4", "s5", "s6", "s7",