X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fi386-io-hurd.h;h=b61d65617135dd629100f88f0ed7c85844dee24f;hb=caeac5c38e34c5282a0646a697acaa1fea22ddb7;hp=2866b3586825509fd6e5d7810eade5d170970f12;hpb=9007a292f24685d7c1ab51506fae8df22ced007f;p=pciutils.git diff --git a/lib/i386-io-hurd.h b/lib/i386-io-hurd.h index 2866b35..b61d656 100644 --- a/lib/i386-io-hurd.h +++ b/lib/i386-io-hurd.h @@ -5,46 +5,23 @@ * Copyright (c) 2003 Martin Mares * Copyright (c) 2006 Samuel Thibault and * Thomas Schwinge + * Copyright (c) 2007 Thomas Schwinge * * Can be freely distributed and used under the terms of the GNU GPL. */ #include -#include -#include -#include - -#include - -static mach_port_t io_port; - static inline int -intel_setup_io(void) +intel_setup_io(struct pci_access *a UNUSED) { - mach_port_t device; - - if ((errno = get_privileged_ports(NULL, &device))) - perror("intel_setup_io() can't get_privileged_ports()"); - - if (!errno && (errno = device_open(device, D_READ | D_WRITE, "io", &io_port))) - perror("intel_setup_io() can't device_open()"); - - mach_port_deallocate(mach_task_self(), device); - - if (!errno && (errno = i386_io_port_add(mach_thread_self(), io_port))) - perror("intel_setup_io() can't i386_io_port_add()"); - - return errno ? 0 : 1; + return (ioperm (0, 65535, 1) == -1) ? 0 : 1; } static inline int -intel_cleanup_io(void) +intel_cleanup_io(struct pci_access *a UNUSED) { - if ((errno = i386_io_port_remove(mach_thread_self(), io_port))) - perror("intel_cleanup_io() can't i386_io_port_remove()"); - - mach_port_deallocate(mach_task_self(), io_port); + ioperm (0, 65535, 0); return -1; }