npx.h (38fd748725dcbeabf82d6f82c16d0307e849f1ea) npx.h (5d84379dd634020c88d082abef1acadd42b8fcb0)
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
8 * Redistribution and use in source and binary forms, with or without

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

133 * because it makes the results of calculations depend on whether
134 * intermediate values are stored in memory or in FPU registers.
135 */
136#define __INITIAL_NPXCW__ 0x127F
137#define __INITIAL_MXCSR__ 0x1F80
138
139#ifdef _KERNEL
140
1/*-
2 * Copyright (c) 1990 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * William Jolitz.
7 *
8 * Redistribution and use in source and binary forms, with or without

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

133 * because it makes the results of calculations depend on whether
134 * intermediate values are stored in memory or in FPU registers.
135 */
136#define __INITIAL_NPXCW__ 0x127F
137#define __INITIAL_MXCSR__ 0x1F80
138
139#ifdef _KERNEL
140
141struct thread;
142
143#define IO_NPX 0x0F0 /* Numeric Coprocessor */
144#define IO_NPXSIZE 16 /* 80387/80487 NPX registers */
145
146#define IRQ_NPX 13
147
148/* full reset on some systems, NOP on others */
149#define npx_full_reset() outb(IO_NPX + 1, 0)
150
151int npxdna(void);
152void npxdrop(void);
153void npxexit(struct thread *td);
154int npxformat(void);
155int npxgetregs(struct thread *td, union savefpu *addr);
156void npxinit(u_short control);
157void npxsave(union savefpu *addr);
158void npxsetregs(struct thread *td, union savefpu *addr);
159int npxtrap(void);
141#define IO_NPX 0x0F0 /* Numeric Coprocessor */
142#define IO_NPXSIZE 16 /* 80387/80487 NPX registers */
143
144#define IRQ_NPX 13
145
146/* full reset on some systems, NOP on others */
147#define npx_full_reset() outb(IO_NPX + 1, 0)
148
149int npxdna(void);
150void npxdrop(void);
151void npxexit(struct thread *td);
152int npxformat(void);
153int npxgetregs(struct thread *td, union savefpu *addr);
154void npxinit(u_short control);
155void npxsave(union savefpu *addr);
156void npxsetregs(struct thread *td, union savefpu *addr);
157int npxtrap(void);
160void npx_fork_thread(struct thread *td, struct thread *newtd);
161
162#endif
163
164#endif /* !_MACHINE_NPX_H_ */
158
159#endif
160
161#endif /* !_MACHINE_NPX_H_ */