5 #define outb(value, port) \
6 __asm__ ("outb %%al, %%dx\n\t" \
7 ::"a"(value),"d"(port))
11 __asm__ volatile ("inb %%dx,%%al":"=a" (_v):"d" (port)); \
16 #define outb_p(value, port) \
17 __asm__ ("outb %%al, %%dx\n\t" \
20 "1:" ::"a"(value),"d"(port))
22 #define inb_p(port) ({ \
24 __asm__ volatile ("inb %%dx, %%al\n\t" \
27 "1:":"=a"(_v):"d"(port)); \
32 #define insl(port, buf, nr) \
33 __asm__ ("cld;rep;insl\n\t" \
34 ::"d"(port), "D"(buf), "c"(nr))
36 #define outsl(buf, nr, port) \
37 __asm__ ("cld;rep;outsl\n\t" \
38 ::"d"(port), "S" (buf), "c" (nr))