From 4f834ef5c9b4a11cded64582a8541eac7a27c6dc Mon Sep 17 00:00:00 2001 From: Yifan Wu Date: Fri, 9 Jul 2021 08:10:39 +0800 Subject: [PATCH] Modify clear_bss --- os/src/main.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/os/src/main.rs b/os/src/main.rs index b43c79ad..936986f3 100644 --- a/os/src/main.rs +++ b/os/src/main.rs @@ -21,9 +21,12 @@ fn clear_bss() { fn sbss(); fn ebss(); } - (sbss as usize..ebss as usize).for_each(|a| { - unsafe { (a as *mut u8).write_volatile(0) } - }); + unsafe { + core::slice::from_raw_parts_mut( + sbss as usize as *mut u8, + ebss as usize - sbss as usize, + ).fill(0); + } } #[no_mangle]