Commit 2e3e3565 authored by Yeoreum Yun's avatar Yeoreum Yun Committed by Catalin Marinas
Browse files

kselftest/arm64/mte: Check MTE_FAR feature is supported



To run the MTE_FAR test when cpu supports MTE_FAR feature,
check the MTE_FAR feature is supported in mte test.

Signed-off-by: default avatarYeoreum Yun <yeoreum.yun@arm.com>
Reviewed-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20250618084513.1761345-7-yeoreum.yun@arm.com


Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent cfafa517
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#define INIT_BUFFER_SIZE       256

struct mte_fault_cxt cur_mte_cxt;
bool mtefar_support;
static unsigned int mte_cur_mode;
static unsigned int mte_cur_pstate_tco;

@@ -325,12 +326,15 @@ int mte_switch_mode(int mte_option, unsigned long incl_mask)
int mte_default_setup(void)
{
	unsigned long hwcaps2 = getauxval(AT_HWCAP2);
	unsigned long hwcaps3 = getauxval(AT_HWCAP3);
	unsigned long en = 0;
	int ret;

	if (!(hwcaps2 & HWCAP2_MTE))
		ksft_exit_skip("MTE features unavailable\n");

	mtefar_support = !!(hwcaps3 & HWCAP3_MTE_FAR);

	/* Get current mte mode */
	ret = prctl(PR_GET_TAGGED_ADDR_CTRL, en, 0, 0, 0);
	if (ret < 0) {
+1 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ struct mte_fault_cxt {
};

extern struct mte_fault_cxt cur_mte_cxt;
extern bool mtefar_support;

/* MTE utility functions */
void mte_default_handler(int signum, siginfo_t *si, void *uc);