PCI device doesn't show in XO or xe pci-list
-
im seeing a similar thing in lastest version of XO (self built)
lspci showing more items the XO is showing for the host.
I just added a usbc card for example and its not showing up in XO. -
Just to add details about my box. Seems lspci is showing 20 items and xe/xo is only showing 12.
I left the device name in the second list to help show whats not showing up in xe vs lscpiXE/XO list
pci-id ( RO): 0000:c1:00.0 pci-id ( RO): 0000:c2:00.0 pci-id ( RO): 0000:c3:00.0 pci-id ( RO): 0000:c4:00.0 pci-id ( RO): 0000:c5:00.0 pci-id ( RO): 0000:c5:00.1 pci-id ( RO): 0000:c7:00.0 pci-id ( RO): 0000:c7:00.1 pci-id ( RO): 0000:c7:00.2 pci-id ( RO): 0000:c7:00.4 pci-id ( RO): 0000:c7:00.6 pci-id ( RO): 0000:c7:00.7
VS lspci list
c1:00.0 SATA controller: JMicron Technology Corp. JMB58x AHCI SATA controller c2:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM961/PM961/SM963 c3:00.0 Ethernet controller: Aquantia Corp. AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G] (rev 03) c4:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 8126 (rev 01) c5:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 720] (rev a1) c5:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1) c6:00.0 USB controller: Etron Technology, Inc. EJ168 USB 3.0 Host Controller (rev 01) c7:00.0 Display controller: Advanced Micro Devices, Inc. [AMD/ATI] Device 150e (rev d1) c7:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt Radeon High Definition Audio Controller c7:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 17e0 c7:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Device 151e c7:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Family 17h/19h HD Audio Controller c7:00.7 Signal processing controller: Advanced Micro Devices, Inc. [AMD] Device 164a c8:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Device 150d c8:00.1 Signal processing controller: Advanced Micro Devices, Inc. [AMD] Device 17f0 (rev 10) c9:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] Device 151f c9:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Device 151a c9:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Device 151b c9:00.5 USB controller: Advanced Micro Devices, Inc. [AMD] Device 151c c9:00.6 USB controller: Advanced Micro Devices, Inc. [AMD] Device 151d
-
Just adding here from my other post---AMD card didn't not reproduce this issue but my Intel Arc card experience matches exactly what others have posted here about the LSPCI vs XE-Assignable / XOA list difference.
-
@chicagomed If
lspci
shows the PCI device in its output we probably need to check if XAPI layer "sees" all this devices and correctly reports them to XO. Ping @Team-XAPI-Network -
@chicagomed Could you (and others with the issue) please post the output of
lspci -mnn
for the devices that are not shown inxe pci-list
?XAPI filters for PCI devices with classes 01XX, 02XX, and 03XX as a safety measure (better to be safe than sorry in avoiding passthrough of critical devices), but perhaps we could reasonably expand this filter.
-
here my list - items c6, c8, c9 are not showing up.
00:00.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1507]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1507]" 00:00.2 "IOMMU [0806]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1508]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1508]" 00:01.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1509]" "" "" 00:01.1 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150a]" "" "" 00:01.2 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150a]" "" "" 00:02.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1509]" "" "" 00:02.1 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" "" 00:02.2 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" "" 00:02.4 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" "" 00:02.5 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" "" 00:03.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1509]" "" "" 00:03.1 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" "" 00:03.2 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150b]" "" "" 00:08.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [1509]" "" "" 00:08.1 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150c]" "" "" 00:08.2 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150c]" "" "" 00:08.3 "PCI bridge [0604]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150c]" "" "" 00:14.0 "SMBus [0c05]" "Advanced Micro Devices, Inc. [AMD] [1022]" "FCH SMBus Controller [790b]" -r71 "Advanced Micro Devices, Inc. [AMD] [1022]" "FCH SMBus Controller [790b]" 00:14.3 "ISA bridge [0601]" "Advanced Micro Devices, Inc. [AMD] [1022]" "FCH LPC Bridge [790e]" -r51 "Advanced Micro Devices, Inc. [AMD] [1022]" "FCH LPC Bridge [790e]" 00:18.0 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16f8]" "" "" 00:18.1 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16f9]" "" "" 00:18.2 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fa]" "" "" 00:18.3 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fb]" "" "" 00:18.4 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fc]" "" "" 00:18.5 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fd]" "" "" 00:18.6 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16fe]" "" "" 00:18.7 "Host bridge [0600]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [16ff]" "" "" c1:00.0 "SATA controller [0106]" "JMicron Technology Corp. [197b]" "JMB58x AHCI SATA controller [0585]" -p01 "JMicron Technology Corp. [197b]" "Device [0000]" c2:00.0 "Non-Volatile memory controller [0108]" "Samsung Electronics Co Ltd [144d]" "NVMe SSD Controller SM961/PM961/SM963 [a804]" -p02 "Samsung Electronics Co Ltd [144d]" "SM963 2.5\" NVMe PCIe SSD [a801]" c3:00.0 "Ethernet controller [0200]" "Aquantia Corp. [1d6a]" "AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G] [04c0]" -r03 "Aquantia Corp. [1d6a]" "Device [0001]" c4:00.0 "Ethernet controller [0200]" "Realtek Semiconductor Co., Ltd. [10ec]" "Device [8126]" -r01 "Realtek Semiconductor Co., Ltd. [10ec]" "Device [0123]" c5:00.0 "VGA compatible controller [0300]" "NVIDIA Corporation [10de]" "GK208 [GeForce GT 720] [1286]" -ra1 "NVIDIA Corporation [10de]" "Device [1087]" c5:00.1 "Audio device [0403]" "NVIDIA Corporation [10de]" "GK208 HDMI/DP Audio Controller [0e0f]" -ra1 "NVIDIA Corporation [10de]" "Device [1087]" c6:00.0 "USB controller [0c03]" "Etron Technology, Inc. [1b6f]" "EJ168 USB 3.0 Host Controller [7023]" -r01 -p30 "Unknown vendor [7023]" "Device [1b6f]" c7:00.0 "Display controller [0380]" "Advanced Micro Devices, Inc. [AMD/ATI] [1002]" "Device [150e]" -rd1 "Unknown vendor [1f4c]" "Device [b020]" c7:00.1 "Audio device [0403]" "Advanced Micro Devices, Inc. [AMD/ATI] [1002]" "Rembrandt Radeon High Definition Audio Controller [1640]" "Unknown vendor [1f4c]" "Device [b020]" c7:00.2 "Encryption controller [1080]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [17e0]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [17e0]" c7:00.4 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151e]" -p30 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [15b9]" c7:00.6 "Audio device [0403]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Family 17h/19h HD Audio Controller [15e3]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [d808]" c7:00.7 "Signal processing controller [1180]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [164a]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [164a]" c8:00.0 "Non-Essential Instrumentation [1300]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150d]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [150d]" c8:00.1 "Signal processing controller [1180]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [17f0]" -r10 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [17f0]" c9:00.0 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151f]" -p30 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [15b9]" c9:00.3 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151a]" -p30 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151a]" c9:00.4 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151b]" -p30 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151b]" c9:00.5 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151c]" -p40 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151c]" c9:00.6 "USB controller [0c03]" "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151d]" -p40 "Advanced Micro Devices, Inc. [AMD] [1022]" "Device [151d]"
-
@andriy.sultanov is there a way to allow all devices (even if we blow up the system lol)
For example in the docs there a usb filter list you can edit
/etc/xensource/usb-policy.confanything similar for pcie? Can something be added with disclaimer you break it on you etc?
Maybe make it a command line option to disable the pci device filters for users that want to pass through special devices. -
@marcoi Right now it's hard coded. But we'll see what could be the best approach on this
-
@olivierlambert thanks for the update.
and just to confirm, if a device is not showing up in xe list with uuid, there is no way to pass it to a VM correct? -
No, you can pass it anyway, it's just not doable via XO. But the CLI method should work
-
@olivierlambert to confirm the steps
i can skip this step since it isnt showing up anyways- xe pci-disable-dom0-access uuid=<pci uuid>
then use
- xe vm-param-set other-config:pci=0/0000:04:01.0 uuid=<vm uuid> to add it to vm
-
That might work indeed. If it doesn't, you'll have to go via the old method:
/opt/xensource/libexec/xen-cmdline --set-dom0 "xen-pciback.hide=(0000:04:01.0)"
Please let us know
(this way we could update the doc)
-
xe vm-param-set other-config:pci=0/0000:c6:00.0 uuid=45d0f537-9076-b395-1fbd-850d2cc0cf68
This command worked. I was able to pass through the usb and also pcie devices i can get to using XO.
windows host showing usb drive plugged into usb3 card and graphics card.
-
Perfect! It's just a matter of stuff hidden for some reasons, at least it doesn't cause any problem, which is what matters
-
From LSPCI:
0a:00.0 Audio device: Intel Corporation DG2 Audio Controller 0b:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A310] (rev 05)
With xl pci-assignable-list :
0000:01:00.6 0000:01:00.4 0000:0b:00.0 0000:01:00.0 0000:01:00.3
Here you go...hope this helps!