On 18 January 2012 19:26, Peter Maydell <peter.mayd...@linaro.org> wrote: > On 18 January 2012 19:06, Mark Langsdorf <mark.langsd...@calxeda.com> wrote: >> How would multiple polling supposed to work? > > You need several separate bits of code, to put each secondary > core in a different loop polling a different address.
Er, or more sensibly, just one bit of code that does something like: /* find out which core we are by reading cp15 MPIDR */ core = cp15_MPIDR & 0x3; do { /* now we can check the right flag for this core */ wfi poll [0x40+0x10 * core] } while (it's zero); jump to it; (translation into assembly left as exercise for the reader) > (If you have access to your own bootloader sources you should > be able to see how it does it :-)) This advice is still good :-) -- PMM