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. -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg