summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2010-07-02 18:55:54 -0500
committerPatrick Williams <iawillia@us.ibm.com>2010-07-02 18:55:54 -0500
commite887bf5059d294643283226cd90957e284a58010 (patch)
tree481ab8a3924a3f739f34b64b953b9d1e1c12378c /src/include
parent5b5d7cda3184ff7456d1b43b8dfb5e212709ee75 (diff)
downloadtalos-hostboot-e887bf5059d294643283226cd90957e284a58010.tar.gz
talos-hostboot-e887bf5059d294643283226cd90957e284a58010.zip
Memory map and execution fixes for simics.
Diffstat (limited to 'src/include')
-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