Home
last modified time | relevance | path

Searched refs:pkru (Results 1 - 25 of 25) sorted by relevance

/kernel/linux/linux-6.6/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.h83 u32 edx, pkru; in rdpkru() local
90 : "=a" (pkru), "=d" (edx) in rdpkru()
92 return pkru; in rdpkru()
95 static inline void wrpkru(u32 pkru) in wrpkru() argument
104 : : "a" (pkru), "c"(ecx), "d"(edx)); in wrpkru()
113 static inline void wrpkru(u32 pkru) in wrpkru() argument
H A Dpgtable.h21 #include <asm/pkru.h>
1623 u32 pkru = read_pkru(); in __pkru_allows_pkey() local
1625 if (!__pkru_allows_read(pkru, pkey)) in __pkru_allows_pkey()
1627 if (write && !__pkru_allows_write(pkru, pkey)) in __pkru_allows_pkey()
H A Dprocessor.h476 u32 pkru; member
H A Dsvm.h415 u32 pkru; member
H A Dkvm_host.h733 u32 pkru; member
/kernel/linux/linux-5.10/arch/x86/include/asm/
H A Dspecial_insns.h83 u32 edx, pkru; in rdpkru() local
90 : "=a" (pkru), "=d" (edx) in rdpkru()
92 return pkru; in rdpkru()
95 static inline void wrpkru(u32 pkru) in wrpkru() argument
104 : : "a" (pkru), "c"(ecx), "d"(edx)); in wrpkru()
107 static inline void __write_pkru(u32 pkru) in __write_pkru() argument
113 if (pkru == rdpkru()) in __write_pkru()
116 wrpkru(pkru); in __write_pkru()
125 static inline void __write_pkru(u32 pkru) in __write_pkru() argument
H A Dpgtable.h137 static inline void write_pkru(u32 pkru) in write_pkru() argument
153 pk->pkru = pkru; in write_pkru()
154 __write_pkru(pkru); in write_pkru()
1373 static inline bool __pkru_allows_read(u32 pkru, u16 pkey) in __pkru_allows_read() argument
1376 return !(pkru & (PKRU_AD_BIT << pkru_pkey_bits)); in __pkru_allows_read()
1379 static inline bool __pkru_allows_write(u32 pkru, u16 pkey) in __pkru_allows_write() argument
1386 return !(pkru & ((PKRU_AD_BIT|PKRU_WD_BIT) << pkru_pkey_bits)); in __pkru_allows_write()
1401 u32 pkru = read_pkru(); in __pkru_allows_pkey() local
1403 if (!__pkru_allows_read(pkru, pke in __pkru_allows_pkey()
[all...]
H A Dkvm_host.h542 u32 pkru; member
/kernel/linux/linux-6.6/arch/x86/kernel/fpu/
H A Dxstate.c1150 struct pkru_state pkru = {0}; in __copy_xstate_to_uabi_buf() local
1155 pkru.pkru = pkru_val; in __copy_xstate_to_uabi_buf()
1156 membuf_write(&to, &pkru, sizeof(pkru)); in __copy_xstate_to_uabi_buf()
1191 tsk->thread.pkru, copy_mode); in copy_xstate_to_uabi_buf()
1212 * @pkru: The location to write the PKRU value to
1222 * pass a pointer to the thread_struct's pkru field in @pkru and updating
1225 * thread_struct's pkru fiel
1235 copy_uabi_to_xstate(struct fpstate *fpstate, const void *kbuf, const void __user *ubuf, u32 *pkru) copy_uabi_to_xstate() argument
1317 copy_uabi_from_kernel_to_xstate(struct fpstate *fpstate, const void *kbuf, u32 *pkru) copy_uabi_from_kernel_to_xstate() argument
[all...]
H A Dcore.c372 unsigned int size, u64 xfeatures, u32 pkru) in fpu_copy_guest_fpstate_to_uabi()
379 __copy_xstate_to_uabi_buf(mb, kstate, xfeatures, pkru, in fpu_copy_guest_fpstate_to_uabi()
371 fpu_copy_guest_fpstate_to_uabi(struct fpu_guest *gfpu, void *buf, unsigned int size, u64 xfeatures, u32 pkru) fpu_copy_guest_fpstate_to_uabi() argument
H A Dxstate.h50 extern int copy_uabi_from_kernel_to_xstate(struct fpstate *fpstate, const void *kbuf, u32 *pkru);
H A Dregset.c171 ret = copy_uabi_from_kernel_to_xstate(fpu->fpstate, kbuf ?: tmpbuf, &target->thread.pkru); in xstateregs_set()
/kernel/linux/linux-6.6/arch/x86/kernel/
H A Dprocess_64.c45 #include <asm/pkru.h>
357 prev->pkru = rdpkru(); in x86_pkru_load()
363 if (prev->pkru != next->pkru) in x86_pkru_load()
364 wrpkru(next->pkru); in x86_pkru_load()
H A Dprocess.c218 p->thread.pkru = pkru_get_init_value(); in copy_thread()
225 * Clone current's PKRU value from hardware. tsk->thread.pkru in copy_thread()
228 p->thread.pkru = read_pkru(); in copy_thread()
/kernel/linux/linux-6.6/arch/x86/include/asm/fpu/
H A Dapi.h161 unsigned int size, u64 xfeatures, u32 pkru);
H A Dtypes.h253 u32 pkru; member
/kernel/linux/linux-5.10/arch/x86/include/asm/fpu/
H A Dtypes.h236 u32 pkru; member
H A Dinternal.h585 pkru_val = pk ? pk->pkru : 0; in switch_fpu_finish()
/kernel/linux/linux-5.10/arch/x86/kvm/
H A Dmmu.h198 * attribute bits per domain in pkru. pte_pkey is the in permission_fault()
202 pkru_bits = (vcpu->arch.pkru >> (pte_pkey * 2)) & 3; in permission_fault()
H A Dx86.c911 vcpu->arch.pkru != vcpu->arch.host_pkru) in kvm_load_guest_xsave_state()
912 __write_pkru(vcpu->arch.pkru); in kvm_load_guest_xsave_state()
921 vcpu->arch.pkru = rdpkru(); in kvm_load_host_xsave_state()
922 if (vcpu->arch.pkru != vcpu->arch.host_pkru) in kvm_load_host_xsave_state()
4067 /* Save host pkru register if supported */ in kvm_arch_vcpu_load()
4591 memcpy(dest + offset, &vcpu->arch.pkru, in fill_xsave()
4592 sizeof(vcpu->arch.pkru)); in fill_xsave()
4634 memcpy(&vcpu->arch.pkru, src + offset, in load_xsave()
4635 sizeof(vcpu->arch.pkru)); in load_xsave()
/kernel/linux/linux-6.6/arch/x86/kvm/
H A Dmmu.h222 * attribute bits per domain in pkru. pte_pkey is the in permission_fault()
226 pkru_bits = (vcpu->arch.pkru >> (pte_pkey * 2)) & 3; in permission_fault()
H A Dx86.c73 #include <asm/pkru.h>
1034 vcpu->arch.pkru != vcpu->arch.host_pkru && in kvm_load_guest_xsave_state()
1037 write_pkru(vcpu->arch.pkru); in kvm_load_guest_xsave_state()
1049 vcpu->arch.pkru = rdpkru(); in kvm_load_host_xsave_state()
1050 if (vcpu->arch.pkru != vcpu->arch.host_pkru) in kvm_load_host_xsave_state()
4822 /* Save host pkru register if supported */ in kvm_arch_vcpu_load()
5414 supported_xcr0, vcpu->arch.pkru); in kvm_vcpu_ioctl_x86_get_xsave2()
5433 &vcpu->arch.pkru); in kvm_vcpu_ioctl_x86_set_xsave()
/kernel/linux/linux-6.6/arch/x86/kvm/svm/
H A Dsev.c23 #include <asm/pkru.h>
611 save->pkru = svm->vcpu.arch.pkru; in sev_es_sync_vmsa()
3101 hostsa->pkru = read_pkru(); in sev_es_prepare_switch_to_guest()
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/include/x86_64/
H A Dprocessor.h563 static inline void wrpkru(u32 pkru) in wrpkru() argument
567 : : "a" (pkru), "c"(0), "d"(0)); in wrpkru()

Completed in 63 milliseconds