Home | History | Annotate | Line # | Download | only in include
vfpreg.h revision 1.1.8.2
      1  1.1.8.2  keiichi /*      $NetBSD: vfpreg.h,v 1.1.8.2 2008/03/24 07:14:54 keiichi Exp $ */
      2  1.1.8.2  keiichi 
      3  1.1.8.2  keiichi /*
      4  1.1.8.2  keiichi  * Copyright (c) 2008 ARM Ltd
      5  1.1.8.2  keiichi  * All rights reserved.
      6  1.1.8.2  keiichi  *
      7  1.1.8.2  keiichi  * Redistribution and use in source and binary forms, with or without
      8  1.1.8.2  keiichi  * modification, are permitted provided that the following conditions
      9  1.1.8.2  keiichi  * are met:
     10  1.1.8.2  keiichi  * 1. Redistributions of source code must retain the above copyright
     11  1.1.8.2  keiichi  *    notice, this list of conditions and the following disclaimer.
     12  1.1.8.2  keiichi  * 2. Redistributions in binary form must reproduce the above copyright
     13  1.1.8.2  keiichi  *    notice, this list of conditions and the following disclaimer in the
     14  1.1.8.2  keiichi  *    documentation and/or other materials provided with the distribution.
     15  1.1.8.2  keiichi  * 3. The name of the company may not be used to endorse or promote
     16  1.1.8.2  keiichi  *    products derived from this software without specific prior written
     17  1.1.8.2  keiichi  *    permission.
     18  1.1.8.2  keiichi  *
     19  1.1.8.2  keiichi  * THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR
     20  1.1.8.2  keiichi  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     21  1.1.8.2  keiichi  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     22  1.1.8.2  keiichi  * ARE DISCLAIMED.  IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY
     23  1.1.8.2  keiichi  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     24  1.1.8.2  keiichi  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     25  1.1.8.2  keiichi  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26  1.1.8.2  keiichi  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     27  1.1.8.2  keiichi  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     28  1.1.8.2  keiichi  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
     29  1.1.8.2  keiichi  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     30  1.1.8.2  keiichi  */
     31  1.1.8.2  keiichi 
     32  1.1.8.2  keiichi #ifndef _VFPREG_H
     33  1.1.8.2  keiichi #define _VFPREG_H
     34  1.1.8.2  keiichi 
     35  1.1.8.2  keiichi /* FPSID regsiter */
     36  1.1.8.2  keiichi 
     37  1.1.8.2  keiichi #define VFP_FPSID_IMP_MSK	0xff000000	/* Implementer */
     38  1.1.8.2  keiichi #define VFP_FPSID_IMP_ARM	0x41000000	/* Implementer: ARM */
     39  1.1.8.2  keiichi #define VFP_FPSID_SW		0x00800000	/* VFP implemented in SW */
     40  1.1.8.2  keiichi #define VFP_FPSID_FMT_MSK	0x00600000	/* FLDMX/FSTMX Format */
     41  1.1.8.2  keiichi #define VFP_FPSID_FMT_1		0x00000000	/* Standard format 1 */
     42  1.1.8.2  keiichi #define VFP_FPSID_FMT_2		0x00200000	/* Standard format 2 */
     43  1.1.8.2  keiichi #define VFP_FPSID_FMT_WEIRD	0x00600000	/* Non-standard format */
     44  1.1.8.2  keiichi #define VFP_FPSID_SP		0x00100000	/* Only single precision */
     45  1.1.8.2  keiichi #define VFP_FPSID_ARCH_MSK	0x000f0000	/* Architecture */
     46  1.1.8.2  keiichi #define VFP_FPSID_ARCH_V1	0x00000000	/* Arch VFPv1 */
     47  1.1.8.2  keiichi #define VFP_FPSID_ARCH_V2	0x00010000	/* Arch VFPv2 */
     48  1.1.8.2  keiichi #define VFP_FPSID_PART_MSK	0x0000ff00	/* Part number */
     49  1.1.8.2  keiichi #define VFP_FPSID_PART_VFP10	0x00001000	/* VFP10 */
     50  1.1.8.2  keiichi #define VFP_FPSID_VAR_MSK	0x000000f0	/* Variant */
     51  1.1.8.2  keiichi #define VFP_FPSID_VAR_ARM10	0x000000a0	/* Variant ARM10 */
     52  1.1.8.2  keiichi #define VFP_FPSID_REV_MSK	0x0000000f	/* Revision */
     53  1.1.8.2  keiichi 
     54  1.1.8.2  keiichi #define VFP_FPEXC_EX		0x80000000	/* Exception status bit */
     55  1.1.8.2  keiichi #define VFP_FPEXC_EN		0x40000000	/* Enable bit */
     56  1.1.8.2  keiichi 
     57  1.1.8.2  keiichi #define VFP_FPSCR_DN		0x02000000	/* Default NaN mode */
     58  1.1.8.2  keiichi #define VFP_FPSCR_FZ		0x01000000	/* Flush-to-zero mode */
     59  1.1.8.2  keiichi 
     60  1.1.8.2  keiichi 
     61  1.1.8.2  keiichi #define FPU_VFP10_ARM10E	0x410001a0	/* Really a VFPv2 part */
     62  1.1.8.2  keiichi #define FPU_VFP11_ARM11		0x410120b0
     63  1.1.8.2  keiichi 
     64  1.1.8.2  keiichi #endif /* _VFPREG_H */
     65