42,7 → 42,56 |
#include <arch/register.h> |
#include <config.h> |
#include <arch/stack.h> |
#include <arch/barrier.h> |
|
static inline void outb(ioport_t port, uint8_t v) |
{ |
*((volatile uint8_t *)(port)) = v; |
memory_barrier(); |
} |
|
static inline void outw(ioport_t port, uint16_t v) |
{ |
*((volatile uint16_t *)(port)) = v; |
memory_barrier(); |
} |
|
static inline void outl(ioport_t port, uint32_t v) |
{ |
*((volatile uint32_t *)(port)) = v; |
memory_barrier(); |
} |
|
static inline uint8_t inb(ioport_t port) |
{ |
uint8_t rv; |
|
rv = *((volatile uint8_t *)(port)); |
memory_barrier(); |
|
return rv; |
} |
|
static inline uint16_t inw(ioport_t port) |
{ |
uint16_t rv; |
|
rv = *((volatile uint16_t *)(port)); |
memory_barrier(); |
|
return rv; |
} |
|
static inline uint32_t inl(ioport_t port) |
{ |
uint32_t rv; |
|
rv = *((volatile uint32_t *)(port)); |
memory_barrier(); |
|
return rv; |
} |
|
/** Read Processor State register. |
* |
* @return Value of PSTATE register. |