Home
last modified time | relevance | path

Searched full:pkru (Results 1 – 13 of 13) sorted by relevance

/linux/arch/x86/include/asm/
H A Dpkru.h19 static inline bool __pkru_allows_read(u32 pkru, u16 pkey) in __pkru_allows_read() argument
22 return !(pkru & (PKRU_AD_BIT << pkru_pkey_bits)); in __pkru_allows_read()
25 static inline bool __pkru_allows_write(u32 pkru, u16 pkey) in __pkru_allows_write() argument
32 return !(pkru & ((PKRU_AD_BIT|PKRU_WD_BIT) << pkru_pkey_bits)); in __pkru_allows_write()
42 static inline void write_pkru(u32 pkru) in write_pkru() argument
50 if (pkru != rdpkru()) in write_pkru()
51 wrpkru(pkru); in write_pkru()
H A Dspecial_insns.h72 u32 edx, pkru; in rdpkru() local
75 * "rdpkru" instruction. Places PKRU contents in to EAX, in rdpkru()
78 asm volatile("rdpkru" : "=a" (pkru), "=d" (edx) : "c" (ecx)); in rdpkru()
79 return pkru; in rdpkru()
82 static inline void wrpkru(u32 pkru) in wrpkru() argument
87 * "wrpkru" instruction. Loads contents in EAX to PKRU, in wrpkru()
90 asm volatile("wrpkru" : : "a" (pkru), "c"(ecx), "d"(edx)); in wrpkru()
99 static inline void wrpkru(u32 pkru) in wrpkru() argument
/linux/arch/x86/include/asm/fpu/
H A Dxstate.h40 * PKRU is not restored on return to user space because PKRU
H A Dsignal.h32 extern bool copy_fpstate_to_sigframe(void __user *buf, void __user *fp, int size, u32 pkru);
H A Dtypes.h253 * State component 9: 32-bit PKRU register. The state is
257 u32 pkru; member
/linux/Documentation/core-api/
H A Dprotection-keys.rst23 (PKRU). Each of these is a 32-bit register storing two bits (Access Disable
26 Being a CPU register, PKRU is inherently thread-local, potentially giving each
/linux/tools/testing/selftests/mm/
H A Dprotection_keys.c1119 /* Clear XSTATE_BV[PKRU]: */ in become_child()
1121 /* XRSTOR will likely get PKRU back to the init state: */ in become_child()
1346 * correctly changed PKRU, but to an unknown value since in test_ptrace_of_child()
1396 /* Stop and allow the tracer to modify PKRU directly */ in get_pointer_to_instructions()
1406 /* Stop and allow the tracer to clear XSTATE_BV for PKRU */ in test_executing_on_unreadable_memory()
1412 /* Stop and allow the tracer to examine PKRU */ in test_executing_on_unreadable_memory()
1425 /* Modify the PKRU register directly */ in test_executing_on_unreadable_memory()
1449 /* Test that the tracee saw the PKRU value change */ in test_implicit_mprotect_exec_only_memory()
1460 /* Clear the PKRU bit from XSTATE_BV */ in test_implicit_mprotect_exec_only_memory()
1476 /* Test that the tracee saw the PKRU valu in test_implicit_mprotect_exec_only_memory()
[all...]
H A Dpkey_sighandler_tests.c137 * pkru should be the init_pkru value which enabled MPK 0 so in sigusr2_handler()
365 * Verify that the PKRU value set by the application is correctly in test_pkru_preserved_after_sigusr1()
398 /* Ensure the pkru value is the same after returning from signal. */ in thread_sigusr2_self()
H A Dmseal_test.c1685 /* sealing doesn't take effect if PKRU allow write. */ in test_seal_discard_ro_anon_on_pkey()
1690 /* sealing will take effect if PKRU deny write. */ in test_seal_discard_ro_anon_on_pkey()
/linux/Documentation/translations/zh_CN/core-api/
H A Dprotection-keys.rst31 还有一个新的用户可访问寄存器(PKRU),为每个密钥提供两个单独的位(访
/linux/Documentation/arch/x86/
H A Dxstate.rst8 Up to AVX-512 and PKRU states, these features are automatically enabled by
/linux/tools/arch/x86/kcpuid/
H A Dcpuid.csv354 0xd, 0, eax, 9, xcr0_pkru , XCR0.PKRU: XSAVE PKRU registers
443 0x12, 1, ecx, 9, xfrm_pkru , Enclave XFRM.PKRU (XSAVE PKRU registers)
/linux/tools/testing/selftests/kvm/include/x86/
H A Dprocessor.h689 static inline void wrpkru(u32 pkru)
693 : : "a" (pkru), "c"(0), "d"(0)); in this_cpu_family()
631 wrpkru(u32 pkru) wrpkru() argument