Merge tag 'trace-v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
[linux-2.6-microblaze.git] / arch / parisc / math-emu / fpu.h
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 */