xref: /OK3568_Linux_fs/kernel/arch/parisc/math-emu/fpu.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * Linux/PA-RISC Project (http://www.parisc-linux.org/)
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Floating-point emulation code
6*4882a593Smuzhiyun  *  Copyright (C) 2001 Hewlett-Packard (Paul Bame) <bame@debian.org>
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun /*
9*4882a593Smuzhiyun  * BEGIN_DESC
10*4882a593Smuzhiyun  *
11*4882a593Smuzhiyun  *  File:
12*4882a593Smuzhiyun  *      @(#)	pa/fp/fpu.h		$Revision: 1.1 $
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *  Purpose:
15*4882a593Smuzhiyun  *      <<please update with a synopis of the functionality provided by this file>>
16*4882a593Smuzhiyun  *
17*4882a593Smuzhiyun  *
18*4882a593Smuzhiyun  * END_DESC
19*4882a593Smuzhiyun */
20*4882a593Smuzhiyun 
21*4882a593Smuzhiyun #ifdef __NO_PA_HDRS
22*4882a593Smuzhiyun     PA header file -- do not include this header file for non-PA builds.
23*4882a593Smuzhiyun #endif
24*4882a593Smuzhiyun 
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #ifndef _MACHINE_FPU_INCLUDED /* allows multiple inclusion */
27*4882a593Smuzhiyun #define _MACHINE_FPU_INCLUDED
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun #if 0
30*4882a593Smuzhiyun #ifndef _SYS_STDSYMS_INCLUDED
31*4882a593Smuzhiyun #    include <sys/stdsyms.h>
32*4882a593Smuzhiyun #endif   /* _SYS_STDSYMS_INCLUDED  */
33*4882a593Smuzhiyun #include  <machine/pdc/pdc_rqsts.h>
34*4882a593Smuzhiyun #endif
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun #define PA83_FPU_FLAG    0x00000001
37*4882a593Smuzhiyun #define PA89_FPU_FLAG    0x00000002
38*4882a593Smuzhiyun #define PA2_0_FPU_FLAG   0x00000010
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun #define TIMEX_EXTEN_FLAG 0x00000004
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #define ROLEX_EXTEN_FLAG 0x00000008
43*4882a593Smuzhiyun #define COPR_FP 	0x00000080	/* Floating point -- Coprocessor 0 */
44*4882a593Smuzhiyun #define SFU_MPY_DIVIDE	0x00008000	/* Multiply/Divide __ SFU 0 */
45*4882a593Smuzhiyun 
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun #define EM_FPU_TYPE_OFFSET 272
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun /* version of EMULATION software for COPR,0,0 instruction */
50*4882a593Smuzhiyun #define EMULATION_VERSION 4
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun /*
53*4882a593Smuzhiyun  * The only was to differeniate between TIMEX and ROLEX (or PCX-S and PCX-T)
54*4882a593Smuzhiyun  * is thorough the potential type field from the PDC_MODEL call.  The
55*4882a593Smuzhiyun  * following flags are used at assist this differeniation.
56*4882a593Smuzhiyun  */
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun #define ROLEX_POTENTIAL_KEY_FLAGS	PDC_MODEL_CPU_KEY_WORD_TO_IO
59*4882a593Smuzhiyun #define TIMEX_POTENTIAL_KEY_FLAGS	(PDC_MODEL_CPU_KEY_QUAD_STORE | \
60*4882a593Smuzhiyun 					 PDC_MODEL_CPU_KEY_RECIP_SQRT)
61*4882a593Smuzhiyun 
62*4882a593Smuzhiyun 
63*4882a593Smuzhiyun #endif /* ! _MACHINE_FPU_INCLUDED */
64