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#ifndef _MACHINE_FPU_INCLUDED /* allows multiple inclusion */
10#define _MACHINE_FPU_INCLUDED
11
12#define PA83_FPU_FLAG    0x00000001
13#define PA89_FPU_FLAG    0x00000002
14#define PA2_0_FPU_FLAG   0x00000010
15
16#define TIMEX_EXTEN_FLAG 0x00000004
17
18#define ROLEX_EXTEN_FLAG 0x00000008
19#define COPR_FP 	0x00000080	/* Floating point -- Coprocessor 0 */
20#define SFU_MPY_DIVIDE	0x00008000	/* Multiply/Divide __ SFU 0 */
21
22#define EM_FPU_TYPE_OFFSET 272
23
24/* version of EMULATION software for COPR,0,0 instruction */
25#define EMULATION_VERSION 4
26
27/*
28 * The only way to differentiate between TIMEX and ROLEX (or PCX-S and PCX-T)
29 * is through the potential type field from the PDC_MODEL call.
30 * The following flags are used to assist this differentiation.
31 */
32
33#define ROLEX_POTENTIAL_KEY_FLAGS	PDC_MODEL_CPU_KEY_WORD_TO_IO
34#define TIMEX_POTENTIAL_KEY_FLAGS	(PDC_MODEL_CPU_KEY_QUAD_STORE | \
35					 PDC_MODEL_CPU_KEY_RECIP_SQRT)
36
37#endif /* ! _MACHINE_FPU_INCLUDED */
38