summaryrefslogtreecommitdiffstats
path: root/sys/arm/include/pcpu.h
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-03-09 03:00:03 +0000
committerian <ian@FreeBSD.org>2014-03-09 03:00:03 +0000
commitfddbc87fe1aceed4f6e19423f2198de2555e3771 (patch)
treeabbbaa374dc33841a853e8379d0783e36b54a2a3 /sys/arm/include/pcpu.h
parent3b83a35d4d9715af0dbe0d2898339d5e100573da (diff)
downloadFreeBSD-src-fddbc87fe1aceed4f6e19423f2198de2555e3771.zip
FreeBSD-src-fddbc87fe1aceed4f6e19423f2198de2555e3771.tar.gz
Rework the VFP code that handles demand-based save and restore of state.
The old code was full of complexity that would only matter if the kernel itself used the VFP hardware. Now that's reduced to either killing the userland process or panicking the kernel on an illegal VFP instruction. This removes most of the complexity from the assembler code, reducing it to just calling the save code if the outgoing thread used the VFP. The routine that stores the VFP state now takes a flag that indicates whether the hardware should be disabled after saving state. Right now it always is, but this makes the code ready to be used by get/set_mcontext() (doing so will be addressed in a future commit). Remove the arm-specific pc_vfpcthread from struct pcpu and use the MI field pc_fpcurthread instead. Reviewed by: cognet
Diffstat (limited to 'sys/arm/include/pcpu.h')
-rw-r--r--sys/arm/include/pcpu.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/arm/include/pcpu.h b/sys/arm/include/pcpu.h
index 1771a8e..ee79343 100644
--- a/sys/arm/include/pcpu.h
+++ b/sys/arm/include/pcpu.h
@@ -46,9 +46,8 @@ struct vmspace;
unsigned int pc_vfpsid; \
unsigned int pc_vfpmvfr0; \
unsigned int pc_vfpmvfr1; \
- struct thread *pc_vfpcthread; \
struct pmap *pc_curpmap; \
- char __pad[133]
+ char __pad[137]
#else
#define PCPU_MD_FIELDS \
char __pad[157]
OpenPOWER on IntegriCloud