diff options
author | Alex Shi <alex.shi@linaro.org> | 2016-04-21 14:08:44 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2016-04-21 14:08:44 +0800 |
commit | bab15641824ad77e5f3af9cc4b84308cba32aa7d (patch) | |
tree | 6a7333fc6f30e08a7142daa5dbc1dd2bf5d08dca /arch/parisc/lib/fixup.S | |
parent | 08562bfcb85748c69e5824fc6d1d77d5725787e4 (diff) | |
parent | 2bf7955152a0544342fcaed28930748cc68392ae (diff) |
Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-androidlsk-v4.4-16.04-android
Conflicts:
d_canonical_path in include/linux/dcache.h
Diffstat (limited to 'arch/parisc/lib/fixup.S')
-rw-r--r-- | arch/parisc/lib/fixup.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/parisc/lib/fixup.S b/arch/parisc/lib/fixup.S index 536ef66bb94b..1052b747e011 100644 --- a/arch/parisc/lib/fixup.S +++ b/arch/parisc/lib/fixup.S @@ -26,6 +26,7 @@ #ifdef CONFIG_SMP .macro get_fault_ip t1 t2 + loadgp addil LT%__per_cpu_offset,%r27 LDREG RT%__per_cpu_offset(%r1),\t1 /* t2 = smp_processor_id() */ @@ -40,14 +41,19 @@ LDREG RT%exception_data(%r1),\t1 /* t1 = this_cpu_ptr(&exception_data) */ add,l \t1,\t2,\t1 + /* %r27 = t1->fault_gp - restore gp */ + LDREG EXCDATA_GP(\t1), %r27 /* t1 = t1->fault_ip */ LDREG EXCDATA_IP(\t1), \t1 .endm #else .macro get_fault_ip t1 t2 + loadgp /* t1 = this_cpu_ptr(&exception_data) */ addil LT%exception_data,%r27 LDREG RT%exception_data(%r1),\t2 + /* %r27 = t2->fault_gp - restore gp */ + LDREG EXCDATA_GP(\t2), %r27 /* t1 = t2->fault_ip */ LDREG EXCDATA_IP(\t2), \t1 .endm |