id = 1979 title = "pc-q35-7.2 breaks the pcie hot plugin" state = "closed" created_at = "2023-11-11T22:07:34.664Z" closed_at = "2023-11-22T16:18:17.868Z" labels = ["device: PCI"] url = "https://gitlab.com/qemu-project/qemu/-/issues/1979" host-os = "Fedora Linux 38" host-arch = "x86 64" qemu-version = "QEMU emulator version 7.2.6 (qemu-7.2.6-1.fc38)" guest-os = "Fedora 39" guest-arch = "x86 64" description = """the new pc-q35 version >6.0 break the pcie hot plug feature if I use 5.2, 6.0, it works fine. `dmesg | grep pcieport` shows that: there is pciehp which provide functionality of hot plug for PCIE device ``` [test@localhost ~]$ dmesg | grep pcieport [ 1.161129] pcieport 0000:00:02.0: PME: Signaling with IRQ 24 [ 1.162254] pcieport 0000:00:02.0: AER: enabled with IRQ 24 [ 1.163218] pcieport 0000:00:02.0: pciehp: Slot #0 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise+ Interlock+ NoCompl- IbPresDis- LLActRep+ ``` if I switch to 6.1, 6.2, 7.0, 7.1 ,7.2, the pciehp does not show any control slot. ``` [test@localhost ~]$ dmesg | grep pcieport [ 1.164311] pcieport 0000:00:02.0: PME: Signaling with IRQ 24 [ 1.165446] pcieport 0000:00:02.0: AER: enabled with IRQ 24 ```""" reproduce = """1. run the qemu command as I produced 2. connect to console 3. run `dmesg | grep pcieport` 4. you can try to plug in a GPU or something else, the device initialization will fail because there is no pciehp slow to power it on, normall you will see something like following, with >6.0 you cannot see them: ``` pciehp: Slot(0-8): Attention button pressed pciehp: Slot(0-8) Powering on due to button press pciehp: Slot(0-8): Card present pciehp: Slot(0-8): Link Up ```""" additional = """"""