xref: /openbmc/linux/arch/parisc/math-emu/fpu.h (revision 0aa2ddc9)
1660662f8SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
21da177e4SLinus Torvalds /*
31da177e4SLinus Torvalds  * Linux/PA-RISC Project (http://www.parisc-linux.org/)
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  * Floating-point emulation code
61da177e4SLinus Torvalds  *  Copyright (C) 2001 Hewlett-Packard (Paul Bame) <bame@debian.org>
71da177e4SLinus Torvalds  */
81da177e4SLinus Torvalds 
91da177e4SLinus Torvalds #ifndef _MACHINE_FPU_INCLUDED /* allows multiple inclusion */
101da177e4SLinus Torvalds #define _MACHINE_FPU_INCLUDED
111da177e4SLinus Torvalds 
121da177e4SLinus Torvalds #define PA83_FPU_FLAG    0x00000001
131da177e4SLinus Torvalds #define PA89_FPU_FLAG    0x00000002
141da177e4SLinus Torvalds #define PA2_0_FPU_FLAG   0x00000010
151da177e4SLinus Torvalds 
161da177e4SLinus Torvalds #define TIMEX_EXTEN_FLAG 0x00000004
171da177e4SLinus Torvalds 
181da177e4SLinus Torvalds #define ROLEX_EXTEN_FLAG 0x00000008
191da177e4SLinus Torvalds #define COPR_FP 	0x00000080	/* Floating point -- Coprocessor 0 */
201da177e4SLinus Torvalds #define SFU_MPY_DIVIDE	0x00008000	/* Multiply/Divide __ SFU 0 */
211da177e4SLinus Torvalds 
221da177e4SLinus Torvalds #define EM_FPU_TYPE_OFFSET 272
231da177e4SLinus Torvalds 
241da177e4SLinus Torvalds /* version of EMULATION software for COPR,0,0 instruction */
251da177e4SLinus Torvalds #define EMULATION_VERSION 4
261da177e4SLinus Torvalds 
271da177e4SLinus Torvalds /*
28*0aa2ddc9SBhaskar Chowdhury  * The only way to differentiate between TIMEX and ROLEX (or PCX-S and PCX-T)
29*0aa2ddc9SBhaskar Chowdhury  * is through the potential type field from the PDC_MODEL call.
30*0aa2ddc9SBhaskar Chowdhury  * The following flags are used to assist this differentiation.
311da177e4SLinus Torvalds  */
321da177e4SLinus Torvalds 
331da177e4SLinus Torvalds #define ROLEX_POTENTIAL_KEY_FLAGS	PDC_MODEL_CPU_KEY_WORD_TO_IO
341da177e4SLinus Torvalds #define TIMEX_POTENTIAL_KEY_FLAGS	(PDC_MODEL_CPU_KEY_QUAD_STORE | \
351da177e4SLinus Torvalds 					 PDC_MODEL_CPU_KEY_RECIP_SQRT)
361da177e4SLinus Torvalds 
371da177e4SLinus Torvalds #endif /* ! _MACHINE_FPU_INCLUDED */
38