Hi Simon, -----"Simon Glass" <s...@chromium.org> schrieb: ----- > Betreff: [PATCH v2 10/25] x86: mp: Support APs waiting for instructions > > At present the APs (non-boot CPUs) are inited once and then parked ready > for the OS to use them. However in some cases we want to send new requests > through, such as to change MTRRs and keep them consistent across CPUs. > > Change the last state of the flight plan to go into a wait loop, accepting > instructions from the main CPU. > > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > Changes in v2: > - Add more comments > > arch/x86/cpu/mp_init.c | 126 +++++++++++++++++++++++++++++++++++--- > arch/x86/include/asm/mp.h | 11 ++++ > 2 files changed, 128 insertions(+), 9 deletions(-)
[snip] > @@ -455,6 +478,86 @@ static int get_bsp(struct udevice **devp, int > *cpu_countp) > return dev->req_seq; > } > > +/** > + * read_callback() - Read the pointer in a callback slot > + * > + * This is called by APs to read their callback slow to see if there is a Typo: callback slot > + * pointer to new instructions > + * > + * @slot: Pointer to the AP's callback slot > + * @return value of that pointer > + */ > +static struct mp_callback *read_callback(struct mp_callback **slot) > +{ > + struct mp_callback *ret; > + > + asm volatile ("mov %1, %0\n" > + : "=r" (ret) > + : "m" (*slot) > + : "memory" > + ); > + return ret; > +} [snip] Reviewed-by: Wolfgang Wallner <wolfgang.wall...@br-automation.com>