From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43703) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b18LM-0003w8-7f for qemu-devel@nongnu.org; Fri, 13 May 2016 04:21:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b18LH-0005Em-T2 for qemu-devel@nongnu.org; Fri, 13 May 2016 04:21:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33868) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b18LH-0005Ed-NJ for qemu-devel@nongnu.org; Fri, 13 May 2016 04:21:03 -0400 Message-ID: <1463127660.14138.42.camel@redhat.com> From: Gerd Hoffmann Date: Fri, 13 May 2016 10:21:00 +0200 In-Reply-To: <20160512180425.2ad55ded@t450s.home> References: <20160512180425.2ad55ded@t450s.home> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 Subject: Re: [Qemu-devel] RFC: Proposed vfio IGD assignment fw_cfg ABI List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson Cc: qemu-devel , Kevin O'Connor , seabios@seabios.org > #1: "etc/igd-opregion" >=20 > the IGD OpRegion is an area of memory which contains among other > things, the Video BIOS Table which is integral in allowing an assigned > IGD to configure and make use of the physical display outputs of the > system. "etc/igd-opregion" is an opaque fw_cfg file which the BIOS > will use to allocate an appropriately sized reserved memory region, > copy the contents of the fw_cfg file into the allocated memory region, > and write the base address of the allocated memory region to the dword > registers at 0xFC in PCI config space on the IGD device itself. The > BIOS will look for this fw_cfg file any time a PCI class VGA device is > found with Intel vendor ID. Multiple IGD devices per VM, such as might > potentially be possible with Intel vGPU, is not within the scope of > this proposal. The expected size of this fw_cfg file is on the order > of a few pages, 8KB is typical. Looks good to me. > #2: "etc/igd-bdsm" > possibility of multiple BDSM per VM. The expected size of this fw_cfg > file is from 1MB to multiple hundreds of MB with user specified stolen > video memory. Having a big fw_cfg file without using the content looks a bit odd to me. I'd suggest to create a fw_cfg file with the size in it instead. Usual way to do this is to stick a 64bit value in little endian byte order into fw_cfg, then use romfile_loadint() in seabios to read it. > I'd appreciate any comments on these entries and I'd be happy to > describe them further. Perhaps we should create a docs/api/ > directory with these sorts of descriptions where we define how a > given API is intended to work. There is docs/specs/ already where this would fit, and it even has a fw_cfg.txt file. It might make sense to have a separate igd-assign.txt though. cheers, Gerd