18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Linux/PA-RISC Project (http://www.parisc-linux.org/)
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Floating-point emulation code
68c2ecf20Sopenharmony_ci *  Copyright (C) 2001 Hewlett-Packard (Paul Bame) <bame@debian.org>
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci/*
98c2ecf20Sopenharmony_ci * BEGIN_DESC
108c2ecf20Sopenharmony_ci *
118c2ecf20Sopenharmony_ci *  File:
128c2ecf20Sopenharmony_ci *      @(#)	pa/fp/fpu.h		$Revision: 1.1 $
138c2ecf20Sopenharmony_ci *
148c2ecf20Sopenharmony_ci *  Purpose:
158c2ecf20Sopenharmony_ci *      <<please update with a synopis of the functionality provided by this file>>
168c2ecf20Sopenharmony_ci *
178c2ecf20Sopenharmony_ci *
188c2ecf20Sopenharmony_ci * END_DESC
198c2ecf20Sopenharmony_ci*/
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci#ifdef __NO_PA_HDRS
228c2ecf20Sopenharmony_ci    PA header file -- do not include this header file for non-PA builds.
238c2ecf20Sopenharmony_ci#endif
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#ifndef _MACHINE_FPU_INCLUDED /* allows multiple inclusion */
278c2ecf20Sopenharmony_ci#define _MACHINE_FPU_INCLUDED
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci#if 0
308c2ecf20Sopenharmony_ci#ifndef _SYS_STDSYMS_INCLUDED
318c2ecf20Sopenharmony_ci#    include <sys/stdsyms.h>
328c2ecf20Sopenharmony_ci#endif   /* _SYS_STDSYMS_INCLUDED  */
338c2ecf20Sopenharmony_ci#include  <machine/pdc/pdc_rqsts.h>
348c2ecf20Sopenharmony_ci#endif
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci#define PA83_FPU_FLAG    0x00000001
378c2ecf20Sopenharmony_ci#define PA89_FPU_FLAG    0x00000002
388c2ecf20Sopenharmony_ci#define PA2_0_FPU_FLAG   0x00000010
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci#define TIMEX_EXTEN_FLAG 0x00000004
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_ci#define ROLEX_EXTEN_FLAG 0x00000008
438c2ecf20Sopenharmony_ci#define COPR_FP 	0x00000080	/* Floating point -- Coprocessor 0 */
448c2ecf20Sopenharmony_ci#define SFU_MPY_DIVIDE	0x00008000	/* Multiply/Divide __ SFU 0 */
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci#define EM_FPU_TYPE_OFFSET 272
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci/* version of EMULATION software for COPR,0,0 instruction */
508c2ecf20Sopenharmony_ci#define EMULATION_VERSION 4
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ci/*
538c2ecf20Sopenharmony_ci * The only was to differeniate between TIMEX and ROLEX (or PCX-S and PCX-T)
548c2ecf20Sopenharmony_ci * is thorough the potential type field from the PDC_MODEL call.  The
558c2ecf20Sopenharmony_ci * following flags are used at assist this differeniation.
568c2ecf20Sopenharmony_ci */
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci#define ROLEX_POTENTIAL_KEY_FLAGS	PDC_MODEL_CPU_KEY_WORD_TO_IO
598c2ecf20Sopenharmony_ci#define TIMEX_POTENTIAL_KEY_FLAGS	(PDC_MODEL_CPU_KEY_QUAD_STORE | \
608c2ecf20Sopenharmony_ci					 PDC_MODEL_CPU_KEY_RECIP_SQRT)
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci#endif /* ! _MACHINE_FPU_INCLUDED */
64