1 /* 2 * The PCI Library -- Access to i386 I/O ports on DJGPP 3 * 4 * Copyright (c) 2010, 2017 Rudolf Marek <[email protected]> 5 * 6 * Can be freely distributed and used under the terms of the GNU GPL v2+ 7 * 8 * SPDX-License-Identifier: GPL-2.0-or-later 9 */ 10 11 #include <dos.h> 12 13 #include "i386-io-access.h" 14 15 static int irq_enabled; 16 17 static int intel_setup_io(struct pci_access * a UNUSED)18intel_setup_io(struct pci_access *a UNUSED) 19 { 20 return 1; 21 } 22 23 static inline void intel_cleanup_io(struct pci_access * a UNUSED)24intel_cleanup_io(struct pci_access *a UNUSED) 25 { 26 } 27 intel_io_lock(void)28static inline void intel_io_lock(void) 29 { 30 asm volatile("" : : : "memory"); 31 irq_enabled = disable(); 32 } 33 intel_io_unlock(void)34static inline void intel_io_unlock(void) 35 { 36 asm volatile("" : : : "memory"); 37 if (irq_enabled) { 38 enable(); 39 } 40 } 41