diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2012-01-17 17:07:13 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2012-01-17 17:07:13 +0000 |
commit | 6db9cf559f1d4e3db11881a8d4e011cdbddf5c80 (patch) | |
tree | 44dda2232a798ac1a0f380e2d7f719b24fb94aa7 /sys/amd64/include/fpu.h | |
parent | e568229f501efebffb80519a2d540426421b49bc (diff) | |
download | src-6db9cf559f1d4e3db11881a8d4e011cdbddf5c80.tar.gz src-6db9cf559f1d4e3db11881a8d4e011cdbddf5c80.zip |
Add definitions for the FPU extended state header, legacy extended
state and AVX state.
MFC after: 1 week
Notes
Notes:
svn path=/head/; revision=230270
Diffstat (limited to 'sys/amd64/include/fpu.h')
-rw-r--r-- | sys/amd64/include/fpu.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/amd64/include/fpu.h b/sys/amd64/include/fpu.h index cef2108f7c89..1e7103e75a5e 100644 --- a/sys/amd64/include/fpu.h +++ b/sys/amd64/include/fpu.h @@ -78,6 +78,28 @@ struct savefpu { uint8_t sv_pad[96]; } __aligned(16); +struct xstate_hdr { + uint64_t xstate_bv; + uint8_t xstate_rsrv0[16]; + uint8_t xstate_rsrv[40]; +}; + +struct savefpu_xstate { + struct xstate_hdr sx_hd; + struct ymmacc sx_ymm[16]; +}; + +struct savefpu_ymm { + struct envxmm sv_env; + struct { + struct fpacc87 fp_acc; + int8_t fp_pad[6]; /* padding */ + } sv_fp[8]; + struct xmmacc sv_xmm[16]; + uint8_t sv_pad[96]; + struct savefpu_xstate sv_xstate; +} __aligned(64); + #ifdef _KERNEL struct fpu_kern_ctx { struct savefpu hwstate; |