blob: 853c19c03828e377adb686630937488771e23c76 [file] [log] [blame]
Thomas Gleixner660662f2019-05-24 12:04:10 +02001/* SPDX-License-Identifier: GPL-2.0-or-later */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
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>
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 */
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 */