summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/reg.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-10-20 20:48:56 +0000
committerphk <phk@FreeBSD.org>2002-10-20 20:48:56 +0000
commit6c70e7ba980490dd092e728144518733eed32383 (patch)
tree29705437a18964f97f13741d64accd7bfd02312e /sys/amd64/include/reg.h
parent12498a44e8c16d95cbc864868ba0699d0ab3387f (diff)
downloadFreeBSD-src-6c70e7ba980490dd092e728144518733eed32383.zip
FreeBSD-src-6c70e7ba980490dd092e728144518733eed32383.tar.gz
Change the definition of the debugging registers to be an array, so
that we can index into it, rather than do pointer gymnastics on a structure containing 8 elements. Verified by: MD5 hash on the produced .o files.
Diffstat (limited to 'sys/amd64/include/reg.h')
-rw-r--r--sys/amd64/include/reg.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/sys/amd64/include/reg.h b/sys/amd64/include/reg.h
index a900a9d..848c8fe 100644
--- a/sys/amd64/include/reg.h
+++ b/sys/amd64/include/reg.h
@@ -122,20 +122,17 @@ struct fpreg {
* Register set accessible via /proc/$pid/dbregs.
*/
struct dbreg {
- unsigned int dr0; /* debug address register 0 */
- unsigned int dr1; /* debug address register 1 */
- unsigned int dr2; /* debug address register 2 */
- unsigned int dr3; /* debug address register 3 */
- unsigned int dr4; /* reserved */
- unsigned int dr5; /* reserved */
- unsigned int dr6; /* debug status register */
- unsigned int dr7; /* debug control register */
+ unsigned int dr[8]; /* debug registers */
+ /* Index 0-3: debug address registers */
+ /* Index 4-5: reserved */
+ /* Index 6: debug status */
+ /* Index 7: debug control */
};
#define DBREG_DR7_EXEC 0x00 /* break on execute */
#define DBREG_DR7_WRONLY 0x01 /* break on write */
#define DBREG_DR7_RDWR 0x03 /* break on read or write */
-#define DBREG_DRX(d,x) ((&d->dr0)[x]) /* reference dr0 - dr7 by
+#define DBREG_DRX(d,x) (d->dr[(x)]) /* reference dr0 - dr7 by
register number */
OpenPOWER on IntegriCloud