summaryrefslogtreecommitdiff
path: root/arch/powerpc/kernel/epapr_hcalls.S
diff options
context:
space:
mode:
authorLiu Yu-B13201 <Yu.Liu@freescale.com>2012-07-03 05:48:53 +0000
committerAlexander Graf <agraf@suse.de>2012-10-05 23:38:37 +0200
commit2f979de8a716bdbdc9f4db532652fbca08ed710c (patch)
tree14f51a0b1c1b71f6981d4723a165fe284c70f38d /arch/powerpc/kernel/epapr_hcalls.S
parent9202e07636f0c4858ba6c30773a3f160b2b5659a (diff)
KVM: PPC: ev_idle hcall support for e500 guests
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>
Diffstat (limited to 'arch/powerpc/kernel/epapr_hcalls.S')
-rw-r--r--arch/powerpc/kernel/epapr_hcalls.S28
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/epapr_hcalls.S b/arch/powerpc/kernel/epapr_hcalls.S
index 697b390ebfd8..62c0dc237826 100644
--- a/arch/powerpc/kernel/epapr_hcalls.S
+++ b/arch/powerpc/kernel/epapr_hcalls.S
@@ -8,13 +8,41 @@
*/
#include <linux/threads.h>
+#include <asm/epapr_hcalls.h>
#include <asm/reg.h>
#include <asm/page.h>
#include <asm/cputable.h>
#include <asm/thread_info.h>
#include <asm/ppc_asm.h>
+#include <asm/asm-compat.h>
#include <asm/asm-offsets.h>
+/* epapr_ev_idle() was derived from e500_idle() */
+_GLOBAL(epapr_ev_idle)
+ CURRENT_THREAD_INFO(r3, r1)
+ PPC_LL r4, TI_LOCAL_FLAGS(r3) /* set napping bit */
+ ori r4, r4,_TLF_NAPPING /* so when we take an exception */
+ PPC_STL r4, TI_LOCAL_FLAGS(r3) /* it will return to our caller */
+
+ wrteei 1
+
+idle_loop:
+ LOAD_REG_IMMEDIATE(r11, EV_HCALL_TOKEN(EV_IDLE))
+
+.global epapr_ev_idle_start
+epapr_ev_idle_start:
+ li r3, -1
+ nop
+ nop
+ nop
+
+ /*
+ * Guard against spurious wakeups from a hypervisor --
+ * only interrupt will cause us to return to LR due to
+ * _TLF_NAPPING.
+ */
+ b idle_loop
+
/* Hypercall entry point. Will be patched with device tree instructions. */
.global epapr_hypercall_start
epapr_hypercall_start:
Unnamed repository; edit this file to name it for gitweb.root
summaryrefslogtreecommitdiff
AgeCommit message (Expand)AuthorFilesLines
2017-10-04update translations for 5.3.7 rc1libreoffice-5-3Christian Lohmaier218-3515/+2982
2017-08-21another set of translation updated for 5.3.6 rc1Christian Lohmaier26-326/+326
2017-08-16update translations for 5.3.6 rc1Christian Lohmaier161-2079/+2098
2017-07-30update translations for 5.3.5 rc2Christian Lohmaier380-7909/+7869
2017-07-12update translationsChristian Lohmaier2021-135235/+1027494
2017-06-13update translations for 5.3.4 rc2Christian Lohmaier113-3120/+2580
2017-06-01update translations for 5.3.4 rc1Christian Lohmaier373-10925/+20113
2017-05-03update translations for 5.3.3 rc2cp-5.3-36cp-5.3-35cp-5.3-33cp-5.3-32cp-5.3-29cp-5.3-28cp-5.3-26cp-5.3-25cp-5.3-24cp-5.3-22cp-5.3-21cp-5.3-19cp-5.3-18cp-5.3-17cp-5.3-15cp-5.3-14cp-5.3-13cp-5.3-12cp-5.3-11cd-5.3-23Christian Lohmaier224-2037/+2207
2017-04-18update templates for 5.3.3 rc1cp-5.3-9cp-5.3-8-wincp-5.3-8cp-5.3-7cp-5.3-6cp-5.3-10Christian Lohmaier1115-6536/+11101
2017-03-29update translations for 5.3.2 rc2Christian Lohmaier435-7270/+7253
2017-03-16update translations for 5.3.2 rc1Christian Lohmaier250-5537/+5490
2017-03-07update translations for 5.3.1 rc2Christian Lohmaier180-3786/+3755
2017-02-28update translations for 5.3.1 rc2cp-5.3-4cp-5.3-3cp-5.3-2cp-5.3-1Christian Lohmaier449-9305/+9232
2017-02-20update translations for 5.3.1 rc1Christian Lohmaier364-7615/+7592
2017-02-16update translations for 5.3.1 rc1Christian Lohmaier362-6308/+6292
2017-01-26update translations for 5.3.0 rc3Christian Lohmaier1010-24017/+23493
2017-01-18Updated Slovenian translationAndras Timar9-67/+76
2017-01-16update templates for 5.3.0 rc2Christian Lohmaier909-21403/+25423
2017-01-12Updated Slovenian translationAndras Timar23-52/+52
2017-01-10update translations for 5.3.0 rc2Christian Lohmaier2529-213516/+82308
2017-01-07Updated Slovenian translationAndras Timar51-173/+173
2016-12-28Updated Slovenian translationAndras Timar40-879/+699
2016-12-23update translations for 5.3.0 rc1Christian Lohmaier1707-52369/+180379
2016-12-22Update Slovenian translation (notebookbar)Andras Timar5-31/+31
2016-12-20Updated Slovenian translationAndras Timar15-337/+300
2016-12-14Updated Slovenian translationAndras Timar22-383/+575
2016-12-10update translations for 5.3.0 beta2Christian Lohmaier