KVM: PPC: Book3S HV: Restructure kvmppc_hv_entry to be a subroutine
authorPaul Mackerras <paulus@samba.org>
Fri, 6 Sep 2013 03:23:44 +0000 (13:23 +1000)
committerAlexander Graf <agraf@suse.de>
Thu, 17 Oct 2013 12:45:00 +0000 (14:45 +0200)
commit218309b75b5e800af952362b5cbb086fa64f59ba
tree40006a2c86c6de2e046e8f014bb09b41d4512be6
parent42d7604d0c5a24f448983424eb19e3845cb031ba
KVM: PPC: Book3S HV: Restructure kvmppc_hv_entry to be a subroutine

We have two paths into and out of the low-level guest entry and exit
code: from a vcpu task via kvmppc_hv_entry_trampoline, and from the
system reset vector for an offline secondary thread on POWER7 via
kvm_start_guest.  Currently both just branch to kvmppc_hv_entry to
enter the guest, and on guest exit, we test the vcpu physical thread
ID to detect which way we came in and thus whether we should return
to the vcpu task or go back to nap mode.

In order to make the code flow clearer, and to keep the code relating
to each flow together, this turns kvmppc_hv_entry into a subroutine
that follows the normal conventions for call and return.  This means
that kvmppc_hv_entry_trampoline() and kvmppc_hv_entry() now establish
normal stack frames, and we use the normal stack slots for saving
return addresses rather than local_paca->kvm_hstate.vmhandler.  Apart
from that this is mostly moving code around unchanged.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/kvm/book3s_hv_rmhandlers.S