summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/x86_64/include/rtems/score/cpuimpl.h
diff options
context:
space:
mode:
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.h14
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