X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fi386-ports.c;h=ada1ee1c5accea0a475598b05413b1415c397088;hb=9f4903821feed39afc9955c45b4329814ac8dc45;hp=79bbdfb9edae551fd1564d48144300ac265f53da;hpb=a85769a88b81f22aa43895199cbb01a12e0ab0a7;p=pciutils.git diff --git a/lib/i386-ports.c b/lib/i386-ports.c index 79bbdfb..ada1ee1 100644 --- a/lib/i386-ports.c +++ b/lib/i386-ports.c @@ -1,30 +1,24 @@ /* * The PCI Library -- Direct Configuration access via i386 Ports * - * Copyright (c) 1997--1999 Martin Mares + * Copyright (c) 1997--2003 Martin Mares * * Can be freely distributed and used under the terms of the GNU GPL. */ #include -#ifdef __GLIBC__ -#include -#else -#include -#endif - #include "internal.h" -static int intel_iopl_set = -1; - -static int -intel_setup_io(void) -{ - if (intel_iopl_set < 0) - intel_iopl_set = (iopl(3) < 0) ? 0 : 1; - return intel_iopl_set; -} +#if defined(OS_LINUX) +#include "i386-io-linux.h" +#elif defined(OS_GNU) +#include "i386-io-hurd.h" +#elif defined(OS_SunOS) +#include "i386-io-sunos.h" +#else +#error Do not know how to access I/O ports on this OS. +#endif static void conf12_init(struct pci_access *a) @@ -34,10 +28,9 @@ conf12_init(struct pci_access *a) } static void -conf12_cleanup(struct pci_access * UNUSED a) +conf12_cleanup(struct pci_access *a UNUSED) { - iopl(3); - intel_iopl_set = -1; + intel_cleanup_io(); } /*