aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/include
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2014-09-22 20:34:36 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2014-09-22 20:34:36 +0000
commitacf42cdabd1da09df7da52f2f718b955ada83cd1 (patch)
tree9aca44b47e0ae8505d550d52451704b9bce3514e /sys/amd64/include
parentac417171e44dc93163489c10f6e358ff22695dc7 (diff)
Notes
Diffstat (limited to 'sys/amd64/include')
-rw-r--r--sys/amd64/include/fpu.h1
-rw-r--r--sys/amd64/include/pcb.h14
2 files changed, 10 insertions, 5 deletions
diff --git a/sys/amd64/include/fpu.h b/sys/amd64/include/fpu.h
index be1bdc6c5d7f..78d2fee2714d 100644
--- a/sys/amd64/include/fpu.h
+++ b/sys/amd64/include/fpu.h
@@ -58,6 +58,7 @@ int fpuformat(void);
int fpugetregs(struct thread *td);
void fpuinit(void);
void fpurestore(void *addr);
+void fpuresume(void *addr);
void fpusave(void *addr);
int fpusetregs(struct thread *td, struct savefpu *addr,
char *xfpustate, size_t xfpustate_size);
diff --git a/sys/amd64/include/pcb.h b/sys/amd64/include/pcb.h
index 80aff86eb685..153393ffc15b 100644
--- a/sys/amd64/include/pcb.h
+++ b/sys/amd64/include/pcb.h
@@ -97,14 +97,18 @@ struct pcb {
register_t pcb_lstar;
register_t pcb_cstar;
register_t pcb_sfmask;
- register_t pcb_xsmask;
-
- /* fpu context for suspend/resume */
- void *pcb_fpususpend;
struct savefpu *pcb_save;
- uint64_t pcb_pad[3];
+ uint64_t pcb_pad[5];
+};
+
+/* Per-CPU state saved during suspend and resume. */
+struct susppcb {
+ struct pcb sp_pcb;
+
+ /* fpu context for suspend/resume */
+ void *sp_fpususpend;
};
#endif