aboutsummaryrefslogtreecommitdiff
path: root/include/garmos
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2017-03-05 23:16:05 +0100
committerRobin Krahl <robin.krahl@ireas.org>2017-03-05 23:17:59 +0100
commit1f0ea8244fb80966280bd8ecee6a797130592d27 (patch)
treef1224a47a09942f16e7a8aa341ca3189d0b23c64 /include/garmos
parentf01e48444829cce9eec25f4562778da0ed4ae66c (diff)
downloadgarmos-1f0ea8244fb80966280bd8ecee6a797130592d27.tar.gz
garmos-1f0ea8244fb80966280bd8ecee6a797130592d27.tar.bz2
arch: add port set, port get and additional register set functions
Add regset16 and regset32 to the existing regset8 in arch.h, and prtset{8,16,32} and prtget{8,16,32} to access ports.
Diffstat (limited to 'include/garmos')
-rw-r--r--include/garmos/arch.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/garmos/arch.h b/include/garmos/arch.h
index 1e57e06..0cee4c2 100644
--- a/include/garmos/arch.h
+++ b/include/garmos/arch.h
@@ -17,6 +17,24 @@
#include <garmos/types.h>
+/*
+ * The functions in this header depend on the architecture. They should be
+ * provided by objects from the architecture.
+ */
+
+/* write data to a port */
+void prtset8(const uint16_t port, const uint8_t val);
+void prtset16(const uint16_t port, const uint16_t val);;
+void prtset32(const uint16_t port, const uint32_t val);
+
+/* read data from a port */
+uint8_t prtget8(const uint16_t port);
+uint16_t prtget16(const uint16_t port);
+uint32_t prtget32(const uint16_t port);
+
+/* set a memory register */
void regset8(const uint32_t reg, const uint8_t val);
+void regset16(const uint32_t reg, const uint16_t val);
+void regset32(const uint32_t reg, const uint32_t val);
#endif