ia64_fpu.h
来自「xen虚拟机源代码安装包」· C头文件 代码 · 共 100 行
H
100 行
/* * Done by Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com> * This code is mostly taken from FreeBSD. * **************************************************************************** * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * */#ifndef _IA64_FPU_H_#define _IA64_FPU_H_#include "os.h"/* * Floating point status register bits. */#define IA64_FPSR_TRAP_VD UL_CONST(0x0000000000000001)#define IA64_FPSR_TRAP_DD UL_CONST(0x0000000000000002)#define IA64_FPSR_TRAP_ZD UL_CONST(0x0000000000000004)#define IA64_FPSR_TRAP_OD UL_CONST(0x0000000000000008)#define IA64_FPSR_TRAP_UD UL_CONST(0x0000000000000010)#define IA64_FPSR_TRAP_ID UL_CONST(0x0000000000000020)#define IA64_FPSR_SF(i,v) ((v) << ((i)*13+6))#define IA64_SF_FTZ UL_CONST(0x0001)#define IA64_SF_WRE UL_CONST(0x0002)#define IA64_SF_PC UL_CONST(0x000c)#define IA64_SF_PC_0 UL_CONST(0x0000)#define IA64_SF_PC_1 UL_CONST(0x0004)#define IA64_SF_PC_2 UL_CONST(0x0008)#define IA64_SF_PC_3 UL_CONST(0x000c)#define IA64_SF_RC UL_CONST(0x0030)#define IA64_SF_RC_NEAREST UL_CONST(0x0000)#define IA64_SF_RC_NEGINF UL_CONST(0x0010)#define IA64_SF_RC_POSINF UL_CONST(0x0020)#define IA64_SF_RC_TRUNC UL_CONST(0x0030)#define IA64_SF_TD UL_CONST(0x0040)#define IA64_SF_V UL_CONST(0x0080)#define IA64_SF_D UL_CONST(0x0100)#define IA64_SF_Z UL_CONST(0x0200)#define IA64_SF_O UL_CONST(0x0400)#define IA64_SF_U UL_CONST(0x0800)#define IA64_SF_I UL_CONST(0x1000)#define IA64_SF_DEFAULT (IA64_SF_PC_3 | IA64_SF_RC_NEAREST)#define IA64_FPSR_DEFAULT (IA64_FPSR_TRAP_VD \ | IA64_FPSR_TRAP_DD \ | IA64_FPSR_TRAP_ZD \ | IA64_FPSR_TRAP_OD \ | IA64_FPSR_TRAP_UD \ | IA64_FPSR_TRAP_ID \ | IA64_FPSR_SF(0, IA64_SF_DEFAULT) \ | IA64_FPSR_SF(1, (IA64_SF_DEFAULT \ | IA64_SF_TD \ | IA64_SF_WRE)) \ | IA64_FPSR_SF(2, (IA64_SF_DEFAULT \ | IA64_SF_TD)) \ | IA64_FPSR_SF(3, (IA64_SF_DEFAULT \ | IA64_SF_TD)))#ifndef __ASSEMBLY__ /* This is from sys/cdefs.h in FreeBSD */#define __aligned(x) __attribute__((__aligned__(x))) /* A single Floating Point register. */struct ia64_fpreg{ uint8_t fpr_bits[16];} __aligned(16);typedef struct ia64_fpreg ia64_fpreg_t;#endif /* __ASSEMBLY__ */#endif /* _IA64_FPU_H_ */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?