Commit 332a2a1
authored
pci: update PciConfigSpace to pass partial-DWORDs through all devices (#3856)
This change builds on #3751 and #3830 to push partial-DWORD config space
accesses to all devices in the `PciConfigSpace` trait.
Updated devices fall into a couple categories:
- Bus type devices (vpci, legacy pci, pcie) now no longer do
read-modify-write on partial accesses, they just pass the corresponding
byte-enabled value downstream through the trait
- Endpoint devices that delegate all config space accesses to shared
`pci_core::cfg_space_emu` helpers continue to do so, passing the
byte-enabled values now
- Endpoint devices with custom config space emulation are updated on a
case by case basis.1 parent b3f87b0 commit 332a2a1
44 files changed
Lines changed: 1429 additions & 799 deletions
File tree
- openvmm/openvmm_core/src/worker
- vmm_core
- virt_whp/src
- vmotherboard/src
- vm
- chipset_device_fuzz
- src
- chipset_device/src
- devices
- chipset_legacy/src
- i440bx_host_pci_bridge
- piix4_pci_isa_bridge
- piix4_pm
- cxl/src/test
- iommu/amd_iommu/src
- missing_dev/src
- net/gdma/src
- pci
- pci_bus/src
- pci_core/src
- pcie
- fuzz
- src
- vfio_assigned_device/src
- vpci_client/src
- vpci_relay/src
- vpci/src
- storage
- ide
- fuzz
- src
- nvme_test/src
- tests
- nvme/src
- tests
- user_driver_emulated_mock/src
- vga_proxy/src
- vga/src
- virtio/virtio/src
- transport
- workers/chipset_device_worker/src
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
624 | 624 | | |
625 | 625 | | |
626 | 626 | | |
627 | | - | |
628 | 627 | | |
629 | 628 | | |
630 | 629 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
26 | 29 | | |
27 | 30 | | |
28 | 31 | | |
| |||
4150 | 4153 | | |
4151 | 4154 | | |
4152 | 4155 | | |
4153 | | - | |
4154 | | - | |
4155 | | - | |
4156 | | - | |
4157 | | - | |
| 4156 | + | |
4158 | 4157 | | |
4159 | 4158 | | |
4160 | 4159 | | |
| |||
4164 | 4163 | | |
4165 | 4164 | | |
4166 | 4165 | | |
4167 | | - | |
| 4166 | + | |
4168 | 4167 | | |
4169 | 4168 | | |
4170 | 4169 | | |
| |||
4180 | 4179 | | |
4181 | 4180 | | |
4182 | 4181 | | |
4183 | | - | |
4184 | | - | |
| 4182 | + | |
| 4183 | + | |
4185 | 4184 | | |
4186 | 4185 | | |
4187 | 4186 | | |
| |||
4197 | 4196 | | |
4198 | 4197 | | |
4199 | 4198 | | |
4200 | | - | |
4201 | | - | |
| 4199 | + | |
| 4200 | + | |
4202 | 4201 | | |
4203 | 4202 | | |
4204 | 4203 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | | - | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
135 | 136 | | |
136 | 137 | | |
137 | 138 | | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
138 | 146 | | |
139 | 147 | | |
140 | 148 | | |
141 | 149 | | |
142 | 150 | | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
143 | 156 | | |
144 | 157 | | |
145 | 158 | | |
| |||
208 | 221 | | |
209 | 222 | | |
210 | 223 | | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
211 | 230 | | |
212 | 231 | | |
213 | | - | |
214 | | - | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
215 | 238 | | |
216 | 239 | | |
217 | 240 | | |
| |||
316 | 339 | | |
317 | 340 | | |
318 | 341 | | |
319 | | - | |
| 342 | + | |
320 | 343 | | |
321 | | - | |
| 344 | + | |
322 | 345 | | |
323 | 346 | | |
324 | 347 | | |
| |||
356 | 379 | | |
357 | 380 | | |
358 | 381 | | |
359 | | - | |
| 382 | + | |
360 | 383 | | |
361 | 384 | | |
362 | 385 | | |
363 | 386 | | |
364 | | - | |
| 387 | + | |
365 | 388 | | |
366 | 389 | | |
367 | 390 | | |
| |||
401 | 424 | | |
402 | 425 | | |
403 | 426 | | |
404 | | - | |
| 427 | + | |
405 | 428 | | |
406 | 429 | | |
407 | 430 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | 19 | | |
21 | 20 | | |
22 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| |||
32 | 34 | | |
33 | 35 | | |
34 | 36 | | |
35 | | - | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
171 | 172 | | |
172 | 173 | | |
173 | 174 | | |
| 175 | + | |
174 | 176 | | |
175 | 177 | | |
176 | 178 | | |
177 | | - | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
178 | 183 | | |
179 | 184 | | |
180 | 185 | | |
181 | 186 | | |
182 | 187 | | |
183 | 188 | | |
184 | 189 | | |
185 | | - | |
| 190 | + | |
186 | 191 | | |
187 | 192 | | |
188 | 193 | | |
| |||
197 | 202 | | |
198 | 203 | | |
199 | 204 | | |
200 | | - | |
| 205 | + | |
201 | 206 | | |
202 | 207 | | |
203 | 208 | | |
| |||
348 | 353 | | |
349 | 354 | | |
350 | 355 | | |
351 | | - | |
| 356 | + | |
352 | 357 | | |
353 | 358 | | |
354 | 359 | | |
| |||
Lines changed: 15 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
| |||
157 | 159 | | |
158 | 160 | | |
159 | 161 | | |
160 | | - | |
161 | | - | |
| 162 | + | |
| 163 | + | |
162 | 164 | | |
163 | 165 | | |
164 | 166 | | |
165 | 167 | | |
166 | | - | |
| 168 | + | |
167 | 169 | | |
168 | 170 | | |
169 | 171 | | |
| |||
198 | 200 | | |
199 | 201 | | |
200 | 202 | | |
201 | | - | |
| 203 | + | |
202 | 204 | | |
203 | 205 | | |
204 | 206 | | |
205 | 207 | | |
206 | | - | |
| 208 | + | |
207 | 209 | | |
208 | | - | |
209 | | - | |
210 | | - | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
211 | 213 | | |
| 214 | + | |
212 | 215 | | |
213 | 216 | | |
214 | 217 | | |
| 218 | + | |
215 | 219 | | |
216 | 220 | | |
217 | | - | |
218 | | - | |
| 221 | + | |
| 222 | + | |
219 | 223 | | |
220 | 224 | | |
221 | 225 | | |
222 | 226 | | |
223 | | - | |
| 227 | + | |
224 | 228 | | |
225 | 229 | | |
226 | 230 | | |
| |||
Lines changed: 19 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | 15 | | |
| |||
222 | 224 | | |
223 | 225 | | |
224 | 226 | | |
225 | | - | |
226 | | - | |
| 227 | + | |
| 228 | + | |
227 | 229 | | |
228 | 230 | | |
229 | 231 | | |
230 | 232 | | |
231 | | - | |
| 233 | + | |
232 | 234 | | |
233 | 235 | | |
234 | 236 | | |
| |||
252 | 254 | | |
253 | 255 | | |
254 | 256 | | |
255 | | - | |
| 257 | + | |
256 | 258 | | |
257 | 259 | | |
258 | 260 | | |
259 | 261 | | |
260 | | - | |
| 262 | + | |
261 | 263 | | |
262 | | - | |
| 264 | + | |
263 | 265 | | |
| 266 | + | |
264 | 267 | | |
265 | 268 | | |
266 | 269 | | |
267 | 270 | | |
268 | 271 | | |
269 | 272 | | |
270 | 273 | | |
| 274 | + | |
271 | 275 | | |
272 | 276 | | |
273 | 277 | | |
| |||
279 | 283 | | |
280 | 284 | | |
281 | 285 | | |
| 286 | + | |
282 | 287 | | |
283 | 288 | | |
284 | 289 | | |
285 | 290 | | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
290 | 297 | | |
291 | 298 | | |
292 | 299 | | |
| 300 | + | |
293 | 301 | | |
294 | 302 | | |
295 | 303 | | |
| |||
301 | 309 | | |
302 | 310 | | |
303 | 311 | | |
| 312 | + | |
304 | 313 | | |
305 | 314 | | |
306 | 315 | | |
| |||
0 commit comments