aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/include/frame.h
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2003-05-12 18:33:19 +0000
committerPeter Wemm <peter@FreeBSD.org>2003-05-12 18:33:19 +0000
commit0fe93e7480e213428589c1ae85543decbb77c8e6 (patch)
tree37bc0cc272c8d81cd89615723b40ef9224483f83 /sys/amd64/include/frame.h
parent0f6241620bdc20665f61bd33eadc63909a32eb93 (diff)
downloadsrc-0fe93e7480e213428589c1ae85543decbb77c8e6.tar.gz
src-0fe93e7480e213428589c1ae85543decbb77c8e6.zip
For the page fault handler, save %cr2 in the outer trap handler so that
we do not have to run so long with interrupts disabled. This involved creating tf_addr in the trapframe. Reorganize the trap stubs so that they consistently reserve the stack space and initialize any missing bits. Approved by: re (amd64 stuff)
Notes
Notes: svn path=/head/; revision=114952
Diffstat (limited to 'sys/amd64/include/frame.h')
-rw-r--r--sys/amd64/include/frame.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/amd64/include/frame.h b/sys/amd64/include/frame.h
index 8f9652820534..09321e7a6cbf 100644
--- a/sys/amd64/include/frame.h
+++ b/sys/amd64/include/frame.h
@@ -68,6 +68,7 @@ struct trapframe {
register_t tf_r14;
register_t tf_r15;
register_t tf_trapno;
+ register_t tf_addr;
/* below portion defined in hardware */
register_t tf_err;
register_t tf_rip;
@@ -96,6 +97,7 @@ struct intrframe {
register_t if_r14;
register_t if_r15;
register_t :64; /* compat with trap frame - trapno */
+ register_t :64; /* compat with trap frame - addr */
register_t :64; /* compat with trap frame - err */
/* below portion defined in hardware */
register_t if_rip;
@@ -124,6 +126,7 @@ struct clockframe {
register_t cf_r14;
register_t cf_r15;
register_t :64; /* compat with trap frame - trapno */
+ register_t :64; /* compat with trap frame - addr */
register_t :64; /* compat with trap frame - err */
/* below portion defined in hardware */
register_t cf_rip;