Use hypercalls instead of accessing debug registers directly.
Signed-off-by: Jun Nakajima <jun.nakajima@xxxxxxxxx>
Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>
--- a/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/traps.c Wed Jul 6
23:44:28 2005
+++ b/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/traps.c Thu Jul 7
14:38:19 2005
@@ -666,7 +666,7 @@
}
#endif
- asm("movq %%db6,%0" : "=r" (condition));
+ condition = HYPERVISOR_get_debugreg(6);
if (notify_die(DIE_DEBUG, "debug", regs, condition, error_code,
SIGTRAP) == NOTIFY_STOP) {
@@ -714,7 +714,8 @@
info.si_addr = (void __user *)regs->rip;
force_sig_info(SIGTRAP, &info, tsk);
clear_dr7:
- asm volatile("movq %0,%%db7"::"r"(0UL));
+ HYPERVISOR_set_debugreg(7, 0);
+
notify_die(DIE_DEBUG, "debug", regs, condition, 1, SIGTRAP);
return regs;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|