On 01/09/2012 04:17 PM, Alexander Graf wrote: > > On 09.01.2012, at 22:48, Scott Wood wrote: > >> On 01/09/2012 11:48 AM, Alexander Graf wrote: >>> >>> Do you think it's possible to combine this with the book3s_pr code, so we don't duplicate too much here? >> >> book3s_pr is a bit different in that it can trap when the guest sets >> MSR[FP]. > > Ah, there's no doorbell? So you always have to swap fpu registers? You still have to enable it manually when preempting in, right? IIRC ppc32 does lazy fpu activation. Right. Preempting in is handled by calling kvmppc_load_guest_fp() (which should be renamed to be booke-specific, since the semantics are tied to booke.c) from kvmppc_core_vcpu_load() in e500mc.c. >>> I'm having a hard time to grasp when shared->msr, shadow_msr and regs->msr is used in your code :). >> >> shadow_msr is the real MSR. >> >> shared->msr is the guest's view of MSR. Correction -- this applies to PR-mode (e500v2). In GS-mode, shadow_msr is not used. The guest sees the real MSR (hw silently prevents it from modifying certain bits), which gets saved on exit into shared->msr. -Scott -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html