Skip to content

Commit 3d732bf

Browse files
committed
fix: m 态不应该打开外部中断
build: 更新 fast-trap Signed-off-by: YdrMaster <[email protected]>
1 parent d7bfe45 commit 3d732bf

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

rustsbi-qemu/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ sifive-test-device = "0.0.0"
2929
dtb-walker = "=0.2.0-alpha.3"
3030

3131
hsm-cell = { path = "../hsm-cell" }
32-
fast-trap = { git = "https://github.com/YdrMaster/fast-trap", rev = "5026ee4", features = [
32+
fast-trap = { git = "https://github.com/YdrMaster/fast-trap", rev = "2f605ee", features = [
3333
"riscv-m",
3434
] }

rustsbi-qemu/src/main.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,9 @@ extern "C" fn rust_main(hartid: usize, opaque: usize) {
139139
clint::clear();
140140
// 准备启动调度
141141
unsafe {
142-
asm!("csrw mcause, {}", in(reg) cause::BOOT);
143-
asm!("csrw mideleg, {}", in(reg) !0);
144-
asm!("csrw medeleg, {}", in(reg) !0);
142+
asm!("csrw mcause, {}", in(reg) cause::BOOT);
143+
asm!("csrw mideleg, {}", in(reg) !0);
144+
asm!("csrw medeleg, {}", in(reg) !0);
145145
asm!("csrw mcounteren, {}", in(reg) !0);
146146
riscv::register::medeleg::clear_supervisor_env_call();
147147
riscv::register::medeleg::clear_machine_env_call();
@@ -206,7 +206,7 @@ extern "C" fn fast_handler(
206206
*bits &= !mstatus::MPP;
207207
*bits |= mstatus::MPIE | mstatus::MPP_SUPERVISOR;
208208
});
209-
mie::write(mie::MSIE | mie::MTIE | mie::MEIE);
209+
mie::write(mie::MSIE | mie::MTIE);
210210
trap_vec::load(true);
211211
ctx.regs().a[0] = hart_id;
212212
ctx.regs().a[1] = supervisor.opaque;

0 commit comments

Comments
 (0)