Home
last modified time | relevance | path

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

12

/kernel/linux/linux-5.10/arch/x86/kernel/
H A Dtraps.c815 unsigned long dr6; in debug_read_clear_dr6() local
828 get_debugreg(dr6, 6); in debug_read_clear_dr6()
830 dr6 ^= DR6_RESERVED; /* Flip to positive polarity */ in debug_read_clear_dr6()
832 return dr6; in debug_read_clear_dr6()
860 static bool notify_debug(struct pt_regs *regs, unsigned long *dr6) in notify_debug() argument
863 * Notifiers will clear bits in @dr6 to indicate the event has been in notify_debug()
869 if (notify_die(DIE_DEBUG, "debug", regs, (long)dr6, 0, SIGTRAP) == NOTIFY_STOP) in notify_debug()
876 unsigned long dr6) in exc_debug_kernel()
917 if ((dr6 & DR_STEP) && is_sysenter_singlestep(regs)) in exc_debug_kernel()
918 dr6 in exc_debug_kernel()
875 exc_debug_kernel(struct pt_regs *regs, unsigned long dr6) exc_debug_kernel() argument
949 exc_debug_user(struct pt_regs *regs, unsigned long dr6) exc_debug_user() argument
1034 unsigned long dr6 = debug_read_clear_dr6(); DEFINE_IDTENTRY_RAW() local
[all...]
H A Dhw_breakpoint.c515 unsigned long dr6; in hw_breakpoint_handler() local
520 dr6 = *dr6_p; in hw_breakpoint_handler()
523 if ((dr6 & DR_TRAP_BITS) == 0) in hw_breakpoint_handler()
528 if (likely(!(dr6 & (DR_TRAP0 << i)))) in hw_breakpoint_handler()
546 if (bpx && (dr6 & DR_STEP)) in hw_breakpoint_handler()
550 * Reset the 'i'th TRAP bit in dr6 to denote completion of in hw_breakpoint_handler()
571 (dr6 & (~DR_TRAP_BITS))) in hw_breakpoint_handler()
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/x86_64/
H A Ddebug_regs.c116 run->debug.arch.dr6 == target_dr6, in main()
118 "(should be 0x%llx) dr6 0x%llx (should be 0x%llx)", in main()
121 run->debug.arch.dr6, target_dr6); in main()
139 run->debug.arch.dr6 == target_dr6, in main()
141 "(should be 0x%llx) dr6 0x%llx (should be 0x%llx)", in main()
144 run->debug.arch.dr6, target_dr6); in main()
165 run->debug.arch.dr6 == target_dr6, in main()
167 "(should be 0x%llx) dr6 0x%llx (should be 0x%llx)", in main()
169 run->debug.arch.pc, target_rip, run->debug.arch.dr6, in main()
183 run->debug.arch.dr6 in main()
[all...]
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/x86_64/
H A Ddebug_regs.c128 run->debug.arch.dr6 == target_dr6, in main()
130 "(should be 0x%llx) dr6 0x%llx (should be 0x%llx)", in main()
133 run->debug.arch.dr6, target_dr6); in main()
151 run->debug.arch.dr6 == target_dr6, in main()
153 "(should be 0x%llx) dr6 0x%llx (should be 0x%llx)", in main()
156 run->debug.arch.dr6, target_dr6); in main()
177 run->debug.arch.dr6 == target_dr6, in main()
179 "(should be 0x%llx) dr6 0x%llx (should be 0x%llx)", in main()
181 run->debug.arch.pc, target_rip, run->debug.arch.dr6, in main()
195 run->debug.arch.dr6 in main()
[all...]
/kernel/linux/linux-6.6/arch/x86/kernel/
H A Dtraps.c877 unsigned long dr6; in debug_read_clear_dr6() local
890 get_debugreg(dr6, 6); in debug_read_clear_dr6()
892 dr6 ^= DR6_RESERVED; /* Flip to positive polarity */ in debug_read_clear_dr6()
894 return dr6; in debug_read_clear_dr6()
922 static bool notify_debug(struct pt_regs *regs, unsigned long *dr6) in notify_debug() argument
925 * Notifiers will clear bits in @dr6 to indicate the event has been in notify_debug()
931 if (notify_die(DIE_DEBUG, "debug", regs, (long)dr6, 0, SIGTRAP) == NOTIFY_STOP) in notify_debug()
938 unsigned long dr6) in exc_debug_kernel()
979 if ((dr6 & DR_STEP) && is_sysenter_singlestep(regs)) in exc_debug_kernel()
980 dr6 in exc_debug_kernel()
937 exc_debug_kernel(struct pt_regs *regs, unsigned long dr6) exc_debug_kernel() argument
1011 exc_debug_user(struct pt_regs *regs, unsigned long dr6) exc_debug_user() argument
1100 unsigned long dr6 = debug_read_clear_dr6(); DEFINE_IDTENTRY_RAW() local
[all...]
H A Dhw_breakpoint.c515 unsigned long dr6; in hw_breakpoint_handler() local
520 dr6 = *dr6_p; in hw_breakpoint_handler()
523 if ((dr6 & DR_TRAP_BITS) == 0) in hw_breakpoint_handler()
528 if (likely(!(dr6 & (DR_TRAP0 << i)))) in hw_breakpoint_handler()
546 if (bpx && (dr6 & DR_STEP)) in hw_breakpoint_handler()
550 * Reset the 'i'th TRAP bit in dr6 to denote completion of in hw_breakpoint_handler()
571 (dr6 & (~DR_TRAP_BITS))) in hw_breakpoint_handler()
/kernel/linux/linux-6.6/arch/x86/kvm/
H A Dsmm.h60 u32 dr6; member
131 u64 dr6; member
H A Dsmm.c53 CHECK_SMRAM32_OFFSET(dr6, 0xFFCC); in check_smram_offsets()
100 CHECK_SMRAM64_OFFSET(dr6, 0xFF68); in check_smram_offsets()
199 smram->dr6 = (u32)val; in enter_smm_save_state_32()
245 smram->dr6 = val; in enter_smm_save_state_64()
480 if (kvm_set_dr(vcpu, 6, smstate->dr6)) in rsm_load_state_32()
532 if (kvm_set_dr(vcpu, 6, smstate->dr6)) in rsm_load_state_64()
H A Dx86.c586 vcpu->arch.dr6 &= ~DR_TRAP_BITS; in kvm_deliver_exception_payload()
589 * dr6, three components need to be considered: active low in kvm_deliver_exception_payload()
593 * In the target guest dr6: in kvm_deliver_exception_payload()
603 vcpu->arch.dr6 |= DR6_ACTIVE_LOW; in kvm_deliver_exception_payload()
604 vcpu->arch.dr6 |= ex->payload; in kvm_deliver_exception_payload()
605 vcpu->arch.dr6 ^= ex->payload & DR6_ACTIVE_LOW; in kvm_deliver_exception_payload()
613 vcpu->arch.dr6 &= ~BIT(12); in kvm_deliver_exception_payload()
1387 vcpu->arch.dr6 = (val & DR6_VOLATILE) | kvm_dr6_fixed(vcpu); in kvm_set_dr()
1412 *val = vcpu->arch.dr6; in kvm_get_dr()
5367 dbgregs->dr6 in kvm_vcpu_ioctl_x86_get_debugregs()
8699 u32 dr6 = 0; kvm_vcpu_check_hw_bp() local
8795 u32 dr6 = kvm_vcpu_check_hw_bp(eip, 0, kvm_vcpu_check_code_breakpoint() local
8812 u32 dr6 = kvm_vcpu_check_hw_bp(eip, 0, kvm_vcpu_check_code_breakpoint() local
[all...]
/kernel/linux/linux-5.10/arch/x86/include/uapi/asm/
H A Dkvm.h275 __u64 dr6; member
354 __u64 dr6; member
/kernel/linux/linux-5.10/tools/arch/x86/include/uapi/asm/
H A Dkvm.h275 __u64 dr6; member
354 __u64 dr6; member
/kernel/linux/patches/linux-6.6/prebuilts/usr/include/asm-x86/asm/
H A Dkvm.h240 __u64 dr6; member
304 __u64 dr6; member
/kernel/linux/patches/linux-5.10/prebuilts/usr/include/asm-x86/asm/
H A Dkvm.h240 __u64 dr6; member
304 __u64 dr6; member
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/lib/x86_64/
H A Dsvm.c104 asm volatile ("mov %%dr6, %0" : "=r"(save->dr6) : : "memory"); in generic_svm_setup()
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/lib/x86_64/
H A Dsvm.c95 asm volatile ("mov %%dr6, %0" : "=r"(save->dr6) : : "memory"); in generic_svm_setup()
/kernel/linux/linux-6.6/arch/x86/kvm/svm/
H A Dnested.c288 if (CC(!kvm_dr6_valid(save->dr6)) || CC(!kvm_dr7_valid(save->dr7))) in __nested_vmcb_check_save()
392 to->dr6 = from->dr6; in __nested_copy_vmcb_save_to_cache()
587 svm->vcpu.arch.dr6 = svm->nested.save.dr6 | DR6_ACTIVE_LOW; in nested_vmcb02_prepare_save()
1011 vmcb12->save.dr6 = svm->vcpu.arch.dr6; in nested_svm_vmexit()
/kernel/linux/linux-6.6/arch/x86/include/uapi/asm/
H A Dkvm.h288 __u64 dr6; member
373 __u64 dr6; member
/kernel/linux/linux-6.6/tools/arch/x86/include/uapi/asm/
H A Dkvm.h288 __u64 dr6; member
373 __u64 dr6; member
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/include/x86_64/
H A Dsvm.h184 u64 dr6; member
/kernel/linux/linux-6.6/tools/testing/selftests/kvm/include/x86_64/
H A Dsvm.h215 u64 dr6; member
/kernel/linux/linux-5.10/arch/x86/kvm/svm/
H A Dsvm.c1191 save->dr6 = 0xffff0ff0; in init_vmcb()
1774 if (unlikely(value != vmcb->save.dr6)) { in svm_set_dr6()
1775 vmcb->save.dr6 = value; in svm_set_dr6()
1789 * We cannot reset svm->vmcb->save.dr6 to DR6_FIXED_1|DR6_RTM here, in svm_sync_dirty_debug_regs()
1792 vcpu->arch.dr6 = svm->vmcb->save.dr6; in svm_sync_dirty_debug_regs()
1837 u32 payload = (svm->vmcb->save.dr6 ^ DR6_RTM) & ~DR6_FIXED_1; in db_interception()
1851 kvm_run->debug.arch.dr6 = svm->vmcb->save.dr6; in db_interception()
3040 "dr6 in dump_vmcb()
[all...]
H A Dnested.c270 if (!kvm_dr6_valid(vmcb12->save.dr6) || !kvm_dr7_valid(vmcb12->save.dr7)) in nested_vmcb_check_save()
429 svm->vcpu.arch.dr6 = vmcb12->save.dr6; in nested_prepare_vmcb_save()
659 vmcb12->save.dr6 = svm->vcpu.arch.dr6; in nested_svm_vmexit()
/kernel/linux/linux-6.6/arch/x86/include/asm/
H A Dsvm.h324 u64 dr6; member
381 u64 dr6; member
/kernel/linux/linux-5.10/arch/x86/kvm/
H A Dx86.c508 vcpu->arch.dr6 &= ~DR_TRAP_BITS; in kvm_deliver_exception_payload()
512 vcpu->arch.dr6 |= DR6_RTM; in kvm_deliver_exception_payload()
513 vcpu->arch.dr6 |= payload; in kvm_deliver_exception_payload()
522 vcpu->arch.dr6 ^= payload & DR6_RTM; in kvm_deliver_exception_payload()
530 vcpu->arch.dr6 &= ~BIT(12); in kvm_deliver_exception_payload()
1153 vcpu->arch.dr6 = (val & DR6_VOLATILE) | kvm_dr6_fixed(vcpu); in __kvm_set_dr()
1187 *val = vcpu->arch.dr6; in kvm_get_dr()
4173 * If userspace has set any breakpoints or watchpoints, dr6 is restored in kvm_arch_vcpu_put()
4174 * on every vmexit, but if not, we might have a stale dr6 from the in kvm_arch_vcpu_put()
4175 * guest. do_debug expects dr6 t in kvm_arch_vcpu_put()
7419 u32 dr6 = 0; kvm_vcpu_check_hw_bp() local
7475 u32 dr6 = kvm_vcpu_check_hw_bp(eip, 0, kvm_vcpu_check_code_breakpoint() local
7492 u32 dr6 = kvm_vcpu_check_hw_bp(eip, 0, kvm_vcpu_check_code_breakpoint() local
[all...]
/kernel/linux/linux-5.10/arch/x86/include/asm/
H A Dsvm.h230 u64 dr6; member

Completed in 45 milliseconds

12