qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/2] hw: cannot_instantiate_with_device_add_yet


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH 1/2] hw: cannot_instantiate_with_device_add_yet due to pointer props
Date: Fri, 10 Jan 2014 10:10:58 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]