summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/pcb.h
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2003-04-03 18:28:03 +0000
committerjake <jake@FreeBSD.org>2003-04-03 18:28:03 +0000
commitd37e1467193889798aa297d78b20582b354c55d7 (patch)
treefc04072b22327e50f2c8c111783edbdd9eb5f118 /sys/sparc64/include/pcb.h
parentffcfcc8152a16ce4eaf5f537dca60fae1e775fbc (diff)
downloadFreeBSD-src-d37e1467193889798aa297d78b20582b354c55d7.zip
FreeBSD-src-d37e1467193889798aa297d78b20582b354c55d7.tar.gz
- 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.
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 93615ba..38578d2 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
OpenPOWER on IntegriCloud