|
@@ -235,19 +235,18 @@ fn test_batch(batch: &[usize], mut f: impl FnMut(Case)) -> bool {
|
|
|
/// 测试用启动入口
|
|
|
#[naked]
|
|
|
unsafe extern "C" fn test_entry(hartid: usize, opaque: *mut ItemPerHart) -> ! {
|
|
|
- core::arch::asm!(
|
|
|
+ core::arch::naked_asm!(
|
|
|
"csrw sie, zero", // 关中断
|
|
|
"call {set_stack}", // 设置栈
|
|
|
"j {rust_main}", // 进入 rust
|
|
|
set_stack = sym set_stack,
|
|
|
rust_main = sym rust_main,
|
|
|
- options(noreturn),
|
|
|
)
|
|
|
}
|
|
|
|
|
|
#[naked]
|
|
|
unsafe extern "C" fn set_stack(hart_id: usize, ptr: *const ItemPerHart) {
|
|
|
- core::arch::asm!("addi sp, a1, 512", "ret", options(noreturn));
|
|
|
+ core::arch::naked_asm!("addi sp, a1, 512", "ret");
|
|
|
}
|
|
|
|
|
|
#[inline(never)]
|