From f6d2d681a8f2a666309b72dbb3f0a3e8539939ea Mon Sep 17 00:00:00 2001 From: Runmin Wang Date: Thu, 9 Mar 2017 15:14:04 -0800 Subject: 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 --- arch/arm64/kernel/entry.S | 2 +- arch/arm64/mm/fault.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'arch') 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" }, -- cgit v1.2.3