Skip to content

Commit dd72fef

Browse files
committed
fix(sbi): 对设备树内存区域不做限制
1 parent 52acbbf commit dd72fef

File tree

1 file changed

+3
-12
lines changed

1 file changed

+3
-12
lines changed

rustsbi-qemu/src/main.rs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -223,11 +223,8 @@ fn init_heap() {
223223

224224
/// 设置 PMP。
225225
fn set_pmp(board_info: &BoardInfo) {
226-
use riscv::register::{
227-
pmpaddr0, pmpaddr1, pmpaddr2, pmpaddr3, pmpaddr4, pmpaddr5, pmpcfg0, Permission, Range,
228-
};
226+
use riscv::register::{pmpaddr0, pmpaddr1, pmpaddr2, pmpaddr3, pmpcfg0, Permission, Range};
229227
let mem = &board_info.mem[0];
230-
let dtb = &board_info.dtb;
231228
unsafe {
232229
pmpcfg0::set_pmp(0, Range::OFF, Permission::NONE, false);
233230
pmpaddr0::write(0);
@@ -237,15 +234,9 @@ fn set_pmp(board_info: &BoardInfo) {
237234
// SBI
238235
pmpcfg0::set_pmp(2, Range::TOR, Permission::NONE, false);
239236
pmpaddr2::write(SUPERVISOR_ENTRY >> 2);
240-
// 主存
241-
pmpcfg0::set_pmp(3, Range::TOR, Permission::RWX, false);
242-
pmpaddr3::write(dtb.start >> 2);
243-
// 设备树
244-
pmpcfg0::set_pmp(4, Range::TOR, Permission::RW, false);
245-
pmpaddr4::write(dtb.end >> 2);
246237
//主存
247-
pmpcfg0::set_pmp(5, Range::TOR, Permission::RWX, false);
248-
pmpaddr5::write(mem.end >> 2);
238+
pmpcfg0::set_pmp(3, Range::TOR, Permission::RWX, false);
239+
pmpaddr3::write(mem.end >> 2);
249240
}
250241
}
251242

0 commit comments

Comments
 (0)