aboutsummaryrefslogtreecommitdiff
path: root/mubios/include/io.h
diff options
context:
space:
mode:
Diffstat (limited to 'mubios/include/io.h')
-rw-r--r--mubios/include/io.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/mubios/include/io.h b/mubios/include/io.h
index cedd1c1..a056c13 100644
--- a/mubios/include/io.h
+++ b/mubios/include/io.h
@@ -50,4 +50,25 @@ io_in16 (u16 port)
return value;
}
+static inline void
+io_out16 (u16 port, u16 value)
+{
+ __asm__ volatile ("outw %0, %1" : : "a"(value), "Nd"(port));
+}
+
+static inline u32
+io_in32 (u16 port)
+{
+ u32 value;
+
+ __asm__ volatile ("inl %1, %0" : "=a"(value) : "Nd"(port));
+ return value;
+}
+
+static inline void
+io_out32 (u16 port, u32 value)
+{
+ __asm__ volatile ("outl %0, %1" : : "a"(value), "Nd"(port));
+}
+
#endif // MUBIOS_IO_H