13 asm volatile (
"inb %w1, %b0" :
"=a" (data) :
"Nd" (port));
23 asm volatile (
"rep insb" :
"+D" (addr),
"+c" (cnt) :
"d" (port) :
"memory");
32 asm volatile (
"inw %w1, %w0" :
"=a" (data) :
"Nd" (port));
42 asm volatile (
"rep insw" :
"+D" (addr),
"+c" (cnt) :
"d" (port) :
"memory");
51 asm volatile (
"inl %w1, %0" :
"=a" (data) :
"Nd" (port));
61 asm volatile (
"rep insl" :
"+D" (addr),
"+c" (cnt) :
"d" (port) :
"memory");
69 asm volatile (
"outb %b0, %w1" : :
"a" (data),
"Nd" (port));
78 asm volatile (
"rep outsb" :
"+S" (addr),
"+c" (cnt) :
"d" (port));
86 asm volatile (
"outw %w0, %w1" : :
"a" (data),
"Nd" (port));
95 asm volatile (
"rep outsw" :
"+S" (addr),
"+c" (cnt) :
"d" (port));
103 asm volatile (
"outl %0, %w1" : :
"a" (data),
"Nd" (port));
112 asm volatile (
"rep outsl" :
"+S" (addr),
"+c" (cnt) :
"d" (port));
static uint8_t inb(uint16_t port)
Reads and returns a byte from PORT.
static void outsw(uint16_t port, const void *addr, size_t cnt)
Writes to PORT each 16-bit unit (halfword) of data in the CNT-halfword buffer starting at ADDR.
static void outw(uint16_t port, uint16_t data)
Writes the 16-bit DATA to PORT.
static void insl(uint16_t port, void *addr, size_t cnt)
Reads CNT 32-bit (word) units from PORT, one after another, and stores them into the buffer starting ...
static void outsb(uint16_t port, const void *addr, size_t cnt)
Writes to PORT each byte of data in the CNT-byte buffer starting at ADDR.
static void insw(uint16_t port, void *addr, size_t cnt)
Reads CNT 16-bit (halfword) units from PORT, one after another, and stores them into the buffer start...
static void outb(uint16_t port, uint8_t data)
Writes byte DATA to PORT.
static uint32_t inl(uint16_t port)
Reads and returns 32 bits from PORT.
static void outl(uint16_t port, uint32_t data)
Writes the 32-bit DATA to PORT.
static uint16_t inw(uint16_t port)
Reads and returns 16 bits from PORT.
static void outsl(uint16_t port, const void *addr, size_t cnt)
Writes to PORT each 32-bit unit (word) of data in the CNT-word buffer starting at ADDR.
static void insb(uint16_t port, void *addr, size_t cnt)
Reads CNT bytes from PORT, one after another, and stores them into the buffer starting at ADDR.
unsigned short int uint16_t