Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0582afba authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "arm64: Update ID of SCM_TLB_CONFLICT_CMD"

parents 25803a92 32e1b219
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
#include <asm/kryo-arm64-edac.h>
#include <soc/qcom/scm.h>

#include <acpi/ghes.h>
#include <soc/qcom/scm.h>
@@ -564,6 +565,23 @@ static int __kprobes do_page_fault(unsigned long addr, unsigned int esr,
	return 0;
}

static int do_tlb_conf_fault(unsigned long addr,
				unsigned int esr,
				struct pt_regs *regs)
{
#define SCM_TLB_CONFLICT_CMD	0x1F
	struct scm_desc desc = {
		.args[0] = addr,
		.arginfo = SCM_ARGS(1),
	};

	if (scm_call2_atomic(SCM_SIP_FNID(SCM_SVC_MP, SCM_TLB_CONFLICT_CMD),
						&desc))
		return 1;

	return 0;
}

/*
 * First Level Translation Fault Handler
 *
@@ -698,7 +716,7 @@ static const struct fault_info fault_info[] = {
	{ do_bad,		SIGBUS,  0,		"unknown 45"			},
	{ do_bad,		SIGBUS,  0,		"unknown 46"			},
	{ do_bad,		SIGBUS,  0,		"unknown 47"			},
	{ do_bad,		SIGBUS,  0,		"TLB conflict abort"		},
	{ do_tlb_conf_fault,	SIGBUS,  0,		"TLB conflict abort"		},
	{ do_bad,		SIGBUS,  0,		"unknown 49"			},
	{ do_bad,		SIGBUS,  0,		"unknown 50"			},
	{ do_bad,		SIGBUS,  0,		"unknown 51"			},