aboutsummaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2017-05-22 15:53:00 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-06-06 20:49:06 +1000
commit38b0c8454b56a74fe785f0db1d218afa8f6ea478 (patch)
tree2371fcb67e716a7cd16016031cd3554d1afddede /asm
parent41b14f9452c25f3dd74a8304763a3cc58bff019f (diff)
downloadskiboot-38b0c8454b56a74fe785f0db1d218afa8f6ea478.zip
skiboot-38b0c8454b56a74fe785f0db1d218afa8f6ea478.tar.gz
skiboot-38b0c8454b56a74fe785f0db1d218afa8f6ea478.tar.bz2
cpu: Introduce smt_lowest()
Recent CPUs have introduced a lower SMT priority. This uses the Linux pattern of executing priority nops in descending order to get a simple portable way to put the CPU into lowest SMT priority. Introduce smt_lowest() and use it in place of smt_very_low and smt_low ; smt_very_low sequences. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'asm')
-rw-r--r--asm/head.S6
1 files changed, 3 insertions, 3 deletions
diff --git a/asm/head.S b/asm/head.S
index a2dcb8c..8e33f22 100644
--- a/asm/head.S
+++ b/asm/head.S
@@ -398,7 +398,7 @@ secondary_wait:
*/
LOAD_IMM32(%r3, boot_flag - __head)
add %r3,%r3,%r30
-1: smt_very_low
+1: smt_lowest
lwz %r0,0(%r3)
cmpdi %r0,0
beq 1b
@@ -416,7 +416,7 @@ secondary_wait:
1:
/* Now wait for cpu_secondary_start to be set */
LOAD_ADDR_FROM_TOC(%r3, cpu_secondary_start)
-1: smt_very_low
+1: smt_lowest
ld %r0,0(%r3)
cmpdi %r0,0
beq 1b
@@ -441,7 +441,7 @@ secondary_wait:
/* Not found... what to do ? set some global error ? */
secondary_not_found:
- smt_very_low
+ smt_lowest
b .
call_relocate: