Bug 1058696

Summary: seabios can not recognize system disk with >=22 nec-usb-xhci
Product: Red Hat Enterprise Linux 7 Reporter: Jun Li <juli>
Component: seabiosAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: apetrova, flang, hhuang, juli, juzhang, knoel, michen, mrezanin, qiguo, rbalakri, sluo, virt-maint, xfu, xwei
Target Milestone: rcKeywords: TestOnly
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: seabios-1.7.5-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 08:15:02 UTC Type: Bug
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: 1101500    
Bug Blocks:    

Description Jun Li 2014-01-28 11:33:33 UTC
Description of problem:
seabios can not recognize system disk with >=22 nec-usb-xhci.
System disk is scsi-hd.

Version-Release number of selected component (if applicable):
qemu-kvm-1.5.3-41.el7.x86_64
3.10.0-79.el7.x86_64
seabios-bin-1.7.2.2-10.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.boot guest with the following script.
# sh 4230877-pcie-capability-of-usb-xhci-to-rc.sh 22
---
# cat 4230877-pcie-capability-of-usb-xhci-to-rc.sh 
#! /bin/sh
CLI="/usr/libexec/qemu-kvm -M q35 -m 4G -smp 4,socket=2,core=2,thread=1 -nodefaults \
-device virtio-scsi-pci,bus=pcie.0,id=scsi,addr=0x6 \
-drive file=/home/juli/rhel7.0.qcow2,format=qcow2,if=none,media=disk,id=aa \
-device scsi-hd,drive=aa,id=sys-image,bootindex=0 \
-boot menu=on,strict=on \
-monitor stdio \
-serial unix:/tmp/ttyS0,server,nowait \
-spice port=5931,disable-ticketing \
-vga qxl -global qxl-vga.revision=3 "
#CLI="$CLI -device ioh3420,bus=pcie.0,id=root.0 "
#CLI="$CLI -device x3130-upstream,bus=root.0,id=upstream1,multifunction=on "
NUM=${1:-29}
for ((i=1;i<$NUM;i++)); do
    CLI="$CLI -device nec-usb-xhci,bus=pcie.0,id=xhci$i"
    CLI="$CLI -drive file=/home/juli/usb-storages/usb$i,if=none,format=qcow2,id=aa-usb$i,media=disk"
    CLI="$CLI -device usb-storage,drive=aa-usb$i,port=1,id=device-usb$i,serial=usb_controller$i"
done
$CLI
------
# cat 4230870-create-disks.sh
#! /bin/sh
USB_STORAGE_DIR="/home/juli/usb-storages"
if [ -d $USB_STORAGE_DIR ]; then
    rm -fr $USB_STORAGE_DIR
    mkdir -p $USB_STORAGE_DIR
else
    mkdir -p $USB_STORAGE_DIR
fi

for ((i=1;i<=256;i++)); do
    qemu-img create -f qcow2 $USB_STORAGE_DIR/usb$i 100M
done


Actual results:
seabios can not recognize the system disk.

Expected results:
seabios can recognize the system disk, and can boot guest as normal.

Additional info:

Comment 2 Gerd Hoffmann 2014-01-28 11:51:43 UTC
Most likely seabios is running out of low memory.

Comment 3 Gerd Hoffmann 2014-05-27 14:43:47 UTC
Can you retest with 1.7.5 rebase builds please?
http://people.redhat.com/ghoffman/bz1101500/

Comment 5 Jun Li 2014-05-28 07:42:43 UTC
(In reply to Gerd Hoffmann from comment #3)
> Can you retest with 1.7.5 rebase builds please?
> http://people.redhat.com/ghoffman/bz1101500/

Retest with above builds(http://people.redhat.com/ghoffman/bz1101500/), guest can boot up successfully with the same cli as comment #0.

# rpm -qa|grep seabios
seabios-1.7.5-0.rc1.el7_0.bz1101500.1.x86_64
seabios-bin-1.7.5-0.rc1.el7_0.bz1101500.1.x86_64


Best Regards,
Jun Li

Comment 6 FuXiangChun 2014-07-30 03:09:08 UTC
reproduce this bug with seabios-1.7.2.2-10.el7.x86_64 & qemu-kvm-1.5.3-60.el7.x86_64.

according to comment0's steps. 
#sh 4230877-pcie-capability-of-usb-xhci-to-rc.sh 22

result:
1.HMP output

Press F12 for boot menu.

Searching bootorder for: HALT
drive 0x000fdbe0: PCHS=0/0/0 translation=lba LCHS=1024/32/63 s=2097152
drive 0x000fdbb0: PCHS=0/0/0 translation=lba LCHS=1024/32/63 s=2097152
drive 0x000fdb80: PCHS=0/0/0 translation=lba LCHS=1024/32/63 s=2097152
drive 0x000fdb50: PCHS=0/0/0 translation=lba LCHS=1024/32/63 s=2097152
Running option rom at ca00:0003
Space available for UMB: 000cc800-000e0000
Returned 16384 bytes of ZoneHigh
e820 map has 9 items:
  0: 0000000000000000 - 000000000009fc00 = 1 RAM
  1: 000000000009fc00 - 00000000000a0000 = 2 RESERVED
  2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
  3: 0000000000100000 - 000000007fff4000 = 1 RAM
  4: 000000007fff4000 - 0000000080000000 = 2 RESERVED
  5: 00000000b0000000 - 00000000c0000000 = 2 RESERVED
  6: 00000000feffc000 - 00000000ff000000 = 2 RESERVED
  7: 00000000fffc0000 - 0000000100000000 = 2 RESERVED
  8: 0000000100000000 - 0000000180000000 = 1 RAM
enter handle_19:
  NULL
No bootable device.

verify with with seabios-1.7.5-1.el7.x86_64.

Tested sh 4230877-pcie-capability-of-usb-xhci-to-rc.sh 22~26

result:
guest boot successfully. 

so, this issue has gone.

Comment 8 juzhang 2015-01-16 02:51:34 UTC
Please have a look comment7.

Best Regards,
Junyi

Comment 9 Xiaoqing Wei 2015-01-22 08:11:57 UTC
Based on C#6, this issue has been resolved in seabios-1.7.5-1.el7.x86_64

Moving to VERIFIED.

Comment 11 errata-xmlrpc 2015-03-05 08:15:02 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://rhn.redhat.com/errata/RHBA-2015-0345.html