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
|
id = 1576
title = "Migration from v8.0.0-rc2 to v7.2.0 with pcie-root-port device fails"
state = "closed"
created_at = "2023-04-04T09:03:32.271Z"
closed_at = "2023-08-08T12:23:16.216Z"
labels = []
url = "https://gitlab.com/qemu-project/qemu/-/issues/1576"
host-os = "Proxmox VE 7.4 (but using upstream QEMU builds)"
host-arch = "x86"
qemu-version = "v8.0.0-rc2"
guest-os = "n/a"
guest-arch = "n/a"
description = """Loading the VM state fails with:
```
qemu-system-x86_64: get_pci_config_device: Bad config data: i=0x10a read: 40 device: 0 cmask: ff wmask: 0 w1cmask:0
qemu-system-x86_64: Failed to load PCIDevice:config
qemu-system-x86_64: Failed to load pcie-root-port:parent_obj.parent_obj.parent_obj
qemu-system-x86_64: error while loading state for instance 0x0 of device '0000:00:1c.0/pcie-root-port'
qemu-system-x86_64: Error -22 while loading VM state
```"""
reproduce = """Used the following script with the first argument being a build directory of v8.0.0-rc2 and the second a build directory of v7.2.0
```
#!/bin/bash
rm /tmp/disk.qcow2
args="
-device pcie-root-port,multifunction=on,bus=pcie.0,addr=1c.0,port=1,chassis=1
-machine type=pc-q35-7.2"
$1/qemu-img create -f qcow2 /tmp/disk.qcow2 1G
$1/qemu-system-x86_64 --qmp stdio --blockdev qcow2,node-name=node0,file.driver=file,file.filename=/tmp/disk.qcow2 $args <<EOF
{"execute": "qmp_capabilities"}
{"execute": "snapshot-save", "arguments": { "job-id": "save0", "tag": "snap", "vmstate": "node0", "devices": ["node0"] } }
{"execute": "quit"}
EOF
$2/qemu-system-x86_64 --qmp stdio --blockdev qcow2,node-name=node0,file.driver=file,file.filename=/tmp/disk.qcow2 $args -loadvm snap
```"""
additional = """Bisecting shows that 010746ae1d ("hw/pci/aer: Implement PCI_ERR_UNCOR_MASK register") is the first bad commit."""
|