Re: [PATCH 27/27] KVM: PPC: Add Documentation about PV interface
From: Segher Boessenkool <hidden>
Date: 2010-07-02 16:27:04
Also in:
kvm
+To find out if we're running on KVM or not, we overlay the PVR register. Usually +the PVR register contains an id that identifies your CPU type. If, however, you +pass KVM_PVR_PARA in the register that you want the PVR result in, the register +still contains KVM_PVR_PARA after the mfpvr call. + + LOAD_REG_IMM(r5, KVM_PVR_PARA) + mfpvr r5 + [r5 still contains KVM_PVR_PARA]
I love this part :-)
+ __u64 scratch3; + __u64 critical; /* Guest may not get interrupts if == r1 */ + __u64 sprg0; + __u64 sprg1; + __u64 sprg2; + __u64 sprg3; + __u64 srr0; + __u64 srr1; + __u64 dar; + __u64 msr; + __u32 dsisr; + __u32 int_pending; /* Tells the guest if we have an interrupt */ +}; + +Additions to the page must only occur at the end. Struct fields are always 32 +bit aligned.
The u64s are 64-bit aligned, should they always be?
+The "ld" and "std" instructions are transormed to "lwz" and "stw" instructions +respectively on 32 bit systems with an added offset of 4 to accomodate for big +endianness.
Will this add never overflow? Is there anything that checks for it?
+mtmsrd rX, 0 b <special mtmsr section> +mtmsr b <special mtmsr section>
mtmsr rX Segher