summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/frame.h
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2003-05-12 18:33:19 +0000
committerpeter <peter@FreeBSD.org>2003-05-12 18:33:19 +0000
commit9ff3e48a71daf1b9cca435bb1def38dd80758cd3 (patch)
tree37bc0cc272c8d81cd89615723b40ef9224483f83 /sys/amd64/include/frame.h
parent2d77a1cdadebd5c296bc9073dcfa23214cfe8b72 (diff)
downloadFreeBSD-src-9ff3e48a71daf1b9cca435bb1def38dd80758cd3.zip
FreeBSD-src-9ff3e48a71daf1b9cca435bb1def38dd80758cd3.tar.gz
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)
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 8f96528..09321e7 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;
OpenPOWER on IntegriCloud