diff options
Diffstat (limited to 'src/include/arch/ppc.H')
| -rw-r--r-- | src/include/arch/ppc.H | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/include/arch/ppc.H b/src/include/arch/ppc.H index 54c9e8774..8402f743c 100644 --- a/src/include/arch/ppc.H +++ b/src/include/arch/ppc.H @@ -273,6 +273,21 @@ inline uint64_t getHRMOR() } ALWAYS_INLINE +inline uint64_t getPTCR() +{ + register uint64_t ptcr = 0; + asm volatile("mfspr %0, 464" : "=r" (ptcr)); + return ptcr; +} + +ALWAYS_INLINE +inline void setPTCR(uint64_t _ptcr) +{ + register uint64_t ptcr = _ptcr; + asm volatile("mtspr 464, %0; isync" :: "r" (ptcr)); +} + +ALWAYS_INLINE inline void setThreadPriorityLow() { asm volatile("or 1,1,1"); |

