Annotation of sys/arch/sparc64/fpu/fpu_extern.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: fpu_extern.h,v 1.5 2006/06/21 19:24:38 jason Exp $ */
2: /* $NetBSD: fpu_extern.h,v 1.4 2000/08/03 18:32:08 eeh Exp $ */
3:
4: /*-
5: * Copyright (c) 1995 The NetBSD Foundation, Inc.
6: * All rights reserved.
7: *
8: * This code is derived from software contributed to The NetBSD Foundation
9: * by Christos Zoulas.
10: *
11: * Redistribution and use in source and binary forms, with or without
12: * modification, are permitted provided that the following conditions
13: * are met:
14: * 1. Redistributions of source code must retain the above copyright
15: * notice, this list of conditions and the following disclaimer.
16: * 2. Redistributions in binary form must reproduce the above copyright
17: * notice, this list of conditions and the following disclaimer in the
18: * documentation and/or other materials provided with the distribution.
19: * 3. All advertising materials mentioning features or use of this software
20: * must display the following acknowledgement:
21: * This product includes software developed by the NetBSD
22: * Foundation, Inc. and its contributors.
23: * 4. Neither the name of The NetBSD Foundation nor the names of its
24: * contributors may be used to endorse or promote products derived
25: * from this software without specific prior written permission.
26: *
27: * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
28: * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
29: * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30: * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
31: * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32: * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33: * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34: * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35: * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36: * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37: * POSSIBILITY OF SUCH DAMAGE.
38: */
39:
40: struct proc;
41: struct fpstate64;
42: struct trapframe64;
43: union instr;
44: struct fpemu;
45: struct fpn;
46:
47: /* fpu.c */
48: void fpu_cleanup(struct proc *, struct fpstate64 *);
49: int fpu_emulate(struct proc *, struct trapframe64 *, struct fpstate64 *);
50: int fpu_execute(struct proc *, struct fpemu *, union instr);
51:
52: /* fpu_add.c */
53: struct fpn *fpu_add(struct fpemu *);
54:
55: /* fpu_compare.c */
56: void fpu_compare(struct fpemu *, int);
57:
58: /* fpu_div.c */
59: struct fpn *fpu_div(struct fpemu *);
60:
61: /* fpu_explode.c */
62: int fpu_itof(struct fpn *, u_int);
63: int fpu_xtof(struct fpn *, u_int64_t);
64: int fpu_stof(struct fpn *, u_int);
65: int fpu_dtof(struct fpn *, u_int, u_int );
66: int fpu_qtof(struct fpn *, u_int, u_int , u_int , u_int );
67: void fpu_explode(struct fpemu *, struct fpn *, int, int );
68:
69: /* fpu_implode.c */
70: u_int fpu_ftoi(struct fpemu *, struct fpn *);
71: u_int fpu_ftox(struct fpemu *, struct fpn *, u_int *);
72: u_int fpu_ftos(struct fpemu *, struct fpn *);
73: u_int fpu_ftod(struct fpemu *, struct fpn *, u_int *);
74: u_int fpu_ftoq(struct fpemu *, struct fpn *, u_int *);
75:
76: /* fpu_mul.c */
77: struct fpn *fpu_mul(struct fpemu *);
78:
79: /* fpu_sqrt.c */
80: struct fpn *fpu_sqrt(struct fpemu *);
81:
82: /* fpu_subr.c */
83: int fpu_shr(register struct fpn *, register int);
84: void fpu_norm(register struct fpn *);
85: struct fpn *fpu_newnan(register struct fpemu *);
CVSweb