Re: [Qemu-devel] [PATCH 21/28] PPC: E500: Add PV spinning code

2011-07-27 Thread Scott Wood
On Wed, 27 Jul 2011 15:34:31 +0200 Alexander Graf wrote: > On 07/25/2011 10:40 PM, Scott Wood wrote: > > On Sat, 23 Jul 2011 12:50:05 +0200 > > Alexander Graf wrote: > > > >> +typedef struct spin_info { > >> +uint64_t addr; > >> +uint64_t r3; > >> +uint32_t resv; > >> +uint32_t p

Re: [Qemu-devel] [PATCH 21/28] PPC: E500: Add PV spinning code

2011-07-27 Thread Alexander Graf
On 07/25/2011 10:40 PM, Scott Wood wrote: On Sat, 23 Jul 2011 12:50:05 +0200 Alexander Graf wrote: +typedef struct spin_info { +uint64_t addr; +uint64_t r3; +uint32_t resv; +uint32_t pir; +uint64_t r6; +} __attribute__ ((packed)) SpinInfo; Note that r6 isn't part of the eP

Re: [Qemu-devel] [PATCH 21/28] PPC: E500: Add PV spinning code

2011-07-25 Thread Scott Wood
On Sat, 23 Jul 2011 12:50:05 +0200 Alexander Graf wrote: > +typedef struct spin_info { > +uint64_t addr; > +uint64_t r3; > +uint32_t resv; > +uint32_t pir; > +uint64_t r6; > +} __attribute__ ((packed)) SpinInfo; Note that r6 isn't part of the ePAPR spin table -- I think it ma

[Qemu-devel] [PATCH 21/28] PPC: E500: Add PV spinning code

2011-07-23 Thread Alexander Graf
CPUs that are not the boot CPU need to run in spinning code to check if they should run off to execute and if so where to jump to. This usually happens by leaving secondary CPUs looping and checking if some variable in memory changed. In an environment like Qemu however we can be more clever. We c