Mercurial > mplayer.hg
annotate libdha/sysdep/pci_netbsd.c @ 7886:32eceb109114
gcc 2.95.3-10 (cygwin) is detected as bad, which it shouldn't.
author | diego |
---|---|
date | Wed, 23 Oct 2002 23:12:09 +0000 |
parents | 4cfb6b9a6da3 |
children |
rev | line source |
---|---|
4164 | 1 /* |
2 This file is based on: | |
3 $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $ | |
4 Modified for readability by Nick Kurshev | |
5 */ | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
4164
diff
changeset
|
6 #include <errno.h> |
4164 | 7 #include <sys/param.h> |
8 #include <sys/file.h> | |
9 #include <machine/sysarch.h> | |
10 #ifndef GCCUSESGAS | |
11 #define GCCUSESGAS | |
12 #endif | |
13 | |
14 static int io_fd; | |
15 | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
4164
diff
changeset
|
16 static __inline__ int enable_os_io(void) |
4164 | 17 { |
18 io_fd = -1 ; | |
19 #if !defined(USE_I386_IOPL) | |
20 if ((io_fd = open("/dev/io", O_RDWR, 0)) < 0) { | |
21 perror("/dev/io"); | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
4164
diff
changeset
|
22 return(errno); |
4164 | 23 } |
24 #else | |
25 if (i386_iopl(1) < 0) { | |
26 perror("i386_iopl"); | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
4164
diff
changeset
|
27 return(errno); |
4164 | 28 } |
29 #endif /* USE_I386_IOPL */ | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
4164
diff
changeset
|
30 return(0); |
4164 | 31 } |
32 | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
4164
diff
changeset
|
33 static __inline__ int disable_os_io(void) |
4164 | 34 { |
35 #if !defined(USE_I386_IOPL) | |
36 close(io_fd); | |
37 #else | |
38 if (i386_iopl(0) < 0) { | |
39 perror("i386_iopl"); | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
4164
diff
changeset
|
40 return(errno); |
4164 | 41 } |
42 #endif /* NetBSD1_1 */ | |
4174
4cfb6b9a6da3
api changed: enable/disable_os_io returns error-code (or zero if ok) and pciconfig_read exported for mga_vid
alex
parents:
4164
diff
changeset
|
43 return(0); |
4164 | 44 } |