aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/CMakeLists.txt1
-rw-r--r--kernel/include/kernel/test_support/devices/character_device.hpp23
-rw-r--r--kernel/src/test_support/devices/character_device.cpp20
3 files changed, 44 insertions, 0 deletions
diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt
index a360f17..df20704 100644
--- a/kernel/CMakeLists.txt
+++ b/kernel/CMakeLists.txt
@@ -102,6 +102,7 @@ else()
"src/test_support/kapi/interrupts.cpp"
"src/test_support/kapi/memory.cpp"
"src/test_support/devices/block_device.cpp"
+ "src/test_support/devices/character_device.cpp"
"src/test_support/log_buffer.cpp"
"src/test_support/output_device.cpp"
"src/test_support/page_mapper.cpp"
diff --git a/kernel/include/kernel/test_support/devices/character_device.hpp b/kernel/include/kernel/test_support/devices/character_device.hpp
new file mode 100644
index 0000000..a106cfb
--- /dev/null
+++ b/kernel/include/kernel/test_support/devices/character_device.hpp
@@ -0,0 +1,23 @@
+#ifndef TEACHOS_KERNEL_TEST_SUPPORT_DEVICES_CHARACTER_DEVICE_HPP
+#define TEACHOS_KERNEL_TEST_SUPPORT_DEVICES_CHARACTER_DEVICE_HPP
+
+#include "kapi/devices/device.hpp"
+
+#include <kstd/string>
+#include <kstd/vector>
+
+#include <cstddef>
+
+namespace kernel::tests::devices
+{
+ // TODO fix inheritance when character devices are implemented
+ struct character_device : kapi::devices::device
+ {
+ character_device(size_t major, size_t minor, kstd::string const & name);
+
+ auto init() -> bool override;
+ };
+
+} // namespace kernel::tests::devices
+
+#endif \ No newline at end of file
diff --git a/kernel/src/test_support/devices/character_device.cpp b/kernel/src/test_support/devices/character_device.cpp
new file mode 100644
index 0000000..9e9227d
--- /dev/null
+++ b/kernel/src/test_support/devices/character_device.cpp
@@ -0,0 +1,20 @@
+
+#include "kernel/test_support/devices/character_device.hpp"
+
+#include "kapi/devices.hpp"
+
+#include <kstd/string>
+
+#include <cstddef>
+
+namespace kernel::tests::devices
+{
+ character_device::character_device(size_t major, size_t minor, kstd::string const & name)
+ : kapi::devices::device(major, minor, name)
+ {}
+
+ auto character_device::init() -> bool
+ {
+ return true;
+ }
+} // namespace kernel::tests::devices \ No newline at end of file