powerpc: remove __ioremap_at and __iounmap_at
[linux-2.6-microblaze.git] / arch / powerpc / include / asm / kvm_fpu.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *
4  * Copyright Novell Inc. 2010
5  *
6  * Authors: Alexander Graf <agraf@suse.de>
7  */
8
9 #ifndef __ASM_KVM_FPU_H__
10 #define __ASM_KVM_FPU_H__
11
12 #include <linux/types.h>
13
14 extern void fps_fres(u64 *fpscr, u32 *dst, u32 *src1);
15 extern void fps_frsqrte(u64 *fpscr, u32 *dst, u32 *src1);
16 extern void fps_fsqrts(u64 *fpscr, u32 *dst, u32 *src1);
17
18 extern void fps_fadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2);
19 extern void fps_fdivs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2);
20 extern void fps_fmuls(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2);
21 extern void fps_fsubs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2);
22
23 extern void fps_fmadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2,
24                        u32 *src3);
25 extern void fps_fmsubs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2,
26                        u32 *src3);
27 extern void fps_fnmadds(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2,
28                         u32 *src3);
29 extern void fps_fnmsubs(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2,
30                         u32 *src3);
31 extern void fps_fsel(u64 *fpscr, u32 *dst, u32 *src1, u32 *src2,
32                      u32 *src3);
33
34 #define FPD_ONE_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \
35                                 u64 *dst, u64 *src1);
36 #define FPD_TWO_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \
37                                 u64 *dst, u64 *src1, u64 *src2);
38 #define FPD_THREE_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \
39                                 u64 *dst, u64 *src1, u64 *src2, u64 *src3);
40
41 extern void fpd_fcmpu(u64 *fpscr, u32 *cr, u64 *src1, u64 *src2);
42 extern void fpd_fcmpo(u64 *fpscr, u32 *cr, u64 *src1, u64 *src2);
43
44 FPD_ONE_IN(fsqrts)
45 FPD_ONE_IN(frsqrtes)
46 FPD_ONE_IN(fres)
47 FPD_ONE_IN(frsp)
48 FPD_ONE_IN(fctiw)
49 FPD_ONE_IN(fctiwz)
50 FPD_ONE_IN(fsqrt)
51 FPD_ONE_IN(fre)
52 FPD_ONE_IN(frsqrte)
53 FPD_ONE_IN(fneg)
54 FPD_ONE_IN(fabs)
55 FPD_TWO_IN(fadds)
56 FPD_TWO_IN(fsubs)
57 FPD_TWO_IN(fdivs)
58 FPD_TWO_IN(fmuls)
59 FPD_TWO_IN(fcpsgn)
60 FPD_TWO_IN(fdiv)
61 FPD_TWO_IN(fadd)
62 FPD_TWO_IN(fmul)
63 FPD_TWO_IN(fsub)
64 FPD_THREE_IN(fmsubs)
65 FPD_THREE_IN(fmadds)
66 FPD_THREE_IN(fnmsubs)
67 FPD_THREE_IN(fnmadds)
68 FPD_THREE_IN(fsel)
69 FPD_THREE_IN(fmsub)
70 FPD_THREE_IN(fmadd)
71 FPD_THREE_IN(fnmsub)
72 FPD_THREE_IN(fnmadd)
73
74 extern void kvm_cvt_fd(u32 *from, u64 *to);
75 extern void kvm_cvt_df(u64 *from, u32 *to);
76
77 #endif