Bug 2004876

Summary: Failed message when boot guest with pcie-pci-bridge
Product: Red Hat Enterprise Linux 9 Reporter: Yiqian Wei <yiwei>
Component: qemu-kvmAssignee: Julia Suvorova <jsuvorov>
qemu-kvm sub component: PCI QA Contact: Yiqian Wei <yiwei>
Status: CLOSED WONTFIX Docs Contact:
Severity: low    
Priority: low CC: ailan, jinzhao, jsuvorov, juzhang, nilal, oli.wade, virt-maint, yanghliu, ymankad
Version: 9.0Flags: pm-rhel: mirror+
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-03-06 13:03:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1744438, 2086499    

Description Yiqian Wei 2021-09-16 10:31:12 UTC
Description of problem:

Failed message when boot guest with  pcie-pci-bridge

Version-Release number of selected component (if applicable):
host version:
kernel-5.14.0-1.el9.x86_64
qemu-kvm-6.1.0-2.el9.x86_64
seabios-1.14.0-6.el9.x86_64
guest: rhel900-64-virtio-scsi.qcow2 (kernel-5.14.0-1.el9.x86_64)

How reproducible:
100%

Steps to Reproduce:
1.boot a guest with cmd
/usr/libexec/qemu-kvm \
    -name 'VM'  \
    -machine q35,memory-backend=mem-machine_mem \
    -nodefaults \
    -device VGA,bus=pcie.0,addr=0x2 \
    -m 14336M \
    -object memory-backend-ram,size=14336M,id=mem-machine_mem  \
    -smp 16,maxcpus=16,cores=8,threads=1,sockets=2  \
    -cpu Haswell-noTSX,enforce \
    -device pcie-root-port,id=pcie-root-port-0,multifunction=on,bus=pcie.0,addr=0x1,chassis=1 \
    -device pcie-pci-bridge,id=pcie-pci-bridge-0,addr=0x0,bus=pcie-root-port-0  \
    -device pcie-root-port,id=pcie-root-port-1,port=0x1,addr=0x1.0x1,bus=pcie.0,chassis=2 \
    -device qemu-xhci,id=usb1,bus=pcie-root-port-1,addr=0x0 \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1 \
    -device pcie-root-port,id=pcie-root-port-2,port=0x2,addr=0x1.0x2,bus=pcie.0,chassis=3 \
    -device virtio-scsi-pci,id=virtio_scsi_pci0,bus=pcie-root-port-2,addr=0x0 \
    -blockdev node-name=file_image1,driver=file,auto-read-only=on,discard=unmap,aio=threads,filename=/home/rhel900-64-virtio-scsi.qcow2,cache.direct=on,cache.no-flush=off \
    -blockdev node-name=drive_image1,driver=qcow2,read-only=off,cache.direct=on,cache.no-flush=off,file=file_image1 \
    -device scsi-hd,id=image1,drive=drive_image1,write-cache=on \
    -device pcie-root-port,id=pcie-root-port-3,port=0x3,addr=0x1.0x3,bus=pcie.0,chassis=4 \
    -device virtio-net-pci,mac=9a:b9:57:1f:d1:fd,id=idIu600y,netdev=idzklDVC,bus=pcie-root-port-3,addr=0x0  \
    -netdev tap,id=idzklDVC,vhost=on   \
    -vnc :2  \
    -enable-kvm \
    -monitor stdio \

2.Check dmesg after guest starts 


Actual results:
...
[    0.537306] pcieport 0000:00:01.3: AER: enabled with IRQ 27
[    0.538465] shpchp 0000:01:00.0: HPC vendor_id 1b36 device_id e ss_vid 0 ss_did 0
[    0.540953] shpchp 0000:01:00.0: pci_hp_register failed with error -16
[    0.541873] shpchp 0000:01:00.0: Slot initialization failed
[    0.543771] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
...

Expected results:
no failed message in guest

Additional info:

Comment 1 John Ferlan 2021-09-29 11:35:40 UTC
Assigned to Amnon for initial triage per bz process and age of bug created or assigned to virt-maint without triage.

Comment 2 Yanghang Liu 2021-11-02 10:05:14 UTC
This problem can be reproduced in the following test env:
host:
5.14.0-11.el9.x86_64
qemu-kvm-6.1.0-6.el9.x86_64
guest:
5.14.0-1.7.1.el9.x86_64

Comment 8 Yiqian Wei 2023-02-15 07:32:16 UTC
Not hit this bug with libvirt-8.10.0-2.el9.x86_64

host version:
kernel-5.14.0-265.el9.x86_64
qemu-kvm-7.2.0-8.el9.x86_64
seabios-1.16.1-1.el9.x86_64
libvirt-8.10.0-2.el9.x86_64
guest: rhel9.2.0

boot a guest with guest.xml

 <domain type='kvm' id='1'>
  <name>vm</name>
  <uuid>37425e76-af6a-44a6-aba0-73434afe34c0</uuid>
  <memory unit='KiB'>8388608</memory> 
  <cpu match='exact'>
    <model fallback='forbid'>Haswell-noTSX-IBRS</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='pcid'/>
  </cpu>
  <vcpu placement='static'>3</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-rhel9.2.0'>hvm</type>
    <boot dev='hd'/>
  </os>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/home/rhel92-seabios.qcow2' index='1'/>
      <backingStore/>
      <target dev='vda' bus='virtio'/>
      <alias name='virtio-disk0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='none'>
      <alias name='usb'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x8'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x9'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xa'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xb'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <controller type='pci' index='7' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:bb:63:7b'/>
      <target dev='vnet0'/>
      <source bridge='switch'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <audio id='1' type='none'/>
    <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
</domain>

# virsh define guest.xml 
# virsh start vm