RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1459755 - [ppc64le] Guest fails to boot up if attach usb-storage device to the second pci-bridge
Summary: [ppc64le] Guest fails to boot up if attach usb-storage device to the second p...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: SLOF
Version: 7.4
Hardware: ppc64le
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 7.5
Assignee: Thomas Huth
QA Contact: Qunfang Zhang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-06-08 06:09 UTC by yilzhang
Modified: 2018-04-10 14:42 UTC (History)
9 users (show)

Fixed In Version: SLOF-20170724-1.git89f519f.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-04-10 14:41:52 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Guest's booting result (30.42 KB, image/png)
2017-06-09 06:20 UTC, yilzhang
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0820 0 None None None 2018-04-10 14:42:57 UTC

Description yilzhang 2017-06-08 06:09:41 UTC
Description of problem:
Guest cannot boot up if attach usb-storage to the second pci-bridge, but there is no problem if attach the usb-storage to the first pci-bridge.

Version-Release number of selected component (if applicable):
Host kernel: kernel-3.10.0-677.el7
qemu: qemu-kvm-rhev-2.9.0-7.el7
SLOF-20170303-4.git66d250e.el7

How reproducible: 100%


Steps to Reproduce:
1. Boot up guest with the following command:
/usr/libexec/qemu-kvm \
 -smp 8,sockets=2,cores=2,threads=2 \
 -m 8192 \
-serial unix:/tmp/ttyS0,server,nowait \
 -rtc base=localtime,clock=host \
-vga std  -nodefaults \
 -boot menu=on \
 -monitor stdio \
 -vnc 0:90 \
 -qmp tcp:0:9990,server,nowait \
\
 -device virtio-scsi-pci,id=scsi0 \
 -drive file=rhel6.9,format=raw,id=drive_sysdisk,if=none,cache=none,aio=native,werror=report,rerror=report \
 -device scsi-hd,drive=drive_sysdisk,bus=scsi0.0,id=sysdisk,bootindex=0 \
\
-device pci-bridge,bus=pci.0,id=bridge1,chassis_nr=1 \
-drive file=image/storage0,if=none,id=drive_blk,format=raw,cache=none,werror=report,rerror=report \
-device virtio-blk-pci,drive=drive_blk,id=device_blk,bus=bridge1,addr=0x1 \
\
-device pci-bridge,bus=pci.0,id=bridge2,chassis_nr=2 \
-device virtio-scsi-pci,id=scsi1,bus=bridge2,addr=0x2 \
-drive file=image/storage1,if=none,id=drive_scsi,format=raw,cache=none,werror=report,rerror=report \
-device scsi-hd,drive=drive_scsi,id=device_scsi,bus=scsi1.0 \
\
-device pci-bridge,bus=pci.0,id=bridge3,chassis_nr=3 \
-device nec-usb-xhci,id=xhci1,bus=bridge2,addr=0x3 \
-drive file=image/storage2,if=none,id=drive_usb,format=raw,cache=none,werror=report,rerror=report \
-device usb-storage,drive=drive_usb,id=device_usb,bus=xhci1.0

2. Check the graphics in vnc



Actual results:
Guest fails to boot up

Expected results:
It should show the booting process

Additional info:

Comment 2 yilzhang 2017-06-09 06:20:46 UTC
Created attachment 1286305 [details]
Guest's booting result

Comment 3 David Gibson 2017-06-12 01:58:36 UTC
Looks like a SLOF bug, assigning to Thomas.

Comment 4 David Gibson 2017-06-12 02:40:19 UTC
AIUI RHV doesn't use PCI bridges on Power anyway, and this is not a regression.

Therefore, punting to 7.5.

Comment 5 Thomas Huth 2017-06-12 08:01:25 UTC
That's a weird bug ... apparently SLOF does not like the slot number in the device tree path in this case:

0 > devalias usb0
usb0 : /pci@800000020000000/pci@3/usb@3
0 > dev usb0
   No such device path
0 > dev /pci@800000020000000/pci@3/usb@3
   No such device path
0 > dev /pci@800000020000000/pci@3/usb
   ok
0 > pwd
  /pci@800000020000000/pci@3/usb@3 ok

Not sure how this can happen at all ... I'll have a closer look...

Comment 6 Thomas Huth 2017-06-12 09:54:29 UTC
The issue is causes by a bad setting of the pci-bus-number variable, which confuses the "decode-unit" function so that the device tree node can not be entered when the unit address (like "@3" in above example) has been specified. I've suggested a fix upstream here:
 https://lists.ozlabs.org/pipermail/slof/2017-June/001598.html

Comment 7 yilzhang 2017-08-03 09:34:51 UTC
Hi Thomas,

Do we support attaching guest image to the second pci-bridge (not nested)

I find that guest cannot boot up if the guest's image is attached to the second pci-bridge, qemu cli may be:
/usr/libexec/qemu-kvm \
 -smp 8,sockets=2,cores=4,threads=1 -m 8192 \
 -serial unix:/tmp/myserial.log,server,nowait \
 -nodefaults \
 -rtc base=localtime,clock=host \
 -boot menu=on \
 -monitor stdio \
 -vnc :18 \
 -qmp tcp:0:9999,server,nowait \
 -device pci-bridge,id=bridge1,chassis_nr=1,bus=pci.0 \
 -device pci-bridge,id=bridge2,chassis_nr=2,bus=pci.0,addr=0x2 \
 -drive file=rhel.qcow2,if=none,id=drive_sysdisk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop \
 -device virtio-blk-pci,drive=drive_sysdisk,bus=bridge2,addr=0x3,id=sysdisk,bootindex=0 \



