diff --git a/os/src/lang_items.rs b/os/src/lang_items.rs index 1c1b65ce..21c7c512 100644 --- a/os/src/lang_items.rs +++ b/os/src/lang_items.rs @@ -1,4 +1,5 @@ use core::panic::PanicInfo; +use core::arch::asm; use crate::sbi::shutdown; use crate::task::current_kstack_top; diff --git a/os/src/main.rs b/os/src/main.rs index d4b0934e..60192128 100644 --- a/os/src/main.rs +++ b/os/src/main.rs @@ -1,7 +1,5 @@ #![no_std] #![no_main] -#![feature(global_asm)] -#![feature(asm)] #![feature(panic_info_message)] #![feature(alloc_error_handler)] @@ -10,6 +8,8 @@ extern crate alloc; #[macro_use] extern crate bitflags; +use core::arch::global_asm; + #[macro_use] mod console; mod lang_items; diff --git a/os/src/mm/memory_set.rs b/os/src/mm/memory_set.rs index 575f5a34..30bc7689 100644 --- a/os/src/mm/memory_set.rs +++ b/os/src/mm/memory_set.rs @@ -14,6 +14,7 @@ use crate::config::{ TRAMPOLINE, MMIO, }; +use core::arch::asm; extern "C" { fn stext(); diff --git a/os/src/sbi.rs b/os/src/sbi.rs index 276c199d..6231c9c3 100644 --- a/os/src/sbi.rs +++ b/os/src/sbi.rs @@ -14,7 +14,7 @@ const SBI_SHUTDOWN: usize = 8; fn sbi_call(which: usize, arg0: usize, arg1: usize, arg2: usize) -> usize { let mut ret; unsafe { - asm!( + core::arch::asm!( "ecall", inlateout("x10") arg0 => ret, in("x11") arg1, diff --git a/os/src/task/switch.rs b/os/src/task/switch.rs index fa75be1a..59476813 100644 --- a/os/src/task/switch.rs +++ b/os/src/task/switch.rs @@ -1,3 +1,5 @@ +use core::arch::global_asm; + global_asm!(include_str!("switch.S")); use super::TaskContext; diff --git a/os/src/trap/mod.rs b/os/src/trap/mod.rs index 136de922..964c9042 100644 --- a/os/src/trap/mod.rs +++ b/os/src/trap/mod.rs @@ -1,5 +1,6 @@ mod context; +use core::arch::{asm, global_asm}; use riscv::register::{ mtvec::TrapMode, stvec, diff --git a/rust-toolchain b/rust-toolchain index fd472758..925656db 100644 --- a/rust-toolchain +++ b/rust-toolchain @@ -1 +1 @@ -nightly-2021-10-15 +nightly-2022-01-19 diff --git a/user/src/syscall.rs b/user/src/syscall.rs index 64f738d2..ddd0e1b7 100644 --- a/user/src/syscall.rs +++ b/user/src/syscall.rs @@ -25,7 +25,7 @@ const SYSCALL_SEMAPHORE_DOWN: usize = 1022; fn syscall(id: usize, args: [usize; 3]) -> isize { let mut ret: isize; unsafe { - asm!( + core::arch::asm!( "ecall", inlateout("x10") args[0] => ret, in("x11") args[1],