From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44259) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1Y7U-0008Jl-Jf for qemu-devel@nongnu.org; Fri, 10 Jan 2014 04:11:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W1Y7N-0004RZ-A7 for qemu-devel@nongnu.org; Fri, 10 Jan 2014 04:11:12 -0500 Received: from cantor2.suse.de ([195.135.220.15]:52176 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W1Y7N-0004RM-3I for qemu-devel@nongnu.org; Fri, 10 Jan 2014 04:11:05 -0500 Message-ID: <52CFB922.7080101@suse.de> Date: Fri, 10 Jan 2014 10:10:58 +0100 From: =?ISO-8859-1?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1385718225-26379-1-git-send-email-armbru@redhat.com> <1385718225-26379-2-git-send-email-armbru@redhat.com> <52AE1752.2080605@suse.de> <87k3f5mb9x.fsf@blackfin.pond.sub.org> <52CBF412.2030806@suse.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 1/2] hw: cannot_instantiate_with_device_add_yet due to pointer props List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Crosthwaite Cc: Peter Maydell , "Michael S. Tsirkin" , Marcel Apfelbaum , Markus Armbruster , Fabien Chouteau , QEMU Developers , Blue Swirl , Gerd Hoffmann , Anthony Liguori , "Edgar E. Iglesias" Peter, Am 07.01.2014 14:05, schrieb Peter Crosthwaite: > If you bring FPGAs into the game, SYSBUS itself is ultimately > pluggable. All sysbus devices under the sun are therefore legitimately > "pluggable" in target-microblaze. You'll have to expand on this statement. :) From what I understand from documentation for Zynq based boards, the SoC-integrated FPGA is initialized with a big binary(?) blob from U-Boot firmware. You then need to supply a flat device tree to Linux, specifying what devices are exposed by SoC/FPGA, and from then on there is no hot-plug of such platform devices any more. So unless Xilinx is capable of parsing their FPGA logic blob back into individual QEMU devices, it seems to me you are talking about an initial set of devices rather than device_add'ing devices after Linux is running. To cope with that requirement, devices should be made instantiatable from command line or config file (I think we all agree on that goal), but it does not make SysBus hotpluggable. Or am I missing something? Is it possible to alter FPGA configuration from inside arm Linux and, if so, how does Linux cope with that? In the case of the existing MicroBlaze machine(s), I assume that it represents an FPGA board that has been pre-programmed with the softcore processor code. So reprogramming the FPGA at runtime would mean changing the processor that is executing the code changing the processor... sounds dangerous on hardware and thus hopefully not something we need to worry about for now, do we? Regards, Andreas P.S. Note that I had been arguing that if a SysBusDevice does not have a mappable MMIO region or IRQs then we wouldn't need to set cannot_instantiate_... The pending series does it for all SysBusDevices though, so if you do have such exceptional devices, we can override dc->cannot_instantiate_... in class_init. --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg