1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
|
id = 2898
title = "-M virt,dumpdtb is missing information from the device tree"
state = "closed"
created_at = "2025-04-01T03:59:08.221Z"
closed_at = "2025-05-08T13:46:59.812Z"
labels = ["target: arm"]
url = "https://gitlab.com/qemu-project/qemu/-/issues/2898"
host-os = "n/a"
host-arch = "n/a"
qemu-version = "v10.0.0-rc1"
guest-os = "n/a"
guest-arch = "n/a"
description = """dumpdtb no longer produces a device tree with the full system described.
```
$ dtc -I dtb -O dts test.dtb
<stdout>: Warning (unit_address_vs_reg): /soc/pci@30000000: node has a unit name, but no reg or ranges property
<stdout>: Warning (simple_bus_reg): /soc/pci@30000000: missing or empty reg/ranges property
/dts-v1/;
/ {
\t#address-cells = <0x02>;
\t#size-cells = <0x02>;
\tcompatible = "riscv-virtio";
\tmodel = "riscv-virtio,qemu";
\tpmu {
\t\triscv,event-to-mhpmcounters = <0x01 0x01 0x7fff9 0x02 0x02 0x7fffc 0x10019 0x10019 0x7fff8 0x1001b 0x1001b 0x7fff8 0x10021 0x10021 0x7fff8>;
\t\tcompatible = "riscv,pmu";
\t};
\tfw-cfg@10100000 {
\t\tdma-coherent;
\t\treg = <0x00 0x10100000 0x00 0x18>;
\t\tcompatible = "qemu,fw-cfg-mmio";
\t};
\tflash@20000000 {
\t\tbank-width = <0x04>;
\t\treg = <0x00 0x20000000 0x00 0x2000000 0x00 0x22000000 0x00 0x2000000>;
\t\tcompatible = "cfi-flash";
\t};
\taliases {
\t};
\tchosen {
\t\trng-seed = <0xd4266784 0xc7a7c66f 0xd5b7347d 0x862188f3 0x78065a8e 0xebdedae5 0xd77c47b0 0x34d31eff>;
\t};
\tsoc {
\t\t#address-cells = <0x02>;
\t\t#size-cells = <0x02>;
\t\tcompatible = "simple-bus";
\t\tranges;
\t\tpci@30000000 {
\t\t};
\t};
};
```"""
reproduce = """1. qemu-system-riscv64 -machine virt,dumpdtb=test.dtb
2. dtc -I dtb -O dts test.dtb"""
additional = """The regression was introduced in https://gitlab.com/qemu-project/qemu/-/commit/8fd2518ef2f8d. If this commit is reverted, the expected behavior returns.
```
dtc -I dtb -O dts test.dtb | grep "@"
\tplatform-bus@4000000 {
\tmemory@80000000 {
\t\tcpu@0 {
\tfw-cfg@10100000 {
\tflash@20000000 {
\t\tserial0 = "/soc/serial@10000000";
\t\tstdout-path = "/soc/serial@10000000";
\t\trtc@101000 {
\t\tserial@10000000 {
\t\t\tclock-frequency = "", "8@";
\t\ttest@100000 {
\t\tvirtio_mmio@10008000 {
\t\tvirtio_mmio@10007000 {
\t\tvirtio_mmio@10006000 {
\t\tvirtio_mmio@10005000 {
\t\tvirtio_mmio@10004000 {
\t\tvirtio_mmio@10003000 {
\t\tvirtio_mmio@10002000 {
\t\tvirtio_mmio@10001000 {
\t\tplic@c000000 {
\t\tclint@2000000 {
\t\tpci@30000000 {
```
Other machines are affected to a lesser degree. The arm virt machine:
qemu-system-arm -machine virt,dumpdtb=test.dtb
```
@@ -8,28 +8,6 @@
\t#address-cells = <0x02>;
\tcompatible = "linux,dummy-virt";
-\tpsci {
-\t\tmigrate = <0x84000005>;
-\t\tcpu_on = <0x84000003>;
-\t\tcpu_off = <0x84000002>;
-\t\tcpu_suspend = <0x84000001>;
-\t\tmethod = "hvc";
-\t\tcompatible = "arm,psci-1.0", "arm,psci-0.2", "arm,psci";
-\t};
-
-\tmemory@40000000 {
-\t\treg = <0x00 0x40000000 0x00 0x8000000>;
-\t\tdevice_type = "memory";
-\t};
-
-\tplatform-bus@c000000 {
-\t\tinterrupt-parent = <0x8002>;
-\t\tranges = <0x00 0x00 0xc000000 0x2000000>;
-\t\t#address-cells = <0x01>;
-\t\t#size-cells = <0x01>;
-\t\tcompatible = "qemu,platform", "simple-bus";
-\t};
-
```"""
|