Home
last modified time | relevance | path

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

123456

/kernel/linux/linux-6.6/tools/testing/selftests/kvm/x86_64/
H A Dset_sregs_test.c47 uint64_t cr4; in calc_supported_cr4_feature_bits() local
49 cr4 = X86_CR4_VME | X86_CR4_PVI | X86_CR4_TSD | X86_CR4_DE | in calc_supported_cr4_feature_bits()
53 cr4 |= X86_CR4_UMIP; in calc_supported_cr4_feature_bits()
55 cr4 |= X86_CR4_LA57; in calc_supported_cr4_feature_bits()
57 cr4 |= X86_CR4_VMXE; in calc_supported_cr4_feature_bits()
59 cr4 |= X86_CR4_SMXE; in calc_supported_cr4_feature_bits()
61 cr4 |= X86_CR4_FSGSBASE; in calc_supported_cr4_feature_bits()
63 cr4 |= X86_CR4_PCIDE; in calc_supported_cr4_feature_bits()
65 cr4 |= X86_CR4_OSXSAVE; in calc_supported_cr4_feature_bits()
67 cr4 | in calc_supported_cr4_feature_bits()
81 uint64_t cr4; main() local
[all...]
H A Dcr4_cpuid_sync_test.c24 uint64_t cr4 = get_cr4(); in cr4_cpuid_is_sync() local
26 return (this_cpu_has(X86_FEATURE_OSXSAVE) == !!(cr4 & X86_CR4_OSXSAVE)); in cr4_cpuid_is_sync()
31 uint64_t cr4; in guest_code() local
34 cr4 = get_cr4(); in guest_code()
35 cr4 |= X86_CR4_OSXSAVE; in guest_code()
36 set_cr4(cr4); in guest_code()
69 sregs.cr4 &= ~X86_CR4_OSXSAVE; in main()
H A Dsync_regs_test.c137 __u64 *cr4 = &run->s.regs.sregs.cr4; in race_sregs_cr4() local
138 __u64 pae_enabled = *cr4; in race_sregs_cr4()
139 __u64 pae_disabled = *cr4 & ~X86_CR4_PAE; in race_sregs_cr4()
143 WRITE_ONCE(*cr4, pae_enabled); in race_sregs_cr4()
147 WRITE_ONCE(*cr4, pae_disabled); in race_sregs_cr4()
180 TEST_ASSERT((run->s.regs.sregs.cr4 & X86_CR4_PAE) && in race_sync_regs()
183 !!(run->s.regs.sregs.cr4 & X86_CR4_PAE), in race_sync_regs()
H A Damx_test.c129 uint64_t cr4, xcr0; in init_regs() local
134 cr4 = get_cr4(); in init_regs()
135 cr4 |= X86_CR4_OSXSAVE; in init_regs()
136 set_cr4(cr4); in init_regs()
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/x86_64/
H A Dcr4_cpuid_sync_test.c30 uint64_t cr4; in cr4_cpuid_is_sync() local
38 cr4 = get_cr4(); in cr4_cpuid_is_sync()
40 return (!!(ecx & X86_FEATURE_OSXSAVE)) == (!!(cr4 & X86_CR4_OSXSAVE)); in cr4_cpuid_is_sync()
45 uint64_t cr4; in guest_code() local
48 cr4 = get_cr4(); in guest_code()
49 cr4 |= X86_CR4_OSXSAVE; in guest_code()
50 set_cr4(cr4); in guest_code()
100 sregs.cr4 &= ~X86_CR4_OSXSAVE; in main()
/kernel/linux/linux-5.10/drivers/misc/lkdtm/
H A Dbugs.c357 unsigned long cr4; in lkdtm_UNSET_SMEP() local
360 cr4 = native_read_cr4(); in lkdtm_UNSET_SMEP()
362 if ((cr4 & X86_CR4_SMEP) != X86_CR4_SMEP) { in lkdtm_UNSET_SMEP()
366 cr4 &= ~(X86_CR4_SMEP); in lkdtm_UNSET_SMEP()
369 native_write_cr4(cr4); in lkdtm_UNSET_SMEP()
370 if (cr4 == native_read_cr4()) { in lkdtm_UNSET_SMEP()
372 cr4 |= X86_CR4_SMEP; in lkdtm_UNSET_SMEP()
374 native_write_cr4(cr4); in lkdtm_UNSET_SMEP()
382 * cr4 write happens, skipping any pinning. This searches for in lkdtm_UNSET_SMEP()
383 * the cr4 writin in lkdtm_UNSET_SMEP()
[all...]
/kernel/linux/linux-6.6/arch/x86/kvm/
H A Dsmm.c30 CHECK_SMRAM32_OFFSET(cr4, 0xFF14); in check_smram_offsets()
96 CHECK_SMRAM64_OFFSET(cr4, 0xFF48); in check_smram_offsets()
222 smram->cr4 = kvm_read_cr4(vcpu); in enter_smm_save_state_32()
251 smram->cr4 = kvm_read_cr4(vcpu); in enter_smm_save_state_64()
423 u64 cr0, u64 cr3, u64 cr4) in rsm_enter_protected_mode()
430 if (cr4 & X86_CR4_PCIDE) { in rsm_enter_protected_mode()
444 bad = kvm_set_cr4(vcpu, cr4 & ~X86_CR4_PCIDE); in rsm_enter_protected_mode()
452 if (cr4 & X86_CR4_PCIDE) { in rsm_enter_protected_mode()
453 bad = kvm_set_cr4(vcpu, cr4); in rsm_enter_protected_mode()
507 smstate->cr3, smstate->cr4); in rsm_load_state_32()
422 rsm_enter_protected_mode(struct kvm_vcpu *vcpu, u64 cr0, u64 cr3, u64 cr4) rsm_enter_protected_mode() argument
599 unsigned long cr4; emulator_leave_smm() local
621 unsigned long cr4, efer; emulator_leave_smm() local
[all...]
/kernel/linux/linux-6.6/drivers/misc/lkdtm/
H A Dbugs.c501 unsigned long cr4; in lkdtm_UNSET_SMEP() local
504 cr4 = native_read_cr4(); in lkdtm_UNSET_SMEP()
506 if ((cr4 & X86_CR4_SMEP) != X86_CR4_SMEP) { in lkdtm_UNSET_SMEP()
510 cr4 &= ~(X86_CR4_SMEP); in lkdtm_UNSET_SMEP()
513 native_write_cr4(cr4); in lkdtm_UNSET_SMEP()
514 if (cr4 == native_read_cr4()) { in lkdtm_UNSET_SMEP()
516 cr4 |= X86_CR4_SMEP; in lkdtm_UNSET_SMEP()
518 native_write_cr4(cr4); in lkdtm_UNSET_SMEP()
526 * cr4 write happens, skipping any pinning. This searches for in lkdtm_UNSET_SMEP()
527 * the cr4 writin in lkdtm_UNSET_SMEP()
[all...]
/kernel/linux/linux-5.10/arch/x86/power/
H A Dhibernate_asm_32.S55 jecxz 1f # cr4 Pentium and higher, skip if zero
57 movl %ecx, %cr4; # turn off PGE
89 jecxz 1f # cr4 Pentium and higher, skip if zero
90 movl %ecx, %cr4; # turn PGE back on
H A Dcpu.c127 ctxt->cr4 = __read_cr4(); in __save_processor_state()
205 /* cr4 was introduced in the Pentium CPU */ in __restore_processor_state()
207 if (ctxt->cr4) in __restore_processor_state()
208 __write_cr4(ctxt->cr4); in __restore_processor_state()
212 __write_cr4(ctxt->cr4); in __restore_processor_state()
/kernel/linux/linux-6.6/arch/x86/kernel/cpu/mtrr/
H A Dcyrix.c135 static u32 cr4, ccr3; variable
143 cr4 = __read_cr4(); in prepare_set()
144 __write_cr4(cr4 & ~X86_CR4_PGE); in prepare_set()
176 __write_cr4(cr4); in post_set()
/kernel/linux/linux-6.6/arch/x86/power/
H A Dhibernate_asm_32.S55 jecxz 1f # cr4 Pentium and higher, skip if zero
57 movl %ecx, %cr4; # turn off PGE
89 jecxz 1f # cr4 Pentium and higher, skip if zero
90 movl %ecx, %cr4; # turn PGE back on
H A Dcpu.c126 ctxt->cr4 = __read_cr4(); in __save_processor_state()
204 /* cr4 was introduced in the Pentium CPU */ in __restore_processor_state()
206 if (ctxt->cr4) in __restore_processor_state()
207 __write_cr4(ctxt->cr4); in __restore_processor_state()
211 __write_cr4(ctxt->cr4); in __restore_processor_state()
/kernel/linux/linux-6.6/arch/x86/platform/pvh/
H A Dhead.S32 * - `cr4`: all bits are cleared.
74 mov %cr4, %eax
76 mov %eax, %cr4
133 mov %cr4, %eax
135 mov %eax, %cr4
/kernel/linux/linux-6.6/arch/x86/include/asm/
H A Dtlbflush.h129 unsigned long cr4; member
177 /* Initialize cr4 shadow for this CPU. */
180 this_cpu_write(cpu_tlbstate.cr4, __read_cr4()); in cr4_init_shadow()
422 static inline void __native_tlb_flush_global(unsigned long cr4) in __native_tlb_flush_global() argument
424 native_write_cr4(cr4 ^ X86_CR4_PGE); in __native_tlb_flush_global()
425 native_write_cr4(cr4); in __native_tlb_flush_global()
/kernel/linux/linux-5.10/arch/x86/platform/pvh/
H A Dhead.S31 * - `cr4`: all bits are cleared.
74 mov %cr4, %eax
76 mov %eax, %cr4
143 mov %cr4, %eax
145 mov %eax, %cr4
/kernel/linux/linux-5.10/arch/x86/kernel/cpu/mtrr/
H A Dcyrix.c135 static u32 cr4, ccr3; variable
143 cr4 = __read_cr4(); in prepare_set()
144 __write_cr4(cr4 & ~X86_CR4_PGE); in prepare_set()
176 __write_cr4(cr4); in post_set()
/kernel/linux/linux-6.6/arch/x86/kernel/
H A Drelocate_kernel_64.S71 movq %cr4, %rax
126 movq %cr4, %rax
128 movq %rax, %cr4
145 * Set cr4 to a known state:
154 movq %rax, %cr4
238 movq %rax, %cr4
H A Dprocess_32.c62 unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L; in __show_regs() local
83 cr4 = __read_cr4(); in __show_regs()
85 log_lvl, cr0, cr2, cr3, cr4); in __show_regs()
H A Dhead_64.S177 movq %cr4, %rcx
191 movq %rcx, %cr4
219 movq %cr4, %rcx
222 movq %rcx, %cr4
223 movq %rax, %cr4
/kernel/linux/linux-5.10/include/xen/interface/hvm/
H A Dhvm_vcpu.h42 uint32_t cr4; member
105 uint64_t cr4; member
/kernel/linux/linux-6.6/include/xen/interface/hvm/
H A Dhvm_vcpu.h25 uint32_t cr4; member
88 uint64_t cr4; member
/kernel/linux/linux-5.10/arch/x86/kernel/
H A Dprocess_32.c62 unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L; in __show_regs() local
86 cr4 = __read_cr4(); in __show_regs()
88 log_lvl, cr0, cr2, cr3, cr4); in __show_regs()
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/x86_64/
H A Dvmx.c121 unsigned long cr4; in prepare_for_vmx_operation() local
133 __asm__ __volatile__("mov %%cr4, %0" : "=r"(cr4) : : "memory"); in prepare_for_vmx_operation()
134 cr4 &= rdmsr(MSR_IA32_VMX_CR4_FIXED1); in prepare_for_vmx_operation()
135 cr4 |= rdmsr(MSR_IA32_VMX_CR4_FIXED0); in prepare_for_vmx_operation()
137 cr4 |= X86_CR4_VMXE; in prepare_for_vmx_operation()
138 __asm__ __volatile__("mov %0, %%cr4" : : "r"(cr4) : "memory"); in prepare_for_vmx_operation()
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/include/x86_64/
H A Dprocessor.h216 uint64_t cr4; in get_cr4() local
218 __asm__ __volatile__("mov %%cr4, %[cr4]" in get_cr4()
219 : /* output */ [cr4]"=r"(cr4)); in get_cr4()
220 return cr4; in get_cr4()
225 __asm__ __volatile__("mov %0, %%cr4" : : "r" (val) : "memory"); in set_cr4()

Completed in 12 milliseconds

123456