On 12 June 2015 at 09:53, Eric Auger <eric.au...@linaro.org> wrote:
> On 06/12/2015 10:25 AM, Eric Auger wrote:
>>>  I think it is because this is now delaying
>>> arm_load_kernel_notify call until after rom_load_all. From vl.c:
>>>
>>>     if (rom_load_all() != 0) {
>>>         fprintf(stderr, "rom loading failed\n");
>>>         exit(1);
>>>     }
>>>
>>>     /* TODO: once all bus devices are qdevified, this should be done
>>>      * when bus is created by qdev.c */
>>>     qemu_register_reset(qbus_reset_all_fn, sysbus_get_default());
>>>     qemu_run_machine_init_done_notifiers();
>>>
>>> the machine_init_done_notifiers are called after the rom_load_all()
>>> call which does the image loading.
>
> Isn't the actual rom loading done in a reset notifier? If confirmed the
> problem comes from the fact the order of registration of reset notifiers
> for rom_reset and do_cpu_reset has swapped?

Yes, actual writing of rom data to ram happens in rom_reset_all().
This does seem to be called after arm_load_kernel_notify and
before do_cpu_reset, which is the order I would expect we require...

-- PMM

Reply via email to