qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [PATCH v2 4/4] spapr: fix migration of ICP objects from/t


From: Greg Kurz
Subject: Re: [Qemu-ppc] [PATCH v2 4/4] spapr: fix migration of ICP objects from/to older QEMU
Date: Mon, 22 May 2017 17:04:16 +0200

On Mon, 22 May 2017 19:15:36 +1000
David Gibson <address@hidden> wrote:
[...]
> > > 
> > > Hrm.  I dislike code for the core object directly reaching into the
> > > machine to check the compat flag here (and a bunch of other places
> > > below).  I can think of a few possible ways of avoiding this:
> > > 
> > > 1) The most direct is to make another compat flag in the cpu core
> > > object, set by the machine.  Straightforward, but ugly.
> > > 
> > > 2) Use a property to optionally pass a reference to the ICP array into
> > > the core object.  If set it will give the cpu objects ICPs from that
> > > array (compat mode), if not it will allocate them (new style mode).  
> > 
> > for 2) we can just use a object_property_add_const_link() like
> > we do to pass the 'xics' object which is needed by the ICSes.  
> 
> Yes.  Though you'll need to pass one for each thread down to the core
> object, which will be fiddly.
> 
> > > 3) (Preferred, if it works)  Always have the core allocate ICPs for
> > > each CPU.  For compat mode instead of directly allocating ICPs, the
> > > machine sets up an array of pointers to the existing ICPs for each
> > > CPU.  The "extra" slots that don't have ICPs in new-style allocation
> > > get references to dummy ICP objects (maybe even all the same one).
> > > Only the dummy ICP(s) are allocated by the machine, the rest remain
> > > owned by the cpu.  
> > 
> > I like this solution too as it should isolate the compat handling under
> > the machine, maybe even in a single routine.  
> 
> Right, that's the hope.  Plus it means we reduce the difference in
> runtime QOM structure between the two modes, which is best when
> possible.
> 

I'll try to do 3)

Attachment: pgpNEEqoyZuDQ.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]