diff options
author | jake <jake@FreeBSD.org> | 2001-08-20 23:40:31 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2001-08-20 23:40:31 +0000 |
commit | bedeb98a219633fd3ff66035b5e94afd8229f215 (patch) | |
tree | 9fadf6ceaf974c1f303f2e56bfc1f3c963486adb /sys/sparc64/include/pcb.h | |
parent | 0eadd1a70f8cd1b1f090de61f04380657e956e97 (diff) | |
download | FreeBSD-src-bedeb98a219633fd3ff66035b5e94afd8229f215.zip FreeBSD-src-bedeb98a219633fd3ff66035b5e94afd8229f215.tar.gz |
Add support for splitting the register windows on entry to the
kernel from usermode. The remaining user windows are spilled
to the pcb as necessary. The user land window fault handlers
fill directly from the pcb on return.
Add system call entry points.
Submitted by: tmm
Diffstat (limited to 'sys/sparc64/include/pcb.h')
-rw-r--r-- | sys/sparc64/include/pcb.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sys/sparc64/include/pcb.h b/sys/sparc64/include/pcb.h index aa0e8f6..92e9699 100644 --- a/sys/sparc64/include/pcb.h +++ b/sys/sparc64/include/pcb.h @@ -30,14 +30,28 @@ #define _MACHINE_PCB_H_ #include <machine/fp.h> -#include <machine/pstate.h> +#include <machine/frame.h> + +/* + * XXX: MAXWIN should probably be done dynamically, pcb_wscratch is therefore + * at the end of the pcb. + */ +#define MAXWIN 8 + +/* Used in pcb_fcwp to mark the wscratch stack as empty. */ +#define PCB_CWP_EMPTY 0xff /* NOTE: pcb_fpstate must be aligned on a 64 byte boundary. */ struct pcb { struct fpstate pcb_fpstate; u_long pcb_fp; u_long pcb_pc; + u_long pcb_y; caddr_t pcb_onfault; + u_long pcb_inwinop; + u_long pcb_cwp; + u_long pcb_ws_inuse; + struct wsframe pcb_wscratch[MAXWIN]; }; struct md_coredump { |