FreeBSD/Linux Kernel Cross Reference
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 port_t int
77
78 #ifndef _SYS_CDEFS_H_
79 #error this file needs sys/cdefs.h as a prerequisite
80 #endif
81 #endif
82
83 #endif
84 #endif
85 #endif
86
87 #ifndef inline
88 # ifdef __CC_SUPPORTS___INLINE__
89 # define inline __inline__
90 # else
91 # define inline /**/
92 # endif
93 #endif
94
95 #ifndef ulong64
96 #define ulong64 unsigned long long
97 #endif
Cache object: 05ec003dfc47ee6ea00f0d9a1b0051dd
|