fp.h revision 266341
1/* $NetBSD: fp.h,v 1.1 2001/01/10 19:02:06 bjh21 Exp $ */ 2 3/*- 4 * Copyright (c) 1995 Mark Brinicombe. 5 * Copyright (c) 1995 Brini. 6 * All rights reserved. 7 * 8 * This code is derived from software written for Brini by Mark Brinicombe 9 * 10 * Redistribution and use in source and binary forms, with or without 11 * modification, are permitted provided that the following conditions 12 * are met: 13 * 1. Redistributions of source code must retain the above copyright 14 * notice, this list of conditions and the following disclaimer. 15 * 2. Redistributions in binary form must reproduce the above copyright 16 * notice, this list of conditions and the following disclaimer in the 17 * documentation and/or other materials provided with the distribution. 18 * 3. All advertising materials mentioning features or use of this software 19 * must display the following acknowledgement: 20 * This product includes software developed by Brini. 21 * 4. The name of the company nor the name of the author may be used to 22 * endorse or promote products derived from this software without specific 23 * prior written permission. 24 * 25 * THIS SOFTWARE IS PROVIDED BY BRINI ``AS IS'' AND ANY EXPRESS OR IMPLIED 26 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 27 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 28 * IN NO EVENT SHALL BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 29 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 30 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * RiscBSD kernel project 38 * 39 * fp.h 40 * 41 * FP info 42 * 43 * Created : 10/10/95 44 * 45 * $FreeBSD: stable/10/sys/arm/include/fp.h 266341 2014-05-17 19:37:04Z ian $ 46 */ 47 48#ifndef _MACHINE_FP_H 49#define _MACHINE_FP_H 50 51/* 52 * An extended precision floating point number 53 */ 54 55typedef struct fp_extended_precision { 56 u_int32_t fp_exponent; 57 u_int32_t fp_mantissa_hi; 58 u_int32_t fp_mantissa_lo; 59} fp_extended_precision_t; 60 61typedef struct fp_extended_precision fp_reg_t; 62 63/* 64 * Information about the FPE-SP state that is stored in the pcb 65 * 66 * This needs to move and be hidden from userland. 67 */ 68 69struct vfp_state { 70 u_int64_t reg[32]; 71 u_int32_t fpscr; 72 u_int32_t fpexec; 73 u_int32_t fpinst; 74 u_int32_t fpinst2; 75}; 76 77/* 78 * Type for a saved FP context, if we want to translate the context to a 79 * user-readable form 80 */ 81 82typedef struct { 83 u_int32_t fpsr; 84 fp_extended_precision_t regs[8]; 85} fp_state_t; 86 87#endif /* _MACHINE_FP_H_ */ 88 89/* End of fp.h */ 90