summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRunmin Wang <runminw@codeaurora.org>2017-03-09 15:14:04 -0800
committerRunmin Wang <runminw@codeaurora.org>2017-03-09 16:59:43 -0800
commitf6d2d681a8f2a666309b72dbb3f0a3e8539939ea (patch)
tree93f87ac4cf5a5f1e356eb7dfa6895b88f820c5f2 /arch
parent647076b679f3ac76db31d875eda2d7a99be764e6 (diff)
arm64: Update correct config option for TLB handler
Update the config option to "CONFIG_QCOM_TLB_HANDLER" so el1_sync will call into EL2 TLB fault handler. Default TLB handler in EL1 is changed into a dummy handler. Change-Id: Id4008d03002928bd24affeba0ef4250664ea3a48 Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/kernel/entry.S2
-rw-r--r--arch/arm64/mm/fault.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S
index 7f4e5cba0b13..da99a728a5f9 100644
--- a/arch/arm64/kernel/entry.S
+++ b/arch/arm64/kernel/entry.S
@@ -411,7 +411,7 @@ ENDPROC(el1_error_invalid)
*/
.align 6
el1_sync:
-#ifdef CONFIG_TLB_EL2_HANDLER
+#ifdef CONFIG_QCOM_TLB_EL2_HANDLER
smc #0xffff
#endif
kernel_entry 1
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index a2b67feb623b..aee116e842e2 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -457,7 +457,7 @@ no_context:
* so that, do_mem_abort would not crash kernel thinking TLB conflict not
* handled.
*/
-#ifdef QCOM_TLB_EL2_HANDLER
+#ifdef CONFIG_QCOM_TLB_EL2_HANDLER
static int do_tlb_conf_fault(unsigned long addr,
unsigned int esr,
struct pt_regs *regs)
@@ -556,7 +556,7 @@ static const struct fault_info {
{ do_bad, SIGBUS, 0, "unknown 45" },
{ do_bad, SIGBUS, 0, "unknown 46" },
{ do_bad, SIGBUS, 0, "unknown 47" },
-#ifdef QCOM_TLB_EL2_HANDLER
+#ifdef CONFIG_QCOM_TLB_EL2_HANDLER
{ do_tlb_conf_fault, SIGBUS, 0, "TLB conflict abort" },
#else
{ do_bad, SIGBUS, 0, "TLB conflict abort" },