diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2010-07-02 18:55:54 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2010-07-02 18:55:54 -0500 |
commit | e887bf5059d294643283226cd90957e284a58010 (patch) | |
tree | 481ab8a3924a3f739f34b64b953b9d1e1c12378c /src/include | |
parent | 5b5d7cda3184ff7456d1b43b8dfb5e212709ee75 (diff) | |
download | talos-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.H | 15 |
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 |