Subject: [PATCH 3/5] arm/arm64: KVM: Clarify KVM_ARM_VCPU_INIT ABI

From: [email-masked] (Christoffer Dall)
Date: Tue, 2 Dec 2014 20:02:52 +0100

On Tue, Dec 02, 2014 at 03:39:05PM +0000, Peter Maydell wrote:
> On 2 December 2014 at 14:47, Christoffer Dall
> <[email-masked]> wrote:
> > On Thu, Nov 27, 2014 at 10:53:50PM +0000, Peter Maydell wrote:
> >> On 27 November 2014 at 18:40, Christoffer Dall
> >> <[email-masked]> wrote:
> >> >  Possible features:
> >> >         - KVM_ARM_VCPU_POWER_OFF: Starts the CPU in a power-off state.
> >> >           Depends on KVM_CAP_ARM_PSCI.  If not set, the CPU will be powered on
> >>
> >> Do you have to use the same set of feature flags for second and
> >> subsequent VCPU_INIT calls, or can they be different each time?
> >>
> > That's a good question.  Do you have any opinion on the matter?
> 
> QEMU always will, so I'd be happy if we said it has to be the same
> set of flags each time. I guess I'd go for "say they have to match";
> we can always relax later if we need to.
> 
> > It seems weird to change the target of a Vcpu from some core to another
> > core, but there is not reason why you shouldn't be able to set a vCpU to
> > be powered off when run, just because it wasn't earlier on, is
> > there?
> 
> We need an API for get/set of PSCI power state for migration
> anyhow, so it's not inherently required to be able to flip
> this bit on reset.
> 
Actually I think the current migration patches rely on being able to
call the init ioctl to turn off a vcpu, but I guess you could use the
KVM_SET_MP_STATE for that.

Alex, any thoughts?

-Christoffer