From owner-freebsd-arch@FreeBSD.ORG Wed May 7 18:34:35 2014 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6B6EFD70 for ; Wed, 7 May 2014 18:34:35 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 448EFC98 for ; Wed, 7 May 2014 18:34:35 +0000 (UTC) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 2F385B964; Wed, 7 May 2014 14:34:34 -0400 (EDT) From: John Baldwin To: freebsd-arch@freebsd.org Subject: Re: RFC: PCI SR-IOV Driver interface Date: Wed, 7 May 2014 11:50:03 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.4-CBSD-20140415; KDE/4.5.5; amd64; ; ) References: In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201405071150.03854.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 07 May 2014 14:34:34 -0400 (EDT) Cc: Ryan Stone X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 May 2014 18:34:35 -0000 On Tuesday, May 06, 2014 5:40:38 pm Ryan Stone wrote: > PCI Single Root I/O Virtualization (SR-IOV) is an optional part of the > PCIe standard that provides hardware acceleration for the > virtualization of PCIe devices. When SR-IOV is in use, a function in a > PCI device (known as a Physical Function, or PF) will present multiple > Virtual PCI Functions (VF) on the PCI bus. These VFs are fully > independent PCI devices that have access to the resources of the PF. > For example, on a network interface card, VFs could transmit and > receive packets independent of the PF. [ Trimmed ] I think your design here sounds fine. I would just explode the typedef and use 'struct nvlist' or whatever it is directly to avoid the header pollution. -- John Baldwin