Bug 609873 - [AMD IOMMU]Could not boot a guest with physical NIC card assigned
Summary: [AMD IOMMU]Could not boot a guest with physical NIC card assigned
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm   
(Show other bugs)
Version: 6.0
Hardware: All
OS: Linux
Target Milestone: rc
: ---
Assignee: Alex Williamson
QA Contact: Virtualization Bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2010-07-01 10:49 UTC by Qunfang Zhang
Modified: 2013-01-09 22:48 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2010-07-04 13:18:46 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Qunfang Zhang 2010-07-01 10:49:22 UTC
Description of problem:
On a AMD host (Istanbul 2427), unbind a NIC card (82572EI) from host, then boot a guest with this NIC card assigned, failed.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.Enable AMD Virtualization option on BIOS. (Have not found a option about IOMMU)
2.# lspci | grep Ethernet
0000:00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a3)
0000:00:09.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a3)
0001:45:00.0 Ethernet controller: Intel Corporation 82572EI Gigabit Ethernet Controller (Copper) (rev 06)

3.Unbind the 0001:45:00.0 NIC card from host.
# lspci -n | grep 45:00.0
0001:45:00.0 0200: 8086:10b9 (rev 06)
#echo "8086 10b9" > /sys/bus/pci/driver/pci-stub/new_id
#echo 0001:45:00.0> /sys/bus/pci/devices/0001\:45\:00.0/driver/unbind
#echo 0001:45:00.0> /sys/bus/pci/driver/pci-stub/bind

4.Boot a guest with the unbind physical NIC card assigned. BUT:

# /usr/libexec/qemu-kvm -smp 2 -m 2 -cpu qemu64,+x2apic -usbdevice tablet -drive file=RHEL-Server-5.5-64.qcow2,if=none,id=drive-ide0-0-0,werror=stop,rerror=stop,cache=none -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device rtl8139,netdev=hostnet0,mac=1a:4a:10:20:40:5f,bus=pci.0,addr=0x3 -boot c -uuid 32793bea-68ac-4253-a8b7-fc3b7521038e -rtc-td-hack -no-kvm-pit-reinjection -monitor stdio -name rhel5.5 -vnc :10  -device pci-assign,host=45:00.0,id=1
get_real_device: /sys/bus/pci/devices/0000:45:00.0/config: No such file or directory
qemu-kvm: -device pci-assign,host=45:00.0,id=1: pci-assign: Error: Couldn't get real device (1)!
qemu-kvm: -device pci-assign,host=45:00.0,id=1: Device 'pci-assign' could not be initialized

In fact the "Domain: Bus:Device:Function" is 0001:45:00.0 instead of 0000:45:00.0 (refer to step 3)

Actual results:
Can not boot up the guest with NIC card assigned.

Expected results:
Guest boots up successfully with NIC card assigned.

Additional info:
Using virt-manager still has the problem

Comment 1 Qunfang Zhang 2010-07-01 10:50:56 UTC
> Version-Release number of selected component (if applicable):
> How reproducible:

Comment 3 RHEL Product and Program Management 2010-07-01 11:03:17 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for

Comment 4 Alex Williamson 2010-07-04 13:18:46 UTC
Discussed this over email with submitter, test system does not support a virtualization capable AMD-IOMMU.

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