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