On 02/01/2012 07:10 AM, Peter Maydell wrote:
On 1 February 2012 13:04, Anthony Liguori<anth...@codemonkey.ws>  wrote:
How does it race?  Devices normally never touch memory so a loader device
will be the only thing mucking with memory.

The obvious one is "loader reset function wants to set starting PC to
entry point of kernel/etc" vs "CPU device reset wants to set starting
PC to hardware-mandated reset vector". We have this at the moment, of
course, and I think we implicitly rely on reset handlers being called
in order of registration...

I'm a bit confused, why can't the kernel loader be implemented in terms of a firmware blob?

This is what we do for x86 and it solves this problem robustly. Isn't it just a matter of a few instructions to do a jmp to a known location?

Regards,

Anthony Liguori


(The other irritating case is where the CPU device reset wants
to read the starting PC out of memory, like the Cortex-M3, but
really that one is because we don't distinguish "going into reset"
from "coming out of reset".)

-- PMM



Reply via email to