From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753998AbdDLN32 (ORCPT ); Wed, 12 Apr 2017 09:29:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41618 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752379AbdDLN3Z (ORCPT ); Wed, 12 Apr 2017 09:29:25 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D3D567F415 Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jglisse@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com D3D567F415 Date: Wed, 12 Apr 2017 09:29:22 -0400 From: Jerome Glisse To: "Luebbers, Enno" Cc: Wu Hao , atull@kernel.org, moritz.fischer@ettus.com, linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org, luwei.kang@intel.com, yi.z.zhang@intel.com Subject: Re: [PATCH 00/16] Intel FPGA Device Drivers Message-ID: <20170412132919.GA16072@redhat.com> References: <1490875696-15145-1-git-send-email-hao.wu@intel.com> <20170406202700.GA3674@redhat.com> <20170411193806.GA33858@eluebber-mac02.jf.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170411193806.GA33858@eluebber-mac02.jf.intel.com> User-Agent: Mutt/1.8.0 (2017-02-23) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 12 Apr 2017 13:29:25 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 11, 2017 at 12:38:10PM -0700, Luebbers, Enno wrote: > Hi Jerome, > > On Thu, Apr 06, 2017 at 04:27:00PM -0400, Jerome Glisse wrote: > > > Do we have an open source toolchain to generate the FPGA configuration > > (bitstream) ? As it is required for the GPU sub-system that any driver > > API must comes with open source userspace. > > As far as I know, no FPGA vendor currently provides an open-source version of > their FPGA synthesis tools - there are, however, free (as in beer) versions > available for download that can be used for generating FPGA bitstreams. Also, > there are a number of projects to replace parts of the vendor tools with open > alternatives (yosys comes to mind, which I believe recently added initial > support for synthesizing logic for Intel FPGAs). > > As an aside, we are also working on an open-source user-space library that would > allow you to use this driver to load existing accelerator bitstreams as well as > enumerate and access accelerators present in the system. This would enable > workflows where users have access to e.g. a library of FPGA accelerator > bitstreams and want to write applications that take advantage of these > accelerators, even without having access to an FPGA synthesis tool. Yosys is not an open source toolchain is use quartus at least that is my understand from this commit: https://github.com/cliffordwolf/yosys/commit/c27dcc1e47fa00cd415893c9d3f637a5d5865988 It is like if on GPU we only had close source compiler for the GPU instructions set. So FPGA is definitly following different rules than open source upstream GPU kernel driver abides to. I see this as highly problematic if not only for security purposes there is no way for anyone to audit how secure and sane the API you want to expose to userspace. Those FPGA might have connection to memory bus or device bus and thus they might get access to any memory. So i am baffle on how anyone can do any serious review of anything the fpga driver are doing. Jérôme