Browse Source

testing: update to naked_asm! in naked functions to build under rustc 2024-10-07

Ref: https://github.com/rust-lang/rust/pull/128651
Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
Zhouqi Jiang 6 months ago
parent
commit
fcd072633c
2 changed files with 3 additions and 5 deletions
  1. 2 3
      sbi-testing/src/hsm.rs
  2. 1 2
      sbi-testing/src/thread.rs

+ 2 - 3
sbi-testing/src/hsm.rs

@@ -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)]

+ 1 - 2
sbi-testing/src/thread.rs

@@ -109,7 +109,7 @@ impl Thread {
 /// 裸函数。
 #[naked]
 unsafe extern "C" fn execute_naked() {
-    core::arch::asm!(
+    core::arch::naked_asm!(
         r"  .altmacro
             .macro SAVE n
                 sd x\n, \n*8(sp)
@@ -176,6 +176,5 @@ unsafe extern "C" fn execute_naked() {
         // 返回调度
         "   ret",
         "   .option pop",
-        options(noreturn)
     )
 }