|
|
1.1.1.2 ! root 1: static void inline outb(char value, unsigned short port) ! 2: { ! 3: __asm__ volatile ("outb %0,%1"::"a" (value),"d" (port)); ! 4: } 1.1 root 5: 1.1.1.2 ! root 6: static void inline outb_p(char value, unsigned short port) ! 7: { ! 8: __asm__ volatile ("outb %0,%1\n\tjmp 1f\n1:\tjmp 1f\n1:" ! 9: ::"a" (value),"d" (port)); ! 10: } 1.1 root 11: 1.1.1.2 ! root 12: static unsigned char inline inb(unsigned short port) ! 13: { ! 14: unsigned char _v; ! 15: __asm__ volatile ("inb %1,%0":"=a" (_v):"d" (port)); ! 16: return _v; ! 17: } 1.1 root 18: 1.1.1.2 ! root 19: static unsigned char inb_p(unsigned short port) ! 20: { ! 21: unsigned char _v; ! 22: __asm__ volatile ("inb %1,%0\n" ! 23: "\tjmp 1f\n" ! 24: "1:\tjmp 1f\n" ! 25: "1:":"=a" (_v):"d" ((unsigned short) port)); ! 26: return _v; ! 27: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.