On Mon, Jan 6, 2014 at 5:41 PM, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 2 January 2014 05:50, Peter Crosthwaite <peter.crosthwa...@xilinx.com> > wrote: >> I'm wondering whether blob loading is actually a reset step not an >> init. > > load_image_targphys() uses the rom blob loader code from hw/core/loader.c, > which already supports reloading the blob on machine reset if necessary. > > That raises some more general design questions: > * how is this expected to interact with rom blob loading, -machine firmware=, > etc?
I guess it's not. The behavior of "-machine firmware=" is machine specific, so a machine specific undefined behavior will occur if you have overlap issues. The two should not in any way inhibit each other. They are independent mechanisms. > What are the guidelines for when to use one or the other? "-machine firmware=" if you want to load a firmware blob in a board specific way. This if you want to place a blob in memory at an arbitrary location on reset. > Should this be rolled into the rom blob code rather than being a bolt-on > extra? The QOMification is nice. And bolt-on'ness makes it repeatable so you can do whatever and as many blobs as you want. > * I'm unconvinced by the general approach of having a device with an > address property That is what makes it generically reusable. > * would it be useful if the rom blob loading was extended/reworked so that > you could load a rom blob into a MemoryRegion? Yes. Edgar's work on per-master AS may be related and applicable. Regards, Peter > We want that for > the SPARC TCX ROM blobs as well; maybe it would help here too, > though I haven't thought much about it. > > thanks > -- PMM >