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 --- |