RTEMS  5.0.0
Files | Macros

I/O. More...

Files

file  i386_io.h
 I/O.
 

Macros

#define rtems_inb(port)
 
#define rtems_inw(port)
 
#define rtems_outb(port, data)   __asm__ volatile ("outb %%al,%%dx" : : "a" (data), "d" (port))
 
#define rtems_outw(port, data)   __asm__ volatile ("outw %%ax,%%dx" : : "a" (data), "d" (port))
 
#define outp(port, val)   rtems_outb(port,val)
 
#define inp(port)   rtems_inb(port)
 
#define outb(val, port)   rtems_outb(port,val)
 
#define inb(port)   rtems_inb(port)
 
#define outb_p(val, port)   rtems_outb(port,val)
 
#define inb_p(port)   rtems_inb(port)
 
#define outportb(port, val)   rtems_outb(port,val)
 
#define inportb(port)   rtems_inb(port)
 
#define outw(val, port)   rtems_outw(port,val)
 
#define inw(port)   rtems_inw(port)
 
#define cli()   __asm__ __volatile__("cli")
 
#define sti()   __asm__ __volatile__("sti");
 

Detailed Description

I/O.

Macro Definition Documentation

◆ rtems_inb

#define rtems_inb (   port)
Value:
({ \
register int _inb_result; \
\
__asm__ volatile ("xorl %%eax,%%eax; inb %%dx,%%al" : \
"=a" (_inb_result) : "d" (port)); \
_inb_result; \
})

◆ rtems_inw

#define rtems_inw (   port)
Value:
({ \
register int _inbw_result; \
\
__asm__ volatile ("xorl %%eax,%%eax; inw %%dx,%%ax" : \
"=a" (_inbw_result) : "d" (port)); \
_inbw_result; \
})