1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-01-24 02:03:52 +03:00
one/include
Ruben S. Montero 4ce7340381
F #6492: Index PCI passthrough devices with bus
If q35 machine type is detected the slot of the pci device is set to 0
and the bus to pci_id + 1.

Q35 models uses pcie-root-ports to attach PCI devices. Each PCI port is
selected by the bus parameter of the PCI address and it that does not accept a
slot number greater than 0.

Example:

A VM with 2 X710 VFs is defined OpenNebula as:

PCI=[
  ADDRESS="0000:44:0a:0",
  BUS="44",
  CLASS="0200",
  DEVICE="154c",
  DOMAIN="0000",
  FUNCTION="0",
  NUMA_NODE="0",
  PCI_ID="0",
  SHORT_ADDRESS="44:0a.0",
  SLOT="0a",
  VENDOR="8086",
  VM_ADDRESS="01:00.0",
  VM_BUS="0x01",
  VM_DOMAIN="0x0000",
  VM_FUNCTION="0",
  VM_SLOT="0000" ]

PCI=[
  ADDRESS="0000:44:0a:1",
  BUS="44",
  CLASS="0200",
  DEVICE="154c",
  DOMAIN="0000",
  FUNCTION="1",
  NUMA_NODE="0",
  PCI_ID="1",
  SHORT_ADDRESS="44:0a.1",
  SLOT="0a",
  VENDOR="8086",
  VM_ADDRESS="02:00.0",
  VM_BUS="0x02",
  VM_DOMAIN="0x0000",
  VM_FUNCTION="0",
  VM_SLOT="0000" ]

Each PCI VFs is attached to different pcie-root-port, selected with the
VM_BUS parameter:

00:02.0 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:02.1 PCI bridge: Red Hat, Inc. QEMU PCIe Root port

The PCI topology is:

-[0000:00]-+-00.0  Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
           +-01.0  Cirrus Logic GD 5446
           +-02.0-[01]----00.0  Intel Corporation Ethernet Virtual Function 700 Series
           +-02.1-[02]----00.0  Intel Corporation Ethernet Virtual Function 700 Series
           +-02.2-[03-04]----00.0-[04]--
           +-02.3-[05]----00.0  Red Hat, Inc. Virtio network device
           +-02.4-[06]----00.0  Red Hat, Inc. Virtio SCSI
           +-02.5-[07]----00.0  Red Hat, Inc. QEMU XHCI Host Controller
           +-02.6-[08]----00.0  Red Hat, Inc. Virtio console
           +-02.7-[09]----00.0  Red Hat, Inc. Virtio memory balloon
           +-03.0-[0a]--
           +-03.1-[0b]--
           +-03.2-[0c]--
           +-03.3-[0d]--
           +-03.4-[0e]--
           +-03.5-[0f]--
           +-03.6-[10]--
           +-03.7-[11]--
           +-1f.0  Intel Corporation 82801IB (ICH9) LPC Interface Controller
           +-1f.2  Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode]
           \-1f.3  Intel Corporation 82801I (ICH9 Family) SMBus Controller
2024-02-08 14:57:28 +01:00
..
2023-07-03 18:15:52 +02:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2024-01-08 14:07:03 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2024-01-08 14:07:03 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-08-29 17:11:01 +02:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-07-03 18:15:52 +02:00
2023-01-09 12:23:19 +01:00
2024-01-08 14:07:03 +01:00
2024-01-08 14:07:03 +01:00
2023-01-09 12:23:19 +01:00
2023-07-03 18:15:52 +02:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2024-01-08 14:07:03 +01:00
2024-01-08 14:07:03 +01:00
2024-01-08 14:07:03 +01:00
2024-01-08 14:07:03 +01:00
2023-12-12 16:20:08 +01:00
2024-01-08 14:07:03 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-07-03 18:15:52 +02:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2024-01-08 14:07:03 +01:00
2023-01-09 12:23:19 +01:00
2023-09-14 15:36:26 +02:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00
2023-01-09 12:23:19 +01:00