]> git.lizzy.rs Git - plan9front.git/blob - arm/include/u.h
getfcr: change getfcr/setfcr to use VFP
[plan9front.git] / arm / include / u.h
1 #define nil             ((void*)0)
2
3 typedef unsigned short  ushort;
4 typedef unsigned char   uchar;
5 typedef unsigned long   ulong;
6 typedef unsigned int    uint;
7 typedef signed char     schar;
8 typedef long long       vlong;
9 typedef unsigned long long uvlong;
10 typedef unsigned long   uintptr;
11 typedef unsigned long   usize;
12 typedef uint            Rune;
13 typedef         union FPdbleword FPdbleword;
14 typedef long    jmp_buf[2];
15 #define JMPBUFSP        0
16 #define JMPBUFPC        1
17 #define JMPBUFDPC       0
18 typedef unsigned int    mpdigit;        /* for /sys/include/mp.h */
19 typedef unsigned char u8int;
20 typedef unsigned short u16int;
21 typedef unsigned int    u32int;
22 typedef unsigned long long u64int;
23
24 /* VFP FPSCR (exceptions) */
25 #define FPINEX          (1<<12)
26 #define FPUNFL          (1<<11)
27 #define FPOVFL          (1<<10)
28 #define FPZDIV          (1<<9)
29 #define FPINVAL         (1<<8)
30
31 /* VFP FPSCR (rounding) */
32 #define FPRNR           (0<<22)
33 #define FPRPINF         (1<<22)
34 #define FPRNINF         (2<<22)
35 #define FPRZ            (3<<22)
36
37 #define FPRMASK         (3<<22)
38
39 /* VFP FPSCR (status) */
40 #define FPPEXT  0
41 #define FPPSGL  0
42 #define FPPDBL  0
43 #define FPPMASK 0
44 #define FPAINEX         (1<<4)
45 #define FPAUNFL         (1<<3)
46 #define FPAOVFL         (1<<2)
47 #define FPAZDIV         (1<<1)
48 #define FPAINVAL        (1<<0)
49
50 union FPdbleword
51 {
52         double  x;
53         struct {        /* little endian */
54                 ulong lo;
55                 ulong hi;
56         };
57 };
58
59 typedef char*   va_list;
60 #define va_start(list, start) list =\
61         (sizeof(start) < 4?\
62                 (char*)((int*)&(start)+1):\
63                 (char*)(&(start)+1))
64 #define va_end(list)\
65         USED(list)
66 #define va_arg(list, mode)\
67         ((sizeof(mode) == 1)?\
68                 ((list += 4), (mode*)list)[-4]:\
69         (sizeof(mode) == 2)?\
70                 ((list += 4), (mode*)list)[-2]:\
71                 ((list += sizeof(mode)), (mode*)list)[-1])