X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fi386-ports.c;h=ada1ee1c5accea0a475598b05413b1415c397088;hb=9f4903821feed39afc9955c45b4329814ac8dc45;hp=0e1acaef07ccbf748afd62e378eb24d85a98ac76;hpb=727ce158868ed101006ecc5d3dd3faede927165c;p=pciutils.git diff --git a/lib/i386-ports.c b/lib/i386-ports.c index 0e1acae..ada1ee1 100644 --- a/lib/i386-ports.c +++ b/lib/i386-ports.c @@ -1,31 +1,24 @@ /* - * $Id: i386-ports.c,v 1.1 1999/01/22 21:05:26 mj Exp $ - * * 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 #include -#ifdef __GLIBC__ -#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) @@ -35,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(); } /*