Thread (57 messages) flat view 57 messages, 10 authors, 2010-07-12

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help