Multi Channel DMA Intel® FPGA IP for PCI Express* デザイン例のユーザーガイド

ID 683517
日付 10/06/2023
Public
ドキュメント目次

3.5.2.3.2.1. Linuxカーネルドライバーのインストール

  1. UIOのサポートで進める場合は、UIOドライバーをインストールします。vfioで進める場合、この手順は必要ありません。

    $ modprobe uio

  2. mcdmaカーネルドライバーを構築してロードします。
    1. $ cd software/kernel
    2. $ make clean all -C driver/kmod/mcdma-custom-driver
    3. $ insmod driver/kmod/mcdma-custom-driver/ifc_uio.ko
  3. ドライバーがロードされているかを確認します。

    $ lspci -d 1172:000 -v | grep ifc_uio

    (使用中のカーネルドライバー: ifc_uio)

UIOがデフォルトになります。

vfioドライバーを使用する場合は、common/mk/common.mkUIO_SUPPORT を次のように変更します。

__cflags += -UUIO_SUPPORT

  1. vfio-pci モジュールをインストールします。

    $ modprobe vfio-pci

  2. デバイスを vfio-pci に結び付けます。
    1. デバイスが ifc_uio に結び付けられている場合は、次のコマンドで解除します。

      $ echo "<bdf>" > /sys/bus/pci/devices/<bdf>/driver/unbind

      例: echo "0000:01:00.0" > /sys/bus/pci/devices/0000\:01\:00.0/driver/unbind

    2. デバイスを vfio-pci に結び付けます。

      echo <PCI Vendor ID> <PCI Device ID> > /sys/bus/pci/drivers/vfio-pci/new_id

      例: echo 1172 0000 > /sys/bus/pci/drivers/vfio-pci/new_id

注: VFIOの場合に、複数のPFを使用するシナリオでは、BDFが同じIOMMUグループにあるかを確認する必要があります。コマンドの readlink /sys/bus/pci/devices/BDF/iommu_group を使用します。

例: readlink /sys/bus/pci/devices/0000:01:00.0/iommu_group

注: BDFが同じIOMMUグループにある場合は、ACSパッチを適用する必要があります。それ以外の場合は必要ありません。