162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Linux/PA-RISC Project (http://www.parisc-linux.org/)
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Floating-point emulation code
662306a36Sopenharmony_ci *  Copyright (C) 2001 Hewlett-Packard (Paul Bame) <bame@debian.org>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#ifndef _MACHINE_FPU_INCLUDED /* allows multiple inclusion */
1062306a36Sopenharmony_ci#define _MACHINE_FPU_INCLUDED
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define PA83_FPU_FLAG    0x00000001
1362306a36Sopenharmony_ci#define PA89_FPU_FLAG    0x00000002
1462306a36Sopenharmony_ci#define PA2_0_FPU_FLAG   0x00000010
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define TIMEX_EXTEN_FLAG 0x00000004
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#define ROLEX_EXTEN_FLAG 0x00000008
1962306a36Sopenharmony_ci#define COPR_FP 	0x00000080	/* Floating point -- Coprocessor 0 */
2062306a36Sopenharmony_ci#define SFU_MPY_DIVIDE	0x00008000	/* Multiply/Divide __ SFU 0 */
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#define EM_FPU_TYPE_OFFSET 272
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci/* version of EMULATION software for COPR,0,0 instruction */
2562306a36Sopenharmony_ci#define EMULATION_VERSION 4
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci/*
2862306a36Sopenharmony_ci * The only way to differentiate between TIMEX and ROLEX (or PCX-S and PCX-T)
2962306a36Sopenharmony_ci * is through the potential type field from the PDC_MODEL call.
3062306a36Sopenharmony_ci * The following flags are used to assist this differentiation.
3162306a36Sopenharmony_ci */
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci#define ROLEX_POTENTIAL_KEY_FLAGS	PDC_MODEL_CPU_KEY_WORD_TO_IO
3462306a36Sopenharmony_ci#define TIMEX_POTENTIAL_KEY_FLAGS	(PDC_MODEL_CPU_KEY_QUAD_STORE | \
3562306a36Sopenharmony_ci					 PDC_MODEL_CPU_KEY_RECIP_SQRT)
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci#endif /* ! _MACHINE_FPU_INCLUDED */
38