#ifdef __NetBSD__ # include # include # include #else # if defined(__linux__) /* Can't because provides conflicting inb, outb, etc * # include */ int iopl(int level); # endif # if defined(SVR4) && defined(i386) && defined(sun) # include # include # include # include # endif # include "AsmMacros.h" #endif /* NetBSD */ #include #include #include #ifdef __NetBSD__ # define SET_IOPL() i386_iopl(3) # define RESET_IOPL() i386_iopl(0) #else # if defined(SVR4) && defined(i386) # ifndef SI86IOPL # define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) # define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) # else # define SET_IOPL() sysi86(SI86IOPL,3) # define RESET_IOPL() sysi86(SI86IOPL,0) # endif # else # ifdef linux # define SET_IOPL() iopl(3) # define RESET_IOPL() iopl(0) # else # define SET_IOPL() (void)0 # define RESET_IOPL() (void)0 # endif # endif #endif