Use PCB_SAVEFPU_SIZE instead of a too-small size in savectx(). This

bug only affected FPU emulators.  It might have caused bogus FPU states
in core dumps and in the child pcb after a fork.  Emulated FPU states
in core dumps don't work for other reasons, and the child FPU state
is reinitialized by exec, so the problem might not have caused any
noticeable affects.

Cleaned up #includes.
This commit is contained in:
Bruce Evans 1996-04-13 11:24:13 +00:00
parent 5b5220556d
commit 0513ce7f75
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=15232
3 changed files with 33 additions and 27 deletions

View File

@ -33,19 +33,21 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: swtch.s,v 1.30 1996/03/12 05:44:23 nate Exp $
* $Id: swtch.s,v 1.31 1996/03/19 04:40:03 nate Exp $
*/
#include "npx.h" /* for NNPX */
#include "opt_user_ldt.h" /* for USER_LDT */
#include "assym.s" /* for preprocessor defines */
#include "apm.h" /* for NAPM */
#include <sys/errno.h> /* for error codes */
#include "apm.h"
#include "npx.h"
#include "opt_user_ldt.h"
#include <machine/asmacros.h> /* for miscellaneous assembly macros */
#include <machine/spl.h> /* for SWI_AST_MASK ... */
#include <sys/errno.h>
#include <sys/rtprio.h>
#include <machine/asmacros.h>
#include <machine/spl.h>
#include "assym.s"
/*****************************************************************************/
/* Scheduling */
@ -509,7 +511,7 @@ ENTRY(savectx)
popl %ecx
pushl %ecx
pushl $108+8*2 /* XXX h/w state size + padding */
pushl $PCB_SAVEFPU_SIZE
leal PCB_SAVEFPU(%ecx),%ecx
pushl %ecx
pushl %eax

View File

@ -33,19 +33,21 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: swtch.s,v 1.30 1996/03/12 05:44:23 nate Exp $
* $Id: swtch.s,v 1.31 1996/03/19 04:40:03 nate Exp $
*/
#include "npx.h" /* for NNPX */
#include "opt_user_ldt.h" /* for USER_LDT */
#include "assym.s" /* for preprocessor defines */
#include "apm.h" /* for NAPM */
#include <sys/errno.h> /* for error codes */
#include "apm.h"
#include "npx.h"
#include "opt_user_ldt.h"
#include <machine/asmacros.h> /* for miscellaneous assembly macros */
#include <machine/spl.h> /* for SWI_AST_MASK ... */
#include <sys/errno.h>
#include <sys/rtprio.h>
#include <machine/asmacros.h>
#include <machine/spl.h>
#include "assym.s"
/*****************************************************************************/
/* Scheduling */
@ -509,7 +511,7 @@ ENTRY(savectx)
popl %ecx
pushl %ecx
pushl $108+8*2 /* XXX h/w state size + padding */
pushl $PCB_SAVEFPU_SIZE
leal PCB_SAVEFPU(%ecx),%ecx
pushl %ecx
pushl %eax

View File

@ -33,19 +33,21 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: swtch.s,v 1.30 1996/03/12 05:44:23 nate Exp $
* $Id: swtch.s,v 1.31 1996/03/19 04:40:03 nate Exp $
*/
#include "npx.h" /* for NNPX */
#include "opt_user_ldt.h" /* for USER_LDT */
#include "assym.s" /* for preprocessor defines */
#include "apm.h" /* for NAPM */
#include <sys/errno.h> /* for error codes */
#include "apm.h"
#include "npx.h"
#include "opt_user_ldt.h"
#include <machine/asmacros.h> /* for miscellaneous assembly macros */
#include <machine/spl.h> /* for SWI_AST_MASK ... */
#include <sys/errno.h>
#include <sys/rtprio.h>
#include <machine/asmacros.h>
#include <machine/spl.h>
#include "assym.s"
/*****************************************************************************/
/* Scheduling */
@ -509,7 +511,7 @@ ENTRY(savectx)
popl %ecx
pushl %ecx
pushl $108+8*2 /* XXX h/w state size + padding */
pushl $PCB_SAVEFPU_SIZE
leal PCB_SAVEFPU(%ecx),%ecx
pushl %ecx
pushl %eax