Console output is as follows:
No NVRAM common partition, re-initializing...
Scanning USB 
Using default console: /vdevice/vty@71000000
     
  Welcome to Open Firmware

  Copyright (c) 2004, 2017 IBM Corporation All rights reserved.
  This program and the accompanying materials are made available
  under the terms of the BSD License available at
  http://www.opensource.org/licenses/bsd-license.php


Trying to load:  from: /pci@800000020000000/pci-bridge@2/scsi@3 ... 
E3405: No such device
Trying to load:  from: /pci@800000020000000/pci@2/scsi@3 ... 
E3405: No such device
Trying to load:  from: cdrom ... 
E3405: No such device
Trying to load:  from: net ... 
E3405: No such device

E3407: Load failed

  Type 'boot' and press return to continue booting the system.
  Type 'reset-all' and press return to reboot the system.



Note:
Power8+qemu-kvm-rhev-2.9.0-14.el7.ppc64le and Power9+qemu-kvm-2.9.0-19.el7a.ppc64le  both have this issue.
But x86 doesn't have this issue. On x86 platform, guest can boot up.

Comment 8 Thomas Huth 2017-08-03 10:46:46 UTC
Hi Yilin,
since this BZ has been moved to RHEL 7.5, this has not been fixed in the SLOF from RHEL 7.4 yet. But the patch has already been included in upstream:

https://github.com/aik/SLOF/commit/62674aabe20612a9786fa03e87cf6916ba97a99a

... so we'll get the fix with the next rebase.

Comment 9 yilzhang 2017-08-04 01:01:22 UTC
Hi Thomas,

So you mean the failure I just reported has the same root cause as this bug, right? If so, thank you for the detailed explanation.

Comment 10 Thomas Huth 2017-08-04 06:22:00 UTC
Yes, it's the same root cause. Your example from comment 7 works for me when I use the upstream SLOF version, and I just double-checked that it is commit 62674aabe20612a9786fa03e87cf6916ba97a99a which fixes this issue there. So this will be fixed in RHEL 7.5, too.

Comment 12 Minjia Cai 2017-11-10 08:42:52 UTC
Reproduced Version:
Host (RHEL7.5):
Compose: RHEL7.4 released (RHEL-7.4-20170711.0)
kernel-3.10.0-693 .el7
qemu-kvm-rhev-2.10.0-4.el7
SLOF-20170303-4.git66d250e.el7

Guest:
Compose: RHEL7.4 released (RHEL-7.4-20170711.0)
kernel-3.10.0-693.el7
Steps to Reproduce is same the as comment0:

Actual results:
Guest fails to boot up

Steps to verified is same the as comment0:
Change SLOF-20170303-1.git66d250e.el7.noarch to SLOF-20170724-2.git89f519f.el7.noarch.rpm

1:
/usr/libexec/qemu-kvm \
 -smp 8,sockets=2,cores=2,threads=2 \
 -m 8192 \
-serial unix:/tmp/ttyS0,server,nowait \
 -rtc base=localtime,clock=host \
-vga std  -nodefaults \
 -boot menu=on \
 -monitor stdio \
 -vnc 0:90 \
 -qmp tcp:0:9990,server,nowait \
\
 -device virtio-scsi-pci,id=scsi0 \
 -drive file=/root/test_home/micai/RHEL.7.4.qcow2,format=qcow2,id=drive_sysdisk,if=none,cache=none,aio=native,werror=report,rerror=report \
 -device scsi-hd,drive=drive_sysdisk,bus=scsi0.0,id=sysdisk,bootindex=0 \
\
-device pci-bridge,bus=pci.0,id=bridge1,chassis_nr=1 \
-drive file=/root/test_home/micai/image/storage0,if=none,id=drive_blk,format=raw,cache=none,werror=report,rerror=report \
-device virtio-blk-pci,drive=drive_blk,id=device_blk,bus=bridge1,addr=0x1 \
\
-device pci-bridge,bus=pci.0,id=bridge2,chassis_nr=2 \
-device virtio-scsi-pci,id=scsi1,bus=bridge2,addr=0x2 \
-drive file=/root/test_home/micai/image/storage1,if=none,id=drive_scsi,format=raw,cache=none,werror=report,rerror=report \
-device scsi-hd,drive=drive_scsi,id=device_scsi,bus=scsi1.0 \
\
-device pci-bridge,bus=pci.0,id=bridge3,chassis_nr=3 \
-device nec-usb-xhci,id=xhci1,bus=bridge2,addr=0x3 \
-drive file=/root/test_home/micai/image/storage2,if=none,id=drive_usb,format=raw,cache=none,werror=report,rerror=report \
-device usb-storage,drive=drive_usb,id=device_usb,bus=xhci1.0 

2.Check the graphics in vnc

Actual results:
It shows the booting process

Comment 15 errata-xmlrpc 2018-04-10 14:41:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0820


Note You need to log in before you can comment on or make changes to this bug.