diff options
-rw-r--r-- | arch/powerpc/kernel/idle_book3s.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/idle_book3s.S b/arch/powerpc/kernel/idle_book3s.S index 0d8712a835d2..72dac0b58061 100644 --- a/arch/powerpc/kernel/idle_book3s.S +++ b/arch/powerpc/kernel/idle_book3s.S | |||
@@ -90,6 +90,7 @@ ALT_FTR_SECTION_END_IFSET(CPU_FTR_ARCH_300) | |||
90 | * Threads will spin in HMT_LOW until the lock bit is cleared. | 90 | * Threads will spin in HMT_LOW until the lock bit is cleared. |
91 | * r14 - pointer to core_idle_state | 91 | * r14 - pointer to core_idle_state |
92 | * r15 - used to load contents of core_idle_state | 92 | * r15 - used to load contents of core_idle_state |
93 | * r9 - used as a temporary variable | ||
93 | */ | 94 | */ |
94 | 95 | ||
95 | core_idle_lock_held: | 96 | core_idle_lock_held: |
@@ -99,6 +100,8 @@ core_idle_lock_held: | |||
99 | bne 3b | 100 | bne 3b |
100 | HMT_MEDIUM | 101 | HMT_MEDIUM |
101 | lwarx r15,0,r14 | 102 | lwarx r15,0,r14 |
103 | andi. r9,r15,PNV_CORE_IDLE_LOCK_BIT | ||
104 | bne core_idle_lock_held | ||
102 | blr | 105 | blr |
103 | 106 | ||
104 | /* | 107 | /* |