From 37da2899f40661e3e9631e497da8dc59b971cbd0 Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Fri, 22 Dec 2006 17:07:39 +0000 Subject: 20060303a --- Inferno/sparc/include/u.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 Inferno/sparc/include/u.h (limited to 'Inferno/sparc/include/u.h') diff --git a/Inferno/sparc/include/u.h b/Inferno/sparc/include/u.h new file mode 100644 index 00000000..6c0bd3f2 --- /dev/null +++ b/Inferno/sparc/include/u.h @@ -0,0 +1,64 @@ +#define nil ((void*)0) +typedef unsigned short ushort; +typedef unsigned char uchar; +typedef unsigned long ulong; +typedef unsigned int uint; +typedef signed char schar; +typedef long long vlong; +typedef unsigned long long uvlong; +typedef unsigned long uintptr; +typedef ushort Rune; +typedef union FPdbleword FPdbleword; +typedef long jmp_buf[2]; +#define JMPBUFSP 0 +#define JMPBUFPC 1 +#define JMPBUFDPC (-8) +typedef unsigned int mpdigit; /* for /sys/include/mp.h */ +typedef unsigned char u8int; +typedef unsigned short u16int; +typedef unsigned int u32int; +typedef unsigned long long u64int; + +/* FCR */ +#define FPINEX (1<<23) +#define FPOVFL (1<<26) +#define FPUNFL (1<<25) +#define FPZDIV (1<<24) +#define FPRNR (0<<30) +#define FPRZ (1<<30) +#define FPINVAL (1<<27) +#define FPRPINF (2<<30) +#define FPRNINF (3<<30) +#define FPRMASK (3<<30) +#define FPPEXT 0 +#define FPPSGL 0 +#define FPPDBL 0 +#define FPPMASK 0 +/* FSR */ +#define FPAINEX (1<<5) +#define FPAZDIV (1<<6) +#define FPAUNFL (1<<7) +#define FPAOVFL (1<<8) +#define FPAINVAL (1<<9) +union FPdbleword +{ + double x; + struct { /* big endian */ + ulong hi; + ulong lo; + }; +}; + +typedef char* va_list; +#define va_start(list, start) list =\ + (sizeof(start) < 4?\ + (char*)((int*)&(start)+1):\ + (char*)(&(start)+1)) +#define va_end(list)\ + USED(list) +#define va_arg(list, mode)\ + ((sizeof(mode) == 1)?\ + ((mode*)(list += 4))[-1]:\ + (sizeof(mode) == 2)?\ + ((mode*)(list += 4))[-1]:\ + ((mode*)(list += sizeof(mode)))[-1]) -- cgit v1.2.3