summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/epapr_hcalls.h
Commit message (Collapse)AuthorAgeFilesLines
* kvm/powerpc: move kvm_hypercall0() and friends to epapr_hypercall0()Bharat Bhushan2014-01-091-0/+65
| | | | | | | | | kvm_hypercall0() and friends have nothing KVM specific so moved to epapr_hypercall0() and friends. Also they are moved from arch/powerpc/include/asm/kvm_para.h to arch/powerpc/include/asm/epapr_hcalls.h Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
* kvm/powerpc: rename kvm_hypercall() to epapr_hypercall()Bharat Bhushan2014-01-091-0/+46
| | | | | | | | kvm_hypercall() have nothing KVM specific, so renamed to epapr_hypercall(). Also this in moved to arch/powerpc/include/asm/epapr_hcalls.h Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
* powerpc/85xx: Move ePAPR paravirt initialization earlierLaurentiu TUDOR2013-08-071-0/+6
| | | | | | | | | | | | | | At console init, when the kernel tries to flush the log buffer the ePAPR byte-channel based console write fails silently, losing the buffered messages. This happens because The ePAPR para-virtualization init isn't done early enough so that the hcall instruction to be set, causing the byte-channel write hcall to be a nop. To fix, change the ePAPR para-virt init to use early device tree functions and move it in early init. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
* PPC: ePAPR: Convert hcall header to uapi (round 2)Alexander Graf2012-10-311-0/+458
| | | | | | | The new uapi framework splits kernel internal and user space exported bits of header files more cleanly. Adjust the ePAPR header accordingly. Signed-off-by: Alexander Graf <agraf@suse.de>
* Merge remote-tracking branch 'master' into queueMarcelo Tosatti2012-10-291-511/+0
|\ | | | | | | | | | | | | | | | | | | | | Merge reason: development work has dependency on kvm patches merged upstream. Conflicts: arch/powerpc/include/asm/Kbuild arch/powerpc/include/asm/kvm_para.h Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
* | PPC: Don't use hardcoded opcode for ePAPR hcall invocationLiu Yu-B132012012-10-051-11/+11
| | | | | | | | | | | | Signed-off-by: Liu Yu <yu.liu@freescale.com> Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
* | KVM: PPC: ev_idle hcall support for e500 guestsLiu Yu-B132012012-10-051-5/+6
| | | | | | | | | | | | | | | | Signed-off-by: Liu Yu <yu.liu@freescale.com> [varun: 64-bit changes] Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com> Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
* | PPC: epapr: create define for return code value of successStuart Yoder2012-10-051-1/+2
|/ | | | | Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
* KVM: PPC: Factor out guest epapr initializationLiu Yu-B132012012-05-301-0/+2
| | | | | | | | | | epapr paravirtualization support is now a Kconfig selectable option Signed-off-by: Liu Yu <yu.liu@freescale.com> [stuart.yoder@freescale.com: misc minor fixes, description update] Signed-off-by: Stuart Yoder <stuart.yoder@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
* powerpc/epapr: add "memory" as a clobber to all hypercallsTimur Tabi2012-03-291-1/+6
| | | | | | | | | | | | | The "memory" clobber tells the compiler to ensure that all writes to memory are committed before the hypercall is made. "memory" is only necessary for hcalls where the Hypervisor will read or write guest memory. However, we add it to all hcalls because the impact is minimal, and we want to ensure that it's present for the hcalls that need it. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* powerpc: introduce ePAPR embedded hypervisor hcall interfaceTimur Tabi2011-06-271-0/+502
ePAPR hypervisors provide operating system services via a "hypercall" interface. The following steps need to be performed to make an hcall: 1. Load r11 with the hcall number 2. Load specific other registers with parameters 3. Issue instrucion "sc 1" 4. The return code is in r3 5. Other returned parameters are in other registers. To provide this service to the kernel, these steps are wrapped in inline assembly functions. Standard ePAPR hcalls are in epapr_hcalls.h, and Freescale extensions are in fsl_hcalls.h. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
OpenPOWER on IntegriCloud