On Mon, Dec 01, Olaf Hering wrote:

> # xl pci-assignable-add 01:10.0
> # xl pci-assignable-list
> 0000:01:10.0
> # xl create -f domU.cfg
> # xl console domU
> ## lspci gives just emulated PCI devices

ttyS0:Rescue:~ # lspci 
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
00:03.0 VGA compatible controller: Cirrus Logic GD 5446
00:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (rev ff)

> ## detach from domU console
> # xl pci-attach domU 0000:01:10.0
> # xl pci-list domU
> Vdev Device
> 04.0 0000:01:10.0
> 
> # xl console domU
> ## lspci gives just emulated PCI devices

ttyS0:Rescue:~ # lspci 
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
00:03.0 VGA compatible controller: Cirrus Logic GD 5446
00:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL-8100/8101L/8139 PCI Fast Ethernet Adapter (rev 01)

> ## detach from domU console
> # xl pci-detach domU 0000:01:10.0
Now lspci shows that the emulated network card is gone.
ttyS0:Rescue:~ # lspci 
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II]
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device (rev 01)
00:03.0 VGA compatible controller: Cirrus Logic GD 5446

> # xl pci-attach domU 0000:01:10.0
> # xl pci-list domU
> Vdev Device
> 04.0 0000:01:10.0
> # xl console domU
> ## lspci shows now also the assigned host device


So the actual bug is that the very first time after pci-attach the guests
"00:04.0" PCI device is (most likely) replaced with the host PCI device. Just
the guest does not notice that "00:04.0" was actually already gone after unplug.

I wonder why the unplug code in xen_platform.c does just a qdev_free() instead
of a real pci-detach kind of thing. I'm sure this could be done at least for
emulated network cards.

Olaf

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to