diff options
author | peter <peter@FreeBSD.org> | 2003-05-12 18:33:19 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-05-12 18:33:19 +0000 |
commit | 9ff3e48a71daf1b9cca435bb1def38dd80758cd3 (patch) | |
tree | 37bc0cc272c8d81cd89615723b40ef9224483f83 /sys/amd64/include/frame.h | |
parent | 2d77a1cdadebd5c296bc9073dcfa23214cfe8b72 (diff) | |
download | FreeBSD-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.h | 3 |
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; |