1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * Copyright Novell Inc. 2010
6 * Authors: Alexander Graf <agraf@suse.de>
9 #ifndef __ASM_KVM_FPU_H__
10 #define __ASM_KVM_FPU_H__
12 #include <linux/types.h>
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
);
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
);
23 extern void fps_fmadds(u64
*fpscr
, u32
*dst
, u32
*src1
, u32
*src2
,
25 extern void fps_fmsubs(u64
*fpscr
, u32
*dst
, u32
*src1
, u32
*src2
,
27 extern void fps_fnmadds(u64
*fpscr
, u32
*dst
, u32
*src1
, u32
*src2
,
29 extern void fps_fnmsubs(u64
*fpscr
, u32
*dst
, u32
*src1
, u32
*src2
,
31 extern void fps_fsel(u64
*fpscr
, u32
*dst
, u32
*src1
, u32
*src2
,
34 #define FPD_ONE_IN(name) extern void fpd_ ## name(u64 *fpscr, u32 *cr, \
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);
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
);
74 extern void kvm_cvt_fd(u32
*from
, u64
*to
);
75 extern void kvm_cvt_df(u64
*from
, u32
*to
);