Skip to content

Commit 9d28338

Browse files
committed
feat(sbi): 换一种获取 SMP 的方式
1 parent 2b3de3d commit 9d28338

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

rustsbi-qemu/src/device_tree.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ pub(crate) struct BoardInfo {
1212
pub(crate) fn parse(_opaque: usize) -> BoardInfo {
1313
BoardInfo {
1414
model: vec![String::from("riscv-virtio,qemu")],
15-
smp: 4,
15+
smp: 8,
1616
uart: 0x1000_0000..0x1000_0100,
1717
test: 0x10_0000..0x10_1000,
1818
clint: 0x200_0000..0x201_0000,

rustsbi-qemu/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ extern "C" fn rust_main(_hartid: usize, opaque: usize) {
142142
clint::init(board_info.clint.start);
143143
test_device::init(board_info.test.start);
144144
let uart = unsafe { ns16550a::Ns16550a::new(board_info.uart.start) };
145-
let hsm = HSM.call_once(|| qemu_hsm::QemuHsm::new(clint::get(), board_info.smp, opaque));
145+
let hsm = HSM.call_once(|| qemu_hsm::QemuHsm::new(clint::get(), NUM_HART_MAX, opaque));
146146
// 初始化 SBI 服务
147147
rustsbi::legacy_stdio::init_legacy_stdio_embedded_hal(uart);
148148
rustsbi::init_ipi(clint::get());
@@ -166,7 +166,7 @@ extern "C" fn rust_main(_hartid: usize, opaque: usize) {
166166
logo = rustsbi::LOGO,
167167
ver_impl = env!("CARGO_PKG_VERSION"),
168168
model = board_info.model,
169-
smp = board_info.smp,
169+
smp = SMP.load(Acquire),
170170
hartid = hart_id(),
171171
dtb = opaque,
172172
firmware = entry as usize,

xtask/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ fn xtask_qemu_run(xtask_env: &XtaskEnv) {
216216
.args(&["-machine", "virt"])
217217
.args(&["-bios", "rustsbi-qemu.bin"])
218218
.args(&["-kernel", "test-kernel.bin"])
219-
.args(&["-smp", "4"]) // 8 cores
219+
.args(&["-smp", "8"]) // 8 cores
220220
.arg("-nographic")
221221
.status()
222222
.unwrap();
@@ -233,7 +233,7 @@ fn xtask_qemu_debug(xtask_env: &XtaskEnv) {
233233
.args(&["-machine", "virt"])
234234
.args(&["-bios", "rustsbi-qemu.bin"])
235235
.args(&["-kernel", "test-kernel.bin"])
236-
.args(&["-smp", "4"]) // 8 cores
236+
.args(&["-smp", "8"]) // 8 cores
237237
.arg("-nographic")
238238
.args(&["-gdb", "tcp::1234", "-S"])
239239
.status()

0 commit comments

Comments
 (0)