Artikel-ID: 000095678 Inhaltstyp: Fehlermeldungen Letzte Überprüfung: 18.06.2024

Warum kann der R-Tile Avalon® Streaming FPGA IP für PCI Express* Beispieltreiber nicht korrekt installiert werden? Es kann nicht in CentOS* 8 installiert werden?

Umgebung

    Intel® Quartus® Prime Pro Edition

OS Independent family

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Beim Versuch, den vom R-Tile Avalon® Streaming FPGA IP for PCI Express* Designbeispiel in CentOS* 8 generierten Beispieltreiber zu installieren, werden Fehlermeldungen wie die unten gezeigten angezeigt:

Fehler: Makro "access_ok" hat 3 Argumente übergeben, benötigt aber nur 2

if(! access_ok(VERIFY_WRITE, buf, sizeof(buf))) {

Fehler: "access_ok" nicht deklariert (erste Verwendung in dieser Funktion)

if(! access_ok(VERIFY_WRITE, buf, sizeof(buf))) {

Lösung

Eine Nichtübereinstimmung des Linux*-Kernels verursacht diese Fehler. Die folgenden Schritte können helfen, dieses Problem zu beheben:

  • In intel_fpga_pcie_chr.c ist das erste Argument (VERIFY_WRITE/VERIFY_READ) der Funktion "access_ok" zu streichen.
  • Ersetzen Sie in intel_fpga_pcie_ioctl.c den Namen der Funktion "dma_zalloc_coherent" durch "dma_alloc_coherent"
  • Ändern Sie in intel_fpga_pcie_ioctl.c in "access_ok(uarg, sizeof(uarg))" das Argument uarg in (void__user *)uarg
  • Ersetzen Sie in intel_fpga_pcie_setup.c den Namen der Funktion "ioremap_nocache" durch "ioremap_cache".
  • Kommentieren Sie in intel_fpga_pcie_setup.c die Codezeile "MODULE_SUPPORTED_DEVICE("Intel(R) Stratix 10 FPGA")"

Der Treiber kann erfolgreich installiert werden und funktioniert nach diesen Änderungen ordnungsgemäß.

Die Behebung dieses Problems ist derzeit nicht geplant.

Zugehörige Produkte

Dieser Artikel bezieht sich auf 2 Produkte

Intel® Agilex™ FPGAs und SoC FPGAs der I-Reihe
Intel® Agilex™ FPGA Development Kit der I-Reihe

1

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.