Thread (18 messages) 18 messages, 4 authors, 2012-02-17

Re: [PATCH v4 3/3] KVM: PPC: epapr: install ev_idle hcall for e500 guest

flat view

From: Scott Wood <hidden>
Date: 2012-02-16 16:58:13
Also in: kvm

On 02/16/2012 04:24 AM, Alexander Graf wrote:
On 16.02.2012, at 10:26, Liu Yu [off-list ref] wrote:
quoted
+_GLOBAL(epapr_ev_idle)
+epapr_ev_idle:
+    rlwinm    r3,r1,0,0,31-THREAD_SHIFT    /* current thread_info */
+    lwz    r4,TI_LOCAL_FLAGS(r3)    /* set napping bit */
+    ori    r4,r4,_TLF_NAPPING    /* so when we take an exception */
+    stw    r4,TI_LOCAL_FLAGS(r3)    /* it will return to our caller */
+
+    wrteei    1
+
+idle_loop:
+    LOAD_REG_IMMEDIATE(r11, HC_VENDOR_EPAPR | HC_EV_IDLE)
+
+.global epapr_ev_idle_start
+epapr_ev_idle_start:
+    li    r3, -1
+    nop
+    nop
+    nop
Can't you just bl into epapr_hypercall_start? You don't even have to save the old lr. because we never return anyways :)
The interrupt will branch to LR, so no, we can't trash it or put it
anywhere else.

-scott
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help