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