Skip to content

Commit 7a2383e

Browse files
author
Jiajie Chen
committed
Fix unused unsafe for mipsel and riscv32
1 parent 5dc74c6 commit 7a2383e

File tree

5 files changed

+21
-29
lines changed

5 files changed

+21
-29
lines changed

kernel/src/arch/mipsel/board/malta/mod.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@ pub fn init_serial_early() {
1919
// initialize serial driver
2020
serial::init(0xbf000900);
2121
// Enable serial interrupt
22-
unsafe {
23-
let mut status = cp0::status::read();
24-
status.enable_hard_int2();
25-
cp0::status::write(status);
26-
}
22+
let mut status = cp0::status::read();
23+
status.enable_hard_int2();
24+
cp0::status::write(status);
2725
println!("Hello QEMU Malta!");
2826
}
2927

kernel/src/arch/mipsel/context.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ impl Context {
299299
/// The SATP register will be set to `satp`.
300300
/// All the other registers are same as the original.
301301
pub unsafe fn new_fork(tf: &TrapFrame, kstack_top: usize, satp: usize) -> Self {
302-
let tls = unsafe { *(_cur_tls as *const usize) };
302+
let tls = *(_cur_tls as *const usize);
303303
InitStack {
304304
context: ContextData::new(satp, tls),
305305
tf: {

kernel/src/arch/mipsel/interrupt.rs

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,23 +18,21 @@ pub fn init() {
1818
extern "C" {
1919
fn trap_entry();
2020
}
21-
unsafe {
22-
// Set the exception vector address
23-
cp0::ebase::write_u32(trap_entry as u32);
24-
println!("Set ebase = {:x}", trap_entry as u32);
21+
// Set the exception vector address
22+
cp0::ebase::write_u32(trap_entry as u32);
23+
println!("Set ebase = {:x}", trap_entry as u32);
2524

26-
let mut status = cp0::status::read();
27-
// Enable IPI
28-
status.enable_soft_int0();
29-
status.enable_soft_int1();
30-
// Enable clock interrupt
31-
status.enable_hard_int5();
32-
// Enable serial interrupt
33-
#[cfg(feature = "board_thinpad")]
34-
status.enable_hard_int0();
25+
let mut status = cp0::status::read();
26+
// Enable IPI
27+
status.enable_soft_int0();
28+
status.enable_soft_int1();
29+
// Enable clock interrupt
30+
status.enable_hard_int5();
31+
// Enable serial interrupt
32+
#[cfg(feature = "board_thinpad")]
33+
status.enable_hard_int0();
3534

36-
cp0::status::write(status);
37-
}
35+
cp0::status::write(status);
3836
info!("interrupt: init end");
3937
}
4038

kernel/src/arch/mipsel/paging.rs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,7 @@ pub fn root_page_table_buffer() -> &'static mut MIPSPageTable {
8383
/// implementation for the Entry trait in /crate/memory/src/paging/mod.rs
8484
impl Entry for PageEntry {
8585
fn update(&mut self) {
86-
unsafe {
87-
TLBEntry::clear_all();
88-
}
86+
TLBEntry::clear_all();
8987
}
9088
fn accessed(&self) -> bool {
9189
self.0.flags().contains(EF::ACCESSED)
@@ -156,7 +154,7 @@ impl PageTableImpl {
156154
ManuallyDrop::new(PageTableImpl {
157155
page_table: TwoLevelPageTable::new(table),
158156
root_frame: frame,
159-
entry: unsafe { core::mem::MaybeUninit::zeroed().assume_init() },
157+
entry: core::mem::MaybeUninit::zeroed().assume_init(),
160158
})
161159
}
162160

@@ -199,9 +197,7 @@ impl PageTableExt for PageTableImpl {
199197
}
200198

201199
fn flush_tlb() {
202-
unsafe {
203-
TLBEntry::clear_all();
204-
}
200+
TLBEntry::clear_all();
205201
}
206202
}
207203

kernel/src/arch/riscv32/paging.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ impl PageTableImpl {
158158
ManuallyDrop::new(PageTableImpl {
159159
page_table: TopLevelPageTable::new(table, PHYSICAL_MEMORY_OFFSET),
160160
root_frame: frame,
161-
entry: unsafe { core::mem::MaybeUninit::zeroed().assume_init() },
161+
entry: core::mem::MaybeUninit::zeroed().assume_init(),
162162
})
163163
}
164164
/// The method for getting the kernel page table.

0 commit comments

Comments
 (0)