/* * The PCI Library -- Access to i386 I/O ports on DJGPP * * Copyright (c) 2010, 2017 Rudolf Marek * * Can be freely distributed and used under the terms of the GNU GPL. */ #include #include #define outb(x,y) outportb(y, x) #define outw(x,y) outportw(y, x) #define outl(x,y) outportl(y, x) #define inb inportb #define inw inportw #define inl inportl static int irq_enabled; static int intel_setup_io(struct pci_access *a UNUSED) { return 1; } static inline void intel_cleanup_io(struct pci_access *a UNUSED) { } static inline void intel_io_lock(void) { asm volatile("" : : : "memory"); irq_enabled = disable(); } static inline void intel_io_unlock(void) { asm volatile("" : : : "memory"); if (irq_enabled) { enable(); } }