On 19.04.2011, at 00:31, Scott Wood wrote: > Linux doesn't use USPRG0 (now renamed VRSAVE in the architecture, even > when Altivec isn't involved), but a guest might. > > Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> > --- > Sent to the right list this time... <sigh> > > arch/powerpc/include/asm/kvm_host.h | 1 + > arch/powerpc/kernel/asm-offsets.c | 1 + > arch/powerpc/kvm/booke_interrupts.S | 5 ++++- > 3 files changed, 6 insertions(+), 1 deletions(-) > > diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h > index bfb0e0f..34b8732 100644 > --- a/arch/powerpc/include/asm/kvm_host.h > +++ b/arch/powerpc/include/asm/kvm_host.h > @@ -228,6 +228,7 @@ struct kvm_vcpu_arch { > ulong hflags; > ulong guest_owned_ext; > #endif > + u32 vrsave; /* also USPRG0 */ > u32 mmucr; > ulong shadow_msr; > ulong sprg4; > diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c > index 2b223de..7b9e35e 100644 > --- a/arch/powerpc/kernel/asm-offsets.c > +++ b/arch/powerpc/kernel/asm-offsets.c > @@ -395,6 +395,7 @@ int main(void) > DEFINE(VCPU_HOST_STACK, offsetof(struct kvm_vcpu, arch.host_stack)); > DEFINE(VCPU_HOST_PID, offsetof(struct kvm_vcpu, arch.host_pid)); > DEFINE(VCPU_GPRS, offsetof(struct kvm_vcpu, arch.gpr)); > + DEFINE(VCPU_VRSAVE, offsetof(struct kvm_vcpu, arch.vrsave)); > DEFINE(VCPU_SPRG4, offsetof(struct kvm_vcpu, arch.sprg4)); > DEFINE(VCPU_SPRG5, offsetof(struct kvm_vcpu, arch.sprg5)); > DEFINE(VCPU_SPRG6, offsetof(struct kvm_vcpu, arch.sprg6)); > diff --git a/arch/powerpc/kvm/booke_interrupts.S b/arch/powerpc/kvm/booke_interrupts.S > index 54c19d2..cde29c4 100644 > --- a/arch/powerpc/kvm/booke_interrupts.S > +++ b/arch/powerpc/kvm/booke_interrupts.S > @@ -184,6 +184,8 @@ _GLOBAL(kvmppc_resume_host) > stw r3, VCPU_GPR(r4)(r4) > mfspr r3, SPRN_SRR0 > stw r3, VCPU_PC(r4) > + mfspr r3, SPRN_VRSAVE > + stw r3, VCPU_VRSAVE(r4) Do we need to swap this on every exit or is vcpu_load/put enough? Alex -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html