Lines Matching refs:dr6

1026 	unsigned long dr6;  in debug_read_clear_dr6()  local
1039 get_debugreg(dr6, 6); in debug_read_clear_dr6()
1041 dr6 ^= DR6_RESERVED; /* Flip to positive polarity */ in debug_read_clear_dr6()
1043 return dr6; in debug_read_clear_dr6()
1071 static bool notify_debug(struct pt_regs *regs, unsigned long *dr6) in notify_debug() argument
1080 if (notify_die(DIE_DEBUG, "debug", regs, (long)dr6, 0, SIGTRAP) == NOTIFY_STOP) in notify_debug()
1086 static noinstr void exc_debug_kernel(struct pt_regs *regs, unsigned long dr6) in exc_debug_kernel() argument
1133 (dr6 & DR_STEP) && is_sysenter_singlestep(regs)) in exc_debug_kernel()
1134 dr6 &= ~DR_STEP; in exc_debug_kernel()
1139 if (!dr6) in exc_debug_kernel()
1142 if (notify_debug(regs, &dr6)) in exc_debug_kernel()
1156 if (WARN_ON_ONCE(dr6 & DR_STEP)) in exc_debug_kernel()
1165 static noinstr void exc_debug_user(struct pt_regs *regs, unsigned long dr6) in exc_debug_user() argument
1194 current->thread.virtual_dr6 = (dr6 & DR_STEP); in exc_debug_user()
1208 icebp = !dr6; in exc_debug_user()
1210 if (notify_debug(regs, &dr6)) in exc_debug_user()
1222 if (dr6 & DR_BUS_LOCK) in exc_debug_user()
1226 dr6 |= current->thread.virtual_dr6; in exc_debug_user()
1227 if (dr6 & (DR_STEP | DR_TRAP_BITS) || icebp) in exc_debug_user()
1228 send_sigtrap(regs, 0, get_si_code(dr6)); in exc_debug_user()
1268 unsigned long dr6 = fred_event_data(regs); in DEFINE_FREDENTRY_DEBUG() local
1271 exc_debug_user(regs, dr6); in DEFINE_FREDENTRY_DEBUG()
1273 exc_debug_kernel(regs, dr6); in DEFINE_FREDENTRY_DEBUG()
1281 unsigned long dr6 = debug_read_clear_dr6(); in DEFINE_IDTENTRY_RAW() local
1284 exc_debug_user(regs, dr6); in DEFINE_IDTENTRY_RAW()
1286 exc_debug_kernel(regs, dr6); in DEFINE_IDTENTRY_RAW()