Bug 1418320

Summary: Seabios does not fully reset AHCI adapters
Product: Red Hat Enterprise Linux 7 Reporter: Ladi Prosek <lprosek>
Component: seabiosAssignee: Ladi Prosek <lprosek>
Status: CLOSED ERRATA QA Contact: FuXiangChun <xfu>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: ailan, juzhang, mrezanin, qzhang, virt-bugs, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: seabios-1.10.1-2.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 17:44:06 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:    
Bug Blocks: 1411105    

Description Ladi Prosek 2017-02-01 14:28:53 UTC
Description of problem:
Found when testing the fix for bug 1411105. If the guest OS has 4GB of memory or more and uses buffers above the 4GB boundary for AHCI DMA, the upper 32-bit registers LST_ADDR_HI and FIS_ADDR_HI may contain non-zero values after reboot. Seabios does not correctly reset them back to 0, which manifests as a crash or hang.

Version-Release number of selected component (if applicable):
seabios-1.10.1-1.el7

How reproducible:
10/10 for me

Steps to Reproduce:
1. Start a Windows Server 2008 VM configured per bug 1411105 comment 0. Use qemu-kvm-rhev where bug 1411105 is fixed.
2. Reboot the guest.

Actual results:
The VM hangs or crashes in seabios and the OS does not boot up again.

Expected results:
The guest OS reboots successfully.

Comment 2 Miroslav Rezanina 2017-02-03 10:47:05 UTC
Fix included in seabios-1.10.1-2.el7

Comment 4 FuXiangChun 2017-03-17 02:33:25 UTC
According to comment0.

Reproduce this bug with seabios-1.10.1-1.el7 & seabios-1.9.1-5.el7 

result:
guest can not reboot successfully.

Verified this bug with seabios-1.10.2-1 & qemu-kvm-rhev-2.8.0-6.el7.x86_64.

result:
Guest reboot sucessfully.

qemu command line:

/usr/libexec/qemu-kvm -drive file=/home/win2008-r2-64-virtio.qcow2,cache=unsafe -M q35 -nodefaults -nodefconfig -vga qxl -device ioh3420,bus=pcie.0,id=root1.0,slot=1 -netdev tap,id=hostnet11,vhost=on,ifname=nw1 -device e1000,netdev=hostnet11,mac=00:54:45:56:12:10,id=poc1,bus=pcie.0 -netdev tap,id=hostnet12,vhost=on,ifname=nw2 -device virtio-net-pci,netdev=hostnet12,mac=00:54:45:56:11:10,bus=root1.0,id=poc2 -m 4G -smp 4,cores=4 -cpu qemu64,+x2apic,+fsgsbase,model=13 -enable-kvm -usbdevice tablet -vnc :1 -monitor stdio

So,set this bug as verified.

Comment 5 errata-xmlrpc 2017-08-01 17:44:06 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-2017:1855