From fddbc87fe1aceed4f6e19423f2198de2555e3771 Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 9 Mar 2014 03:00:03 +0000 Subject: 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 --- sys/arm/include/pcpu.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'sys/arm/include/pcpu.h') 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] -- cgit v1.1