Home
last modified time | relevance | path

Searched refs:pmlen (Results 1 – 5 of 5) sorted by relevance

/linux/tools/testing/selftests/riscv/abi/
H A Dpointer_masking.c35 static inline bool valid_pmlen(int pmlen) in valid_pmlen() argument
37 return pmlen == 0 || pmlen == 7 || pmlen == 16; in valid_pmlen()
45 int pmlen, ret; in test_pmlen() local
56 pmlen = (ret & PR_PMLEN_MASK) >> PR_PMLEN_SHIFT; in test_pmlen()
57 ksft_test_result(pmlen >= request, "PMLEN=%d constraint\n", request); in test_pmlen()
58 ksft_test_result(valid_pmlen(pmlen), "PMLEN=%d validity\n", request); in test_pmlen()
61 min_pmlen = pmlen; in test_pmlen()
62 if (max_pmlen < pmlen) in test_pmlen()
63 max_pmlen = pmlen; in test_pmlen()
78 static int set_tagged_addr_ctrl(int pmlen, bool tagged_addr_abi) in set_tagged_addr_ctrl() argument
[all …]
/linux/arch/riscv/kernel/
H A Dprocess.c316 u8 pmlen; in set_tagged_addr_ctrl() local
331 pmlen = FIELD_GET(PR_PMLEN_MASK, arg); in set_tagged_addr_ctrl()
332 if (pmlen == PMLEN_0) { in set_tagged_addr_ctrl()
334 } else if (pmlen <= PMLEN_7 && have_user_pmlen_7) { in set_tagged_addr_ctrl()
335 pmlen = PMLEN_7; in set_tagged_addr_ctrl()
337 } else if (pmlen <= PMLEN_16 && have_user_pmlen_16) { in set_tagged_addr_ctrl()
338 pmlen = PMLEN_16; in set_tagged_addr_ctrl()
349 if (arg & PR_TAGGED_ADDR_ENABLE && (tagged_addr_disabled || !pmlen)) in set_tagged_addr_ctrl()
353 pmlen = PMLEN_0; in set_tagged_addr_ctrl()
360 if (test_bit(MM_CONTEXT_LOCK_PMLEN, &mm->context.flags) && mm->context.pmlen != pmlen) { in set_tagged_addr_ctrl()
[all …]
/linux/arch/riscv/include/asm/
H A Duaccess.h19 u8 pmlen = mm->context.pmlen; in __untagged_addr_remote() local
23 return (long)(addr << pmlen) >> pmlen; in __untagged_addr_remote()
25 return (addr << pmlen) >> pmlen; in __untagged_addr_remote()
H A Dmmu_context.h24 next->context.pmlen = 0; in activate_mm()
47 return -1UL >> mm->context.pmlen; in mm_untag_mask()
H A Dmmu.h31 u8 pmlen; member