diff options
Diffstat (limited to 'i686/sys/io.h')
-rw-r--r-- | i686/sys/io.h | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/i686/sys/io.h b/i686/sys/io.h deleted file mode 100644 index b6c24c5..0000000 --- a/i686/sys/io.h +++ /dev/null @@ -1,102 +0,0 @@ -#pragma once - -// port listings -enum UART { - COM1 = 0x3f8, - COM2 = 0x2f8, - COM3 = 0x3e8, - COM4 = 0x2e8, - COM5 = 0x5f8, - COM6 = 0x4f8, - COM7 = 0x5e8, - COM8 = 0x4e8, -}; -enum UARTPortOffset { - Data = 0, // read from receive buffer / write to transmit buffer | BaudDiv_l - InterruptControl = 1, // interrupt enable | BaudDiv_h - FifoControl = 2, // interrupt ID and FIFO control - LineControl = 3, // most significant bit is the DLAB - ModemControl = 4, - LineStatus = 5, - ModemStatus = 6, - Scratch = 7, -}; - -static inline void -outb(unsigned char val, unsigned short port) -{ - asm volatile("outb %0,%1" : : "a"(val), "dN"(port)); -} - -static inline void -outw(unsigned short val, unsigned short port) -{ - asm volatile("outw %0,%1" : : "a"(val), "dN"(port)); -} - -static inline void -outl(unsigned int val, unsigned short port) -{ - asm volatile("outl %0,%1" : : "a"(val), "dN"(port)); -} - -static inline unsigned char -inb(unsigned short port) -{ - unsigned char val; - asm volatile("inb %1,%0" : "=a"(val) : "dN"(port)); - return val; -} - -static inline unsigned short -inw(unsigned short port) -{ - unsigned short val; - asm volatile("inw %1,%0" : "=a"(val) : "dN"(port)); - return val; -} - -static inline unsigned int -inl(unsigned short port) -{ - unsigned int val; - asm volatile("inl %1,%0" : "=a"(val) : "dN"(port)); - return val; -} - -static inline void -outsb(unsigned short port, const void *__buf, unsigned long __n) -{ - asm volatile("cld; rep; outsb" : "+S"(__buf), "+c"(__n) : "d"(port)); -} - -static inline void -outsw(unsigned short port, const void *__buf, unsigned long __n) -{ - asm volatile("cld; rep; outsw" : "+S"(__buf), "+c"(__n) : "d"(port)); -} - -static inline void -outsl(unsigned short port, const void *__buf, unsigned long __n) -{ - asm volatile("cld; rep; outsl" : "+S"(__buf), "+c"(__n) : "d"(port)); -} - -static inline void -insb(unsigned short port, void *__buf, unsigned long __n) -{ - asm volatile("cld; rep; insb" : "+D"(__buf), "+c"(__n) : "d"(port)); -} - -static inline void -insw(unsigned short port, void *__buf, unsigned long __n) -{ - asm volatile("cld; rep; insw" : "+D"(__buf), "+c"(__n) : "d"(port)); -} - -static inline void -insl(unsigned short port, void *__buf, unsigned long __n) -{ - asm volatile("cld; rep; insl" : "+D"(__buf), "+c"(__n) : "d"(port)); -} - |