summaryrefslogtreecommitdiffstats
path: root/vidix/sysdep/pci_netbsd.c
diff options
context:
space:
mode:
authorben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-06 15:20:49 +0000
committerben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-04-06 15:20:49 +0000
commit51ba40dcd64518c8d5f9ce586171c8fb347a42c0 (patch)
tree590b1ce6d17f2126b67d1a5cb1576cdd7e8dea5c /vidix/sysdep/pci_netbsd.c
parent3099d0da16505cbc0aaab34f9299404e9ec19241 (diff)
downloadmpv-51ba40dcd64518c8d5f9ce586171c8fb347a42c0.tar.bz2
mpv-51ba40dcd64518c8d5f9ce586171c8fb347a42c0.tar.xz
merged libdha and libvidix, moved all files from libdha to vidix directory
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22918 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'vidix/sysdep/pci_netbsd.c')
-rw-r--r--vidix/sysdep/pci_netbsd.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/vidix/sysdep/pci_netbsd.c b/vidix/sysdep/pci_netbsd.c
new file mode 100644
index 0000000000..793944beba
--- /dev/null
+++ b/vidix/sysdep/pci_netbsd.c
@@ -0,0 +1,44 @@
+/*
+ This file is based on:
+ $XFree86: xc/programs/Xserver/hw/xfree86/etc/scanpci.c,v 3.34.2.17 1998/11/10 11:55:40 dawes Exp $
+ Modified for readability by Nick Kurshev
+*/
+#include <errno.h>
+#include <sys/param.h>
+#include <sys/file.h>
+#include <machine/sysarch.h>
+#ifndef GCCUSESGAS
+#define GCCUSESGAS
+#endif
+
+static int io_fd;
+
+static __inline__ int enable_os_io(void)
+{
+ io_fd = -1 ;
+#if !defined(USE_I386_IOPL)
+ if ((io_fd = open("/dev/io", O_RDWR, 0)) < 0) {
+ perror("/dev/io");
+ return(errno);
+ }
+#else
+ if (i386_iopl(1) < 0) {
+ perror("i386_iopl");
+ return(errno);
+ }
+#endif /* USE_I386_IOPL */
+ return(0);
+}
+
+static __inline__ int disable_os_io(void)
+{
+#if !defined(USE_I386_IOPL)
+ close(io_fd);
+#else
+ if (i386_iopl(0) < 0) {
+ perror("i386_iopl");
+ return(errno);
+ }
+#endif /* NetBSD1_1 */
+ return(0);
+}