summaryrefslogtreecommitdiffstats
path: root/src/include/kernel/ppcarch.H
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/kernel/ppcarch.H')
-rw-r--r--src/include/kernel/ppcarch.H15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/include/kernel/ppcarch.H b/src/include/kernel/ppcarch.H
index 2b61f6200..13ebfe6e2 100644
--- a/src/include/kernel/ppcarch.H
+++ b/src/include/kernel/ppcarch.H
@@ -43,5 +43,20 @@ inline void ppc_setSPRG3(uint64_t _sprg3)
return;
}
+__attribute__((always_inline))
+inline uint64_t ppc_getMSR()
+{
+ register uint64_t msr = 0;
+ asm volatile("mfmsr %0" : "=r" (msr));
+ return msr;
+}
+
+__attribute__((always_inline))
+inline void ppc_setMSR(uint64_t _msr)
+{
+ register uint64_t msr = _msr;
+ asm volatile("mtmsr %0; isync" : "=r" (msr));
+}
+
#endif
OpenPOWER on IntegriCloud