xref: /openbmc/linux/arch/parisc/math-emu/fpu.h (revision 1da177e4)
11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds  * Linux/PA-RISC Project (http://www.parisc-linux.org/)
31da177e4SLinus Torvalds  *
41da177e4SLinus Torvalds  * Floating-point emulation code
51da177e4SLinus Torvalds  *  Copyright (C) 2001 Hewlett-Packard (Paul Bame) <bame@debian.org>
61da177e4SLinus Torvalds  *
71da177e4SLinus Torvalds  *    This program is free software; you can redistribute it and/or modify
81da177e4SLinus Torvalds  *    it under the terms of the GNU General Public License as published by
91da177e4SLinus Torvalds  *    the Free Software Foundation; either version 2, or (at your option)
101da177e4SLinus Torvalds  *    any later version.
111da177e4SLinus Torvalds  *
121da177e4SLinus Torvalds  *    This program is distributed in the hope that it will be useful,
131da177e4SLinus Torvalds  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
141da177e4SLinus Torvalds  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
151da177e4SLinus Torvalds  *    GNU General Public License for more details.
161da177e4SLinus Torvalds  *
171da177e4SLinus Torvalds  *    You should have received a copy of the GNU General Public License
181da177e4SLinus Torvalds  *    along with this program; if not, write to the Free Software
191da177e4SLinus Torvalds  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
201da177e4SLinus Torvalds  */
211da177e4SLinus Torvalds /*
221da177e4SLinus Torvalds  * BEGIN_DESC
231da177e4SLinus Torvalds  *
241da177e4SLinus Torvalds  *  File:
251da177e4SLinus Torvalds  *      @(#)	pa/fp/fpu.h		$Revision: 1.1 $
261da177e4SLinus Torvalds  *
271da177e4SLinus Torvalds  *  Purpose:
281da177e4SLinus Torvalds  *      <<please update with a synopis of the functionality provided by this file>>
291da177e4SLinus Torvalds  *
301da177e4SLinus Torvalds  *
311da177e4SLinus Torvalds  * END_DESC
321da177e4SLinus Torvalds */
331da177e4SLinus Torvalds 
341da177e4SLinus Torvalds #ifdef __NO_PA_HDRS
351da177e4SLinus Torvalds     PA header file -- do not include this header file for non-PA builds.
361da177e4SLinus Torvalds #endif
371da177e4SLinus Torvalds 
381da177e4SLinus Torvalds 
391da177e4SLinus Torvalds #ifndef _MACHINE_FPU_INCLUDED /* allows multiple inclusion */
401da177e4SLinus Torvalds #define _MACHINE_FPU_INCLUDED
411da177e4SLinus Torvalds 
421da177e4SLinus Torvalds #if 0
431da177e4SLinus Torvalds #ifndef _SYS_STDSYMS_INCLUDED
441da177e4SLinus Torvalds #    include <sys/stdsyms.h>
451da177e4SLinus Torvalds #endif   /* _SYS_STDSYMS_INCLUDED  */
461da177e4SLinus Torvalds #include  <machine/pdc/pdc_rqsts.h>
471da177e4SLinus Torvalds #endif
481da177e4SLinus Torvalds 
491da177e4SLinus Torvalds #define PA83_FPU_FLAG    0x00000001
501da177e4SLinus Torvalds #define PA89_FPU_FLAG    0x00000002
511da177e4SLinus Torvalds #define PA2_0_FPU_FLAG   0x00000010
521da177e4SLinus Torvalds 
531da177e4SLinus Torvalds #define TIMEX_EXTEN_FLAG 0x00000004
541da177e4SLinus Torvalds 
551da177e4SLinus Torvalds #define ROLEX_EXTEN_FLAG 0x00000008
561da177e4SLinus Torvalds #define COPR_FP 	0x00000080	/* Floating point -- Coprocessor 0 */
571da177e4SLinus Torvalds #define SFU_MPY_DIVIDE	0x00008000	/* Multiply/Divide __ SFU 0 */
581da177e4SLinus Torvalds 
591da177e4SLinus Torvalds 
601da177e4SLinus Torvalds #define EM_FPU_TYPE_OFFSET 272
611da177e4SLinus Torvalds 
621da177e4SLinus Torvalds /* version of EMULATION software for COPR,0,0 instruction */
631da177e4SLinus Torvalds #define EMULATION_VERSION 4
641da177e4SLinus Torvalds 
651da177e4SLinus Torvalds /*
661da177e4SLinus Torvalds  * The only was to differeniate between TIMEX and ROLEX (or PCX-S and PCX-T)
671da177e4SLinus Torvalds  * is thorough the potential type field from the PDC_MODEL call.  The
681da177e4SLinus Torvalds  * following flags are used at assist this differeniation.
691da177e4SLinus Torvalds  */
701da177e4SLinus Torvalds 
711da177e4SLinus Torvalds #define ROLEX_POTENTIAL_KEY_FLAGS	PDC_MODEL_CPU_KEY_WORD_TO_IO
721da177e4SLinus Torvalds #define TIMEX_POTENTIAL_KEY_FLAGS	(PDC_MODEL_CPU_KEY_QUAD_STORE | \
731da177e4SLinus Torvalds 					 PDC_MODEL_CPU_KEY_RECIP_SQRT)
741da177e4SLinus Torvalds 
751da177e4SLinus Torvalds 
761da177e4SLinus Torvalds #endif /* ! _MACHINE_FPU_INCLUDED */
77