summaryrefslogtreecommitdiff
path: root/device.h
diff options
context:
space:
mode:
authorTobias Klauser <klto@zhaw.ch>2010-11-16 14:51:59 +0100
committerTobias Klauser <klto@zhaw.ch>2010-11-16 14:52:20 +0100
commitfc6515ef027d94412228875095708b949b801496 (patch)
tree2640edc09346a4d97cf09bb39d2ea8b21feceb86 /device.h
parent6f8db3bda1c2644adfc25b83b73285df9a80585d (diff)
Add basic device handling infrastructure
Diffstat (limited to 'device.h')
-rw-r--r--device.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/device.h b/device.h
new file mode 100644
index 0000000..beabe52
--- /dev/null
+++ b/device.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch>
+ * Copyright (C) 2010 chysun2000@gmail.com
+ *
+ * This file is part of nios2sim-ng.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ */
+
+#ifndef _DEVICE_H_
+#define _DEVICE_H_
+
+struct device {
+ const char *name;
+
+ uint32_t base;
+ size_t size;
+
+ int (*init)(struct device *dev);
+ bool (*is_dev_addr)(struct device *dev, uint32_t addr);
+ void (*simulate)(struct device *dev);
+
+ /* Private data */
+ void *priv;
+};
+
+extern int device_init_all(void);
+
+#endif /* _DEVICE_H_ */