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