aboutsummaryrefslogtreecommitdiff
path: root/sys/sparc64/include/pcb.h
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2003-04-03 18:28:03 +0000
committerJake Burkholder <jake@FreeBSD.org>2003-04-03 18:28:03 +0000
commit7dafcb6914e71e7e1203c40b784ee615d78942bc (patch)
treefc04072b22327e50f2c8c111783edbdd9eb5f118 /sys/sparc64/include/pcb.h
parent8e4f1e2b8addfde3aaf2ac6f34f37fd3edd759e4 (diff)
downloadsrc-7dafcb6914e71e7e1203c40b784ee615d78942bc.tar.gz
src-7dafcb6914e71e7e1203c40b784ee615d78942bc.zip
- Add space for kernel floating point registers to the pcb. These will be
used to support block copy and zero operations in the kernel which use the floating point registers. - While I'm changing the size, improve the layout of struct pcb, sort by size, then alphabetical etc. - Add some assertions to validate assumptions made about how the pcb is allocated.
Notes
Notes: svn path=/head/; revision=113023
Diffstat (limited to 'sys/sparc64/include/pcb.h')
-rw-r--r--sys/sparc64/include/pcb.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/sparc64/include/pcb.h b/sys/sparc64/include/pcb.h
index 93615bac55db..38578d278deb 100644
--- a/sys/sparc64/include/pcb.h
+++ b/sys/sparc64/include/pcb.h
@@ -37,13 +37,15 @@
/* NOTE: pcb_ufp must be aligned on a 64 byte boundary. */
struct pcb {
- uint32_t pcb_ufp[64];
- u_long pcb_sp;
- u_long pcb_pc;
- u_long pcb_flags;
- u_long pcb_nsaved;
- u_long pcb_rwsp[MAXWIN];
struct rwindow pcb_rw[MAXWIN];
+ uint32_t pcb_kfp[64];
+ uint32_t pcb_ufp[64];
+ uint64_t pcb_rwsp[MAXWIN];
+ uint64_t pcb_flags;
+ uint64_t pcb_nsaved;
+ uint64_t pcb_pc;
+ uint64_t pcb_sp;
+ uint64_t pcb_pad[4];
} __aligned(64);
#ifdef _KERNEL