aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc/kernel/sun4v_ivec.S
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@google.com>2017-08-14 23:12:30 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-08-14 23:12:30 +0000
commitea2f8e8ce0074d79eaee4a514750b94457d8e5ad (patch)
tree923cf94d70b6f88d6a406005fbb9368e1b0f01c0 /arch/sparc/kernel/sun4v_ivec.S
parent84e1e3224b4d97bae8fd5bc6a67ab4900c4d5f21 (diff)
parentca4226385d9c5299108e261921f9849572fd5d10 (diff)
downloadv4.4-ea2f8e8ce0074d79eaee4a514750b94457d8e5ad.tar.gz
Merge 4.4.81 into android-4.4 am: dfff30bca9
am: ca4226385d Change-Id: Id1f751744e0dc75a6a73c19af6dda15a46d2c842
Diffstat (limited to 'arch/sparc/kernel/sun4v_ivec.S')
-rw-r--r--arch/sparc/kernel/sun4v_ivec.S15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/sparc/kernel/sun4v_ivec.S b/arch/sparc/kernel/sun4v_ivec.S
index 559bc5e9c199..34631995859a 100644
--- a/arch/sparc/kernel/sun4v_ivec.S
+++ b/arch/sparc/kernel/sun4v_ivec.S
@@ -26,6 +26,21 @@ sun4v_cpu_mondo:
ldxa [%g0] ASI_SCRATCHPAD, %g4
sub %g4, TRAP_PER_CPU_FAULT_INFO, %g4
+ /* Get smp_processor_id() into %g3 */
+ sethi %hi(trap_block), %g5
+ or %g5, %lo(trap_block), %g5
+ sub %g4, %g5, %g3
+ srlx %g3, TRAP_BLOCK_SZ_SHIFT, %g3
+
+ /* Increment cpu_mondo_counter[smp_processor_id()] */
+ sethi %hi(cpu_mondo_counter), %g5
+ or %g5, %lo(cpu_mondo_counter), %g5
+ sllx %g3, 3, %g3
+ add %g5, %g3, %g5
+ ldx [%g5], %g3
+ add %g3, 1, %g3
+ stx %g3, [%g5]
+
/* Get CPU mondo queue base phys address into %g7. */
ldx [%g4 + TRAP_PER_CPU_CPU_MONDO_PA], %g7