lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID:
 <PH0PR22MB38093EC891192F65DC6C76ADE55C2@PH0PR22MB3809.namprd22.prod.outlook.com>
Date: Thu, 7 Nov 2024 19:59:25 +0000
From: Robert Joslyn <Robert_Joslyn@...inc.com>
To: "mdf@...nel.org" <mdf@...nel.org>, "hao.wu@...el.com" <hao.wu@...el.com>,
        "yilun.xu@...el.com" <yilun.xu@...el.com>,
        "trix@...hat.com"
	<trix@...hat.com>
CC: "linux-fpga@...r.kernel.org" <linux-fpga@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Loading FPGA Firmware with CvP

I'm working on mainlining a driver for some PCIe devices that use an Altera FPGA and Configuration via Protocol (CvP) to load the necessary firmware when the driver loads. An RFC patch of this implementation can be seen here: https://lore.kernel.org/netdev/20241028223509.935-1-robert_joslyn@selinc.com/T/#t

This is implemented as an MFD driver called selpvmf that loads for the PCIe device, which then creates MFD cells for the different functional components within the FPGA. The MFD driver has a CvP implementation to load firmware to the FPGA. It was suggested by the MFD maintainer that this CvP implementation probably belongs elsewhere. This CvP functionality also exists within drivers/fpga/altera-cvp.c, but it's not exposed in a way that I can use from a separate driver.

If I understand correctly, the FPGA manager system is designed to create an abstract interface for loading FPGA firmware from userspace. The altera-cvp driver in particular will bind to any device with an Altera vendor ID and let userspace load firmware via CvP. In the selpvmf case, we have our own vendor ID and we're not trying to let userspace load arbitrary firmware. We're really only trying to facilitate our driver loading the necessary firmware for the device to work. Would it be acceptable for me to create a library driver for CvP that is used by both? Or is there some other preferred option?

Thanks,
Robert

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