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
|
x86: 0.923
device: 0.910
graphic: 0.894
kernel: 0.865
performance: 0.864
PID: 0.851
architecture: 0.847
peripherals: 0.827
boot: 0.800
register: 0.793
mistranslation: 0.773
user-level: 0.712
network: 0.710
semantic: 0.708
socket: 0.692
debug: 0.686
KVM: 0.683
ppc: 0.670
vnc: 0.644
files: 0.644
risc-v: 0.568
permissions: 0.556
hypervisor: 0.507
TCG: 0.490
assembly: 0.440
arm: 0.396
i386: 0.376
VMM: 0.368
virtual: 0.313
--------------------
x86: 0.959
kernel: 0.908
virtual: 0.874
KVM: 0.785
register: 0.331
hypervisor: 0.151
debug: 0.086
peripherals: 0.076
TCG: 0.069
VMM: 0.060
device: 0.050
files: 0.028
PID: 0.026
architecture: 0.025
boot: 0.025
risc-v: 0.013
performance: 0.012
semantic: 0.012
network: 0.009
assembly: 0.008
ppc: 0.007
socket: 0.005
user-level: 0.004
permissions: 0.003
graphic: 0.003
vnc: 0.002
arm: 0.001
i386: 0.001
mistranslation: 0.001
Failed to acpi hotplug on pcie root ports in case of q35+ovmf+machine type 6.1
Description of problem:
Hotplug on multifunction bridges use ACPI hotplug instead of Native since machine type 6.1
In this case, Hotplug works well on q35 with bios fireware, But doesn't work on q35 with ovmf firmware.
E.g:
/usr/bin/qemu-system-x86_64 \
-machine pc-q35-6.1,accel=kvm,pflash0=...... \
-device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x1 \
-device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x1.0x1 \
-device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x1.0x2 \
......
(qemu) netdev_add bridge,br=br0,id=hostnet1
(qemu) device_add virtio-net-pci,netdev=hostnet1,id=net1,bus=pci.3
Error message in guest kernel:
kernel: pci 0000:03:00.0: [1af4:1041] type 00 class 0x020000
kernel: pci 0000:03:00.0: reg 0x14: [mem 0x00000000-0x00000fff]
kernel: pci 0000:03:00.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
kernel: pci 0000:03:00.0: reg 0x30: [mem 0x00000000-0x0003ffff pref]
kernel: pci 0000:03:00.0: BAR 6: no space for [mem size 0x00040000 pref]
kernel: pci 0000:03:00.0: BAR 6: failed to assign [mem size 0x00040000 pref]
kernel: pci 0000:03:00.0: BAR 4: no space for [mem size 0x00004000 64bit pref]
kernel: pci 0000:03:00.0: BAR 4: failed to assign [mem size 0x00004000 64bit pref]
kernel: pci 0000:03:00.0: BAR 1: no space for [mem size 0x00001000]
kernel: pci 0000:03:00.0: BAR 1: failed to assign [mem size 0x00001000]
kernel: virtio-pci 0000:03:00.0: virtio_pci: leaving for legacy driver
|