diff options
Diffstat (limited to 'cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h')
-rw-r--r-- | cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h b/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h index bac092c320..67fe712a32 100644 --- a/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h +++ b/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h @@ -28,6 +28,20 @@ extern "C" { #endif +static inline uint8_t inport_byte(uint16_t port) +{ + uint8_t ret; + __asm__ volatile ( "inb %1, %0" + : "=a" (ret) + : "Nd" (port) ); + return ret; +} + +static inline void outport_byte(uint16_t port, uint8_t val) +{ + __asm__ volatile ( "outb %0, %1" : : "a" (val), "Nd" (port) ); +} + #ifdef __cplusplus } #endif |