diff options
Diffstat (limited to 'mdk-stage1/dietlibc/include/sys/io.h')
-rw-r--r-- | mdk-stage1/dietlibc/include/sys/io.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/include/sys/io.h b/mdk-stage1/dietlibc/include/sys/io.h new file mode 100644 index 000000000..cce841735 --- /dev/null +++ b/mdk-stage1/dietlibc/include/sys/io.h @@ -0,0 +1,41 @@ +#ifndef _IO_H +#define _IO_H + +int ioperm(unsigned long from, unsigned long num, int turn_on) __THROW; + +#ifdef __i386__ + +static __inline void +outb (unsigned char value, unsigned short int port) +{ + __asm__ __volatile__ ("outb %b0,%w1": :"a" (value), "Nd" (port)); +} + +static __inline unsigned char +inb (unsigned short int port) +{ + unsigned char _v; + + __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port)); + return _v; +} + +static __inline unsigned short int +inw (unsigned short int port) +{ + unsigned short _v; + + __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port)); + return _v; +} + +static __inline void +outw (unsigned short int value, unsigned short int port) +{ + __asm__ __volatile__ ("outw %w0,%w1": :"a" (value), "Nd" (port)); + +} + +#endif + +#endif |