/openbmc/qemu/target/i386/tcg/sysemu/ |
H A D | bpt_helper.c | 27 static inline bool hw_local_breakpoint_enabled(unsigned long dr7, int index) in hw_local_breakpoint_enabled() argument 29 return (dr7 >> (index * 2)) & 1; in hw_local_breakpoint_enabled() 32 static inline bool hw_global_breakpoint_enabled(unsigned long dr7, int index) in hw_global_breakpoint_enabled() argument 34 return (dr7 >> (index * 2)) & 2; in hw_global_breakpoint_enabled() 37 static inline bool hw_breakpoint_enabled(unsigned long dr7, int index) in hw_breakpoint_enabled() argument 39 return hw_global_breakpoint_enabled(dr7, index) || in hw_breakpoint_enabled() 40 hw_local_breakpoint_enabled(dr7, index); in hw_breakpoint_enabled() 43 static inline int hw_breakpoint_type(unsigned long dr7, int index) in hw_breakpoint_type() argument 45 return (dr7 >> (DR7_TYPE_SHIFT + (index * 4))) & 3; in hw_breakpoint_type() 48 static inline int hw_breakpoint_len(unsigned long dr7, int index) in hw_breakpoint_len() argument [all …]
|
H A D | svm_helper.c | 208 env->vm_hsave + offsetof(struct vmcb, save.dr7), env->dr[7]); in helper_vmrun() 374 new_dr7 = x86_ldq_phys(cs, env->vm_vmcb + offsetof(struct vmcb, save.dr7)); in helper_vmrun() 814 env->vm_vmcb + offsetof(struct vmcb, save.dr7), env->dr[7]); in do_vmexit() 897 env->vm_hsave + offsetof(struct vmcb, save.dr7)) & ~0xff); in do_vmexit()
|
/openbmc/linux/arch/x86/include/asm/ |
H A D | debugreg.h | 119 unsigned long dr7; in local_db_save() local 124 get_debugreg(dr7, 7); in local_db_save() 125 dr7 &= ~0x400; /* architecturally set bit */ in local_db_save() 126 if (dr7) in local_db_save() 135 return dr7; in local_db_save() 138 static __always_inline void local_db_restore(unsigned long dr7) in local_db_restore() argument 146 if (dr7) in local_db_restore() 147 set_debugreg(dr7, 7); in local_db_restore()
|
H A D | hw_breakpoint.h | 70 int decode_dr7(unsigned long dr7, int bpnum, unsigned *len, unsigned *type);
|
H A D | svm.h | 323 u64 dr7; member 380 u64 dr7; member 469 u64 dr7; member
|
/openbmc/linux/arch/x86/kernel/ |
H A 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 …]
|
H A D | ptrace.c | 498 int dr7 = 0; in ptrace_get_dr7() local 504 dr7 |= encode_dr7(i, info->len, info->type); in ptrace_get_dr7() 508 return dr7; in ptrace_get_dr7()
|
H A D | sev.c | 110 unsigned long dr7; member 1037 vmsa->dr7 = DR7_RESET_VALUE; in wakeup_cpu_via_vmgexit() 1627 data->dr7 = val; in vc_handle_dr7_write() 1645 *reg = data->dr7; in vc_handle_dr7_read()
|
H A D | traps.c | 1000 unsigned long dr7 = local_db_save(); in exc_debug_kernel() local 1057 local_db_restore(dr7); in exc_debug_kernel()
|
/openbmc/linux/tools/perf/arch/x86/tests/ |
H A 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()
|
/openbmc/linux/tools/testing/selftests/breakpoints/ |
H A 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()
|
/openbmc/linux/tools/testing/selftests/x86/ |
H A 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()
|
/openbmc/linux/arch/x86/kvm/ |
H A D | smm.h | 59 u32 dr7; member 130 u64 dr7; member
|
H A D | smm.c | 52 CHECK_SMRAM32_OFFSET(dr7, 0xFFC8); in check_smram_offsets() 99 CHECK_SMRAM64_OFFSET(dr7, 0xFF60); in check_smram_offsets() 201 smram->dr7 = (u32)val; in enter_smm_save_state_32() 247 smram->dr7 = val; in enter_smm_save_state_64() 482 if (kvm_set_dr(vcpu, 7, smstate->dr7)) in rsm_load_state_32() 534 if (kvm_set_dr(vcpu, 7, smstate->dr7)) in rsm_load_state_64()
|
H A D | x86.c | 1348 unsigned long dr7; in kvm_update_dr7() local 1351 dr7 = vcpu->arch.guest_debug_dr7; in kvm_update_dr7() 1353 dr7 = vcpu->arch.dr7; in kvm_update_dr7() 1354 static_call(kvm_x86_set_dr7)(vcpu, dr7); in kvm_update_dr7() 1356 if (dr7 & DR7_BP_EN_MASK) in kvm_update_dr7() 1393 vcpu->arch.dr7 = (val & DR7_VOLATILE) | DR7_FIXED_1; in kvm_set_dr() 1416 *val = vcpu->arch.dr7; in kvm_get_dr() 5368 dbgregs->dr7 = vcpu->arch.dr7; in kvm_vcpu_ioctl_x86_get_debugregs() 5379 if (!kvm_dr7_valid(dbgregs->dr7)) in kvm_vcpu_ioctl_x86_set_debugregs() 5385 vcpu->arch.dr7 = dbgregs->dr7; in kvm_vcpu_ioctl_x86_set_debugregs() [all …]
|
/openbmc/linux/arch/x86/kvm/svm/ |
H A D | nested.c | 292 if (CC(!kvm_dr6_valid(save->dr6)) || CC(!kvm_dr7_valid(save->dr7))) in __nested_vmcb_check_save() 397 to->dr7 = from->dr7; in __nested_copy_vmcb_save_to_cache() 590 vmcb02->save.dr7 = svm->nested.save.dr7 | DR7_FIXED_1; in nested_vmcb02_prepare_save() 1014 vmcb12->save.dr7 = vmcb02->save.dr7; in nested_svm_vmexit() 1121 svm->vcpu.arch.dr7 = DR7_FIXED_1; in nested_svm_vmexit() 1407 if (vcpu->arch.dr7 & DR7_GD) { in nested_svm_inject_exception_vmexit() 1408 vcpu->arch.dr7 &= ~DR7_GD; in nested_svm_inject_exception_vmexit()
|
H A D | svm.h | 122 u64 dr7; member
|
/openbmc/linux/arch/x86/kernel/cpu/mce/ |
H A D | core.c | 2147 unsigned long dr7; in DEFINE_IDTENTRY_MCE() local 2149 dr7 = local_db_save(); in DEFINE_IDTENTRY_MCE() 2151 local_db_restore(dr7); in DEFINE_IDTENTRY_MCE() 2157 unsigned long dr7; in DEFINE_IDTENTRY_MCE_USER() local 2159 dr7 = local_db_save(); in DEFINE_IDTENTRY_MCE_USER() 2161 local_db_restore(dr7); in DEFINE_IDTENTRY_MCE_USER() 2167 unsigned long dr7; in DEFINE_IDTENTRY_RAW() local 2169 dr7 = local_db_save(); in DEFINE_IDTENTRY_RAW() 2174 local_db_restore(dr7); in DEFINE_IDTENTRY_RAW()
|
/openbmc/linux/tools/arch/x86/include/uapi/asm/ |
H A D | kvm.h | 289 __u64 dr7; member 374 __u64 dr7; member
|
/openbmc/linux/arch/x86/include/uapi/asm/ |
H A D | kvm.h | 289 __u64 dr7; member 374 __u64 dr7; member
|
/openbmc/linux/tools/testing/selftests/kvm/lib/x86_64/ |
H A D | svm.c | 94 asm volatile ("mov %%dr7, %0" : "=r"(save->dr7) : : "memory"); in generic_svm_setup()
|
/openbmc/qemu/target/i386/ |
H A D | svm.h | 210 uint64_t dr7; member
|
H A D | machine.c | 391 target_ulong dr7; in cpu_post_load() local 400 dr7 = env->dr[7]; in cpu_post_load() 401 env->dr[7] = dr7 & ~(DR7_GLOBAL_BP_MASK | DR7_LOCAL_BP_MASK); in cpu_post_load() 402 cpu_x86_update_dr7(env, dr7); in cpu_post_load()
|
/openbmc/qemu/linux-headers/asm-x86/ |
H A D | kvm.h | 288 __u64 dr7; member 373 __u64 dr7; member
|
/openbmc/linux/tools/testing/selftests/kvm/include/x86_64/ |
H A D | svm.h | 214 u64 dr7; member
|