Skip to content

Commit 4284643

Browse files
committed
build: update deps
- Updating dtb-walker v0.1.3 -> v0.2.0-alpha.3 - Updating hashbrown v0.12.2 -> v0.12.3 - Updating os_str_bytes v6.1.0 -> v6.2.0 - Updating rustversion v1.0.7 -> v1.0.8 - Updating spin v0.9.3 -> v0.9.4 - Updating unicode-ident v1.0.1 -> v1.0.2 - Updating x86_64 v0.14.9 -> v0.14.10 Signed-off-by: YdrMaster <ydrml@hotmail.com>
1 parent 72f39f9 commit 4284643

File tree

5 files changed

+37
-37
lines changed

5 files changed

+37
-37
lines changed

Cargo.lock

Lines changed: 14 additions & 14 deletions
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
@@ -13,5 +13,5 @@ riscv = "0.8"
1313
spin = "0.9"
1414
r0 = "1"
1515
uart_16550 = "0.2"
16-
dtb-walker = "0.1.3"
16+
dtb-walker = "=0.2.0-alpha.3"
1717
qemu-exit = "3.0"

rustsbi-qemu/src/device_tree.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ impl<const N: usize> Display for StringInline<N> {
2727

2828
/// 解析设备树。
2929
pub(crate) fn parse(opaque: usize) -> BoardInfo {
30-
use dtb_walker::{Dtb, DtbObj, HeaderError as E, Property, WalkOperation::*};
31-
const CPUS: &[u8] = b"cpus";
32-
const MEMORY: &[u8] = b"memory";
33-
const SOC: &[u8] = b"soc";
34-
const UART: &[u8] = b"uart";
35-
const TEST: &[u8] = b"test";
36-
const CLINT: &[u8] = b"clint";
30+
use dtb_walker::{Dtb, DtbObj, HeaderError as E, Property, Str, WalkOperation::*};
31+
const CPUS: &str = "cpus";
32+
const MEMORY: &str = "memory";
33+
const SOC: &str = "soc";
34+
const UART: &str = "uart";
35+
const TEST: &str = "test";
36+
const CLINT: &str = "clint";
3737

3838
let mut ans = BoardInfo {
3939
dtb: opaque..opaque,
@@ -51,35 +51,35 @@ pub(crate) fn parse(opaque: usize) -> BoardInfo {
5151
}
5252
.unwrap();
5353
ans.dtb.end += dtb.total_size();
54-
dtb.walk(|path, obj| match obj {
54+
dtb.walk(|ctx, obj| match obj {
5555
DtbObj::SubNode { name } => {
56-
let current = path.last();
57-
if current.is_empty() {
58-
if name == CPUS || name == SOC || name.starts_with(MEMORY) {
56+
let current = ctx.name();
57+
if ctx.is_root() {
58+
if name == Str::from(CPUS) || name == Str::from(SOC) || name.starts_with(MEMORY) {
5959
StepInto
6060
} else {
6161
StepOver
6262
}
63-
} else if current == SOC {
63+
} else if current == Str::from(SOC) {
6464
if name.starts_with(UART) || name.starts_with(TEST) || name.starts_with(CLINT) {
6565
StepInto
6666
} else {
6767
StepOver
6868
}
6969
} else {
70-
if current == CPUS && name.starts_with(b"cpu@") {
70+
if current == Str::from(CPUS) && name.starts_with("cpu@") {
7171
ans.smp += 1;
7272
}
7373
StepOver
7474
}
7575
}
76-
DtbObj::Property(Property::Model(model)) if path.last().is_empty() => {
76+
DtbObj::Property(Property::Model(model)) if ctx.is_root() => {
7777
ans.model.0 = model.as_bytes().len();
7878
ans.model.1[..ans.model.0].copy_from_slice(model.as_bytes());
7979
StepOver
8080
}
8181
DtbObj::Property(Property::Reg(mut reg)) => {
82-
let node = path.last();
82+
let node = ctx.name();
8383
if node.starts_with(UART) {
8484
ans.uart = reg.next().unwrap();
8585
StepOut

test-kernel/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ riscv = "0.8"
1313
spin = "0.9"
1414
r0 = "1"
1515
uart_16550 = "0.2"
16-
dtb-walker = "0.1.3"
16+
dtb-walker = "=0.2.0-alpha.3"

test-kernel/src/main.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ struct BoardInfo {
260260
}
261261

262262
fn parse_smp(dtb_pa: usize) -> BoardInfo {
263-
use dtb_walker::{Dtb, DtbObj, HeaderError as E, Property, WalkOperation::*};
263+
use dtb_walker::{Dtb, DtbObj, HeaderError as E, Property, Str, WalkOperation::*};
264264

265265
let mut ans = BoardInfo { smp: 0, uart: 0 };
266266
unsafe {
@@ -269,21 +269,21 @@ fn parse_smp(dtb_pa: usize) -> BoardInfo {
269269
})
270270
}
271271
.unwrap()
272-
.walk(|path, obj| match obj {
272+
.walk(|ctx, obj| match obj {
273273
DtbObj::SubNode { name } => {
274-
if path.last().is_empty() && (name == b"cpus" || name == b"soc") {
274+
if ctx.is_root() && (name == Str::from("cpus") || name == Str::from("soc")) {
275275
StepInto
276-
} else if path.last() == b"cpus" && name.starts_with(b"cpu@") {
276+
} else if ctx.name() == Str::from("cpus") && name.starts_with("cpu@") {
277277
ans.smp += 1;
278278
StepOver
279-
} else if path.last() == b"soc" && name.starts_with(b"uart") {
279+
} else if ctx.name() == Str::from("soc") && name.starts_with("uart") {
280280
StepInto
281281
} else {
282282
StepOver
283283
}
284284
}
285285
DtbObj::Property(Property::Reg(mut reg)) => {
286-
if path.last().starts_with(b"uart") {
286+
if ctx.name().starts_with("uart") {
287287
ans.uart = reg.next().unwrap().start;
288288
}
289289
StepOut

0 commit comments

Comments
 (0)