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 | |