| /Linux-v5.15/arch/x86/include/asm/ |
| D | debugreg.h | 97 unsigned long dr7; in local_db_save() local 102 get_debugreg(dr7, 7); in local_db_save() 103 dr7 &= ~0x400; /* architecturally set bit */ in local_db_save() 104 if (dr7) in local_db_save() 113 return dr7; in local_db_save() 116 static __always_inline void local_db_restore(unsigned long dr7) in local_db_restore() argument 124 if (dr7) in local_db_restore() 125 set_debugreg(dr7, 7); in local_db_restore()
|
| D | hw_breakpoint.h | 73 int decode_dr7(unsigned long dr7, int bpnum, unsigned *len, unsigned *type);
|
| D | svm.h | 250 u64 dr7; member
|
| D | kvm_host.h | 786 unsigned long dr7; member
|
| /Linux-v5.15/arch/x86/kernel/ |
| D | hw_breakpoint.c | 77 int decode_dr7(unsigned long dr7, int bpnum, unsigned *len, unsigned *type) in decode_dr7() argument 79 int bp_info = dr7 >> (DR_CONTROL_SHIFT + bpnum * DR_CONTROL_SIZE); in decode_dr7() 84 return (dr7 >> (bpnum * DR_ENABLE_SIZE)) & 0x3; in decode_dr7() 99 unsigned long *dr7; in arch_install_hw_breakpoint() local 119 dr7 = this_cpu_ptr(&cpu_dr7); in arch_install_hw_breakpoint() 120 *dr7 |= encode_dr7(i, info->len, info->type); in arch_install_hw_breakpoint() 128 set_debugreg(*dr7, 7); in arch_install_hw_breakpoint() 147 unsigned long dr7; in arch_uninstall_hw_breakpoint() local 164 dr7 = this_cpu_read(cpu_dr7); in arch_uninstall_hw_breakpoint() 165 dr7 &= ~__encode_dr7(i, info->len, info->type); in arch_uninstall_hw_breakpoint() [all …]
|
| D | traps.c | 862 unsigned long dr7 = local_db_save(); in exc_debug_kernel() local 919 local_db_restore(dr7); in exc_debug_kernel()
|
| D | ptrace.c | 479 int dr7 = 0; in ptrace_get_dr7() local 485 dr7 |= encode_dr7(i, info->len, info->type); in ptrace_get_dr7() 489 return dr7; in ptrace_get_dr7()
|
| D | sev.c | 89 unsigned long dr7; member 1125 data->dr7 = val; in vc_handle_dr7_write() 1140 *reg = data->dr7; in vc_handle_dr7_read()
|
| /Linux-v5.15/tools/perf/arch/x86/tests/ |
| D | bp-modify.c | 63 unsigned long rip = 0, dr7 = 1; in bp_modify1() local 96 offsetof(struct user, u_debugreg[7]), dr7)) { in bp_modify1() 140 unsigned long rip = 0, dr7 = 1; in bp_modify2() local 166 offsetof(struct user, u_debugreg[7]), dr7)) { in bp_modify2()
|
| /Linux-v5.15/tools/testing/selftests/x86/ |
| D | mov_ss_trap.c | 64 unsigned long dr0, dr1, dr7; in enable_watchpoint() local 68 dr7 = ((1UL << 1) | /* G0 */ in enable_watchpoint() 85 if (ptrace(PTRACE_POKEUSER, parent, (void *)offsetof(struct user, u_debugreg[7]), dr7) != 0) in enable_watchpoint() 88 printf("\tDR0 = %lx, DR1 = %lx, DR7 = %lx\n", dr0, dr1, dr7); in enable_watchpoint()
|
| /Linux-v5.15/tools/testing/selftests/breakpoints/ |
| D | breakpoint_test.c | 59 unsigned long vdr7, dr7; in toggle_breakpoint() local 88 dr7 = ptrace(PTRACE_PEEKUSER, child_pid, in toggle_breakpoint() 104 dr7 |= vdr7; in toggle_breakpoint() 106 dr7 &= ~vdr7; in toggle_breakpoint() 109 offsetof(struct user, u_debugreg[7]), dr7); in toggle_breakpoint()
|
| /Linux-v5.15/arch/x86/kernel/cpu/mce/ |
| D | core.c | 2064 unsigned long dr7; in DEFINE_IDTENTRY_MCE() local 2066 dr7 = local_db_save(); in DEFINE_IDTENTRY_MCE() 2068 local_db_restore(dr7); in DEFINE_IDTENTRY_MCE() 2074 unsigned long dr7; in DEFINE_IDTENTRY_MCE_USER() local 2076 dr7 = local_db_save(); in DEFINE_IDTENTRY_MCE_USER() 2078 local_db_restore(dr7); in DEFINE_IDTENTRY_MCE_USER() 2084 unsigned long dr7; in DEFINE_IDTENTRY_RAW() local 2086 dr7 = local_db_save(); in DEFINE_IDTENTRY_RAW() 2091 local_db_restore(dr7); in DEFINE_IDTENTRY_RAW()
|
| /Linux-v5.15/arch/x86/kvm/svm/ |
| D | nested.c | 302 if (CC(!kvm_dr6_valid(save->dr6)) || CC(!kvm_dr7_valid(save->dr7))) in nested_vmcb_valid_sregs() 501 svm->vmcb->save.dr7 = vmcb12->save.dr7 | DR7_FIXED_1; in nested_vmcb02_prepare_save() 792 vmcb12->save.dr7 = vmcb->save.dr7; in nested_svm_vmexit() 848 svm->vcpu.arch.dr7 = DR7_FIXED_1; in nested_svm_vmexit() 1116 if (svm->vcpu.arch.dr7 & DR7_GD) { in nested_svm_inject_exception_vmexit() 1117 svm->vcpu.arch.dr7 &= ~DR7_GD; in nested_svm_inject_exception_vmexit()
|
| D | svm.c | 1872 vcpu->arch.dr7 = svm->vmcb->save.dr7; in svm_sync_dirty_debug_regs() 1884 svm->vmcb->save.dr7 = value; in svm_set_dr7() 1938 kvm_run->debug.arch.dr7 = svm->vmcb->save.dr7; in db_interception() 3219 "dr6:", save->dr6, "dr7:", save->dr7); in dump_vmcb()
|
| D | sev.c | 557 if (svm->vcpu.guest_debug || (save->dr7 & ~DR7_FIXED_1)) in sev_es_sync_vmsa()
|
| /Linux-v5.15/arch/x86/include/uapi/asm/ |
| D | kvm.h | 291 __u64 dr7; member 371 __u64 dr7; member
|
| /Linux-v5.15/tools/arch/x86/include/uapi/asm/ |
| D | kvm.h | 291 __u64 dr7; member 371 __u64 dr7; member
|
| /Linux-v5.15/tools/testing/selftests/kvm/lib/x86_64/ |
| D | svm.c | 88 asm volatile ("mov %%dr7, %0" : "=r"(save->dr7) : : "memory"); in generic_svm_setup()
|
| /Linux-v5.15/tools/testing/selftests/kvm/include/x86_64/ |
| D | svm.h | 183 u64 dr7; member
|
| /Linux-v5.15/arch/x86/kvm/ |
| D | x86.c | 1194 unsigned long dr7; in kvm_update_dr7() local 1197 dr7 = vcpu->arch.guest_debug_dr7; in kvm_update_dr7() 1199 dr7 = vcpu->arch.dr7; in kvm_update_dr7() 1200 static_call(kvm_x86_set_dr7)(vcpu, dr7); in kvm_update_dr7() 1202 if (dr7 & DR7_BP_EN_MASK) in kvm_update_dr7() 1239 vcpu->arch.dr7 = (val & DR7_VOLATILE) | DR7_FIXED_1; in kvm_set_dr() 1262 *val = vcpu->arch.dr7; in kvm_get_dr() 4678 dbgregs->dr7 = vcpu->arch.dr7; in kvm_vcpu_ioctl_x86_get_debugregs() 4691 if (!kvm_dr7_valid(dbgregs->dr7)) in kvm_vcpu_ioctl_x86_set_debugregs() 4697 vcpu->arch.dr7 = dbgregs->dr7; in kvm_vcpu_ioctl_x86_set_debugregs() [all …]
|
| D | emulate.c | 3211 ulong desc_addr, dr7; in emulator_do_task_switch() local 3296 ops->get_dr(ctxt, 7, &dr7); in emulator_do_task_switch() 3297 ops->set_dr(ctxt, 7, dr7 & ~(DR_LOCAL_ENABLE_MASK | DR_LOCAL_SLOWDOWN)); in emulator_do_task_switch() 4136 unsigned long dr7; in check_dr7_gd() local 4138 ctxt->ops->get_dr(ctxt, 7, &dr7); in check_dr7_gd() 4141 return dr7 & (1 << 13); in check_dr7_gd()
|
| /Linux-v5.15/arch/x86/kvm/vmx/ |
| D | vmx.c | 4843 kvm_run->debug.arch.dr7 = vmcs_readl(GUEST_DR7); in handle_exception_nmi() 5065 int dr, dr7, reg; in handle_dr() local 5078 dr7 = vmcs_readl(GUEST_DR7); in handle_dr() 5079 if (dr7 & DR7_GD) { in handle_dr() 5087 vcpu->run->debug.arch.dr7 = dr7; in handle_dr() 5132 vcpu->arch.dr7 = vmcs_readl(GUEST_DR7); in vmx_sync_dirty_debug_regs()
|
| D | nested.c | 2522 kvm_set_dr(vcpu, 7, vcpu->arch.dr7); in prepare_vmcs02()
|
| /Linux-v5.15/Documentation/virt/kvm/ |
| D | api.rst | 1233 __u64 dr7;
|