]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - sys/dev/cx/machdep.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / sys / dev / cx / machdep.h
1 /*-
2  * Cronyx DDK: platform dependent definitions.
3  *
4  * Copyright (C) 1998-1999 Cronyx Engineering
5  * Author: Alexander Kvitchenko, <aak@cronyx.ru>
6  *
7  * Copyright (C) 2001-2003 Cronyx Engineering.
8  * Author: Roman Kurakin, <rik@cronyx.ru>
9  *
10  * This software is distributed with NO WARRANTIES, not even the implied
11  * warranties for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * Authors grant any other persons or organisations permission to use
14  * or modify this software as long as this message is kept with the software,
15  * all derivative works or modified versions.
16  *
17  * Cronyx Id: machdep.h,v 1.3.4.3 2003/11/27 14:21:58 rik Exp $
18  * $FreeBSD$
19  */
20
21 /*
22  * DOS (Borland Turbo C++ 1.0)
23  */
24 #if defined (MSDOS) || defined (__MSDOS__)
25 #   include <dos.h>
26 #   include <string.h>
27 #   define inb(port)            inportb(port)
28 #   define inw(port)            inport(port)
29 #   define outb(port,b)         outportb(port,b)
30 #   define outw(port,w)         outport(port,w)
31 #   define GETTICKS()           biostime(0,0L)
32 #else
33
34 /*
35  * Windows NT
36  */
37 #ifdef NDIS_MINIPORT_DRIVER
38 #   include <string.h>
39 #   define inb(port)            inp((unsigned short)(port))
40 #   define inw(port)            inpw((unsigned short)(port))
41 #   define outb(port,b)         outp((unsigned short)(port),b)
42 #   define outw(port,w)         outpw((unsigned short)(port),(unsigned short)(w))
43 #pragma warning (disable: 4761)
44 #pragma warning (disable: 4242)
45 #pragma warning (disable: 4244)
46 #define ulong64                 unsigned __int64
47 #else
48
49 /*
50  * Linux
51  */
52 #ifdef __linux__
53 #   undef REALLY_SLOW_IO
54 #   include <asm/io.h>          /* should swap outb() arguments */
55 #   include <linux/string.h>
56 #   include <linux/delay.h>
57     static inline void __ddk_outb (unsigned port, unsigned char byte)
58     { outb (byte, port); }
59     static inline void __ddk_outw (unsigned port, unsigned short word)
60     { outw (word, port); }
61 #   undef outb
62 #   undef outw
63 #   define outb(port,val)       __ddk_outb(port, val)
64 #   define outw(port,val)       __ddk_outw(port, val)
65 #   define GETTICKS()           (jiffies * 200 / 11 / HZ)
66 #else
67
68 /*
69  * FreeBSD and BSD/OS
70  */
71 #ifdef __FreeBSD__
72 #   include <sys/param.h>
73 #   include <machine/cpufunc.h>
74 #   include <sys/libkern.h>
75 #   include <sys/systm.h>
76 #   define memset(a,b,c)        bzero (a,c)
77 #   define port_t int
78
79 #ifndef _SYS_CDEFS_H_
80 #error this file needs sys/cdefs.h as a prerequisite
81 #endif
82 #endif
83
84 #endif
85 #endif
86 #endif
87
88 #ifndef inline
89 #   ifdef __CC_SUPPORTS___INLINE__
90 #      define inline __inline__
91 #   else
92 #      define inline /**/
93 #   endif
94 #endif
95
96 #ifndef ulong64
97 #define ulong64 unsigned long long
98 #endif