aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-03-20 00:46:01 +0000
committerUlrich Drepper <drepper@redhat.com>2000-03-20 00:46:01 +0000
commit460adbb8475bffc72e749fe841e737e18154b8f5 (patch)
tree540e228ac1a0ae5edc8bc0bfa4d65a034b357562 /sysdeps/unix/sysv/linux/i386
parent4cec02b2ba18a18203c2a0008de8d35f46f92de8 (diff)
downloadglibc-460adbb8475bffc72e749fe841e737e18154b8f5.tar
glibc-460adbb8475bffc72e749fe841e737e18154b8f5.tar.gz
glibc-460adbb8475bffc72e749fe841e737e18154b8f5.tar.bz2
glibc-460adbb8475bffc72e749fe841e737e18154b8f5.zip
Update comment about _SLOWDOWN flags.
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r--sysdeps/unix/sysv/linux/i386/sys/debugreg.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sys/debugreg.h b/sysdeps/unix/sysv/linux/i386/sys/debugreg.h
index 8aafd670b4..e2ca11e1e0 100644
--- a/sysdeps/unix/sysv/linux/i386/sys/debugreg.h
+++ b/sysdeps/unix/sysv/linux/i386/sys/debugreg.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -71,8 +71,18 @@
#define DR_GLOBAL_ENABLE_MASK (0xAA) /* Set global bits for all 4 regs */
/* The second byte to the control register has a few special things.
- We can slow the instruction pipeline for instructions coming via the
- gdt or the ldt if we want to. I am not sure why this is an advantage */
+
+ On the i386, you should set the DR_LOCAL_SLOWDOWN or
+ DR_GLOBAL_SLOWDOWN bits if you want to know exactly which
+ instruction triggered the watchpoint. Setting these bits causes
+ the processor to run more slowly, but leaving them clear makes it
+ treat watchpoint hits as imprecise exceptions, so you can't
+ reliably determine which instruction caused the hit.
+
+ The i486 and all later IA-32 processors ignore DR_LOCAL_SLOWDOWN
+ and DR_GLOBAL_SLOWDOWN. They always report the exception
+ precisely, except in some rare cases, which the user can't do
+ anything about. */
#define DR_CONTROL_RESERVED (0xFC00) /* Reserved by Intel */
#define DR_LOCAL_SLOWDOWN (0x100) /* Local slow the pipeline */