Deleted Added
full compact
fpu.c (143063) fpu.c (143434)
1/*-
2 * Copyright (c) 1990 William Jolitz.
3 * Copyright (c) 1991 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 17 unchanged lines hidden (view full) ---

26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 * from: @(#)npx.c 7.2 (Berkeley) 5/12/91
31 */
32
33#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1990 William Jolitz.
3 * Copyright (c) 1991 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 17 unchanged lines hidden (view full) ---

26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 *
30 * from: @(#)npx.c 7.2 (Berkeley) 5/12/91
31 */
32
33#include <sys/cdefs.h>
34__FBSDID("$FreeBSD: head/sys/amd64/amd64/fpu.c 143063 2005-03-02 21:33:29Z joerg $");
34__FBSDID("$FreeBSD: head/sys/amd64/amd64/fpu.c 143434 2005-03-11 22:16:09Z peter $");
35
36#include <sys/param.h>
37#include <sys/systm.h>
38#include <sys/bus.h>
39#include <sys/kernel.h>
40#include <sys/lock.h>
41#include <sys/malloc.h>
42#include <sys/module.h>

--- 29 unchanged lines hidden (view full) ---

72#define fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr)))
73#define fxrstor(addr) __asm("fxrstor %0" : : "m" (*(addr)))
74#define fxsave(addr) __asm __volatile("fxsave %0" : "=m" (*(addr)))
75#define ldmxcsr(r) __asm __volatile("ldmxcsr %0" : : "m" (r))
76#define start_emulating() __asm("smsw %%ax; orb %0,%%al; lmsw %%ax" \
77 : : "n" (CR0_TS) : "ax")
78#define stop_emulating() __asm("clts")
79
35
36#include <sys/param.h>
37#include <sys/systm.h>
38#include <sys/bus.h>
39#include <sys/kernel.h>
40#include <sys/lock.h>
41#include <sys/malloc.h>
42#include <sys/module.h>

--- 29 unchanged lines hidden (view full) ---

72#define fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr)))
73#define fxrstor(addr) __asm("fxrstor %0" : : "m" (*(addr)))
74#define fxsave(addr) __asm __volatile("fxsave %0" : "=m" (*(addr)))
75#define ldmxcsr(r) __asm __volatile("ldmxcsr %0" : : "m" (r))
76#define start_emulating() __asm("smsw %%ax; orb %0,%%al; lmsw %%ax" \
77 : : "n" (CR0_TS) : "ax")
78#define stop_emulating() __asm("clts")
79
80#else /* !__GNUCLIKE_ASM */
80#else /* !(__GNUCLIKE_ASM && !lint) */
81
82void fldcw(caddr_t addr);
83void fnclex(void);
84void fninit(void);
85void fnstcw(caddr_t addr);
86void fnstsw(caddr_t addr);
87void fxsave(caddr_t addr);
88void fxrstor(caddr_t addr);
89void start_emulating(void);
90void stop_emulating(void);
91
81
82void fldcw(caddr_t addr);
83void fnclex(void);
84void fninit(void);
85void fnstcw(caddr_t addr);
86void fnstsw(caddr_t addr);
87void fxsave(caddr_t addr);
88void fxrstor(caddr_t addr);
89void start_emulating(void);
90void stop_emulating(void);
91
92#endif /* __GNUCLIKE_ASM */
92#endif /* __GNUCLIKE_ASM && !lint */
93
94#define GET_FPU_CW(thread) ((thread)->td_pcb->pcb_save.sv_env.en_cw)
95#define GET_FPU_SW(thread) ((thread)->td_pcb->pcb_save.sv_env.en_sw)
96
97typedef u_char bool_t;
98
99int hw_float = 1;
100SYSCTL_INT(_hw,HW_FLOATINGPT, floatingpoint,

--- 440 unchanged lines hidden ---
93
94#define GET_FPU_CW(thread) ((thread)->td_pcb->pcb_save.sv_env.en_cw)
95#define GET_FPU_SW(thread) ((thread)->td_pcb->pcb_save.sv_env.en_sw)
96
97typedef u_char bool_t;
98
99int hw_float = 1;
100SYSCTL_INT(_hw,HW_FLOATINGPT, floatingpoint,

--- 440 unchanged lines hidden ---