aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel/main.cpp')
-rw-r--r--kernel/kernel/main.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/kernel/kernel/main.cpp b/kernel/kernel/main.cpp
index 8dce5143..fef35ed9 100644
--- a/kernel/kernel/main.cpp
+++ b/kernel/kernel/main.cpp
@@ -107,6 +107,39 @@ auto run_demo() -> void
kstd::println("--> written {} bytes to /dev/ram32: {::#04x}", bytes_written, write_buffer);
// 10) do memory dump to show that the write to the device file had an effect
+
+ // 11) dmp the module before create new directory and file
+ // -exec monitor memsave 0xffffffff8025b000 0xA00000 dump_before.bin
+
+ // 12) create new folder and file
+ auto creation_result = kapi::filesystem::mkdir("/test_files").and_then([] {
+ return kapi::filesystem::create("/test_files/test_file.txt");
+ });
+
+ if (!creation_result)
+ {
+ kapi::system::panic("demo failed", creation_result.error());
+ }
+
+ // 13) write to the new file
+ auto fd_4 = kapi::filesystem::open("/test_files/test_file.txt");
+ if (fd_4)
+ {
+ kstd::println("--> successfully opened /test_files/test_file.txt as a file with file descriptor {}", fd_4.value());
+ }
+ else
+ {
+ kapi::system::panic("demo failed");
+ }
+
+ kstd::vector<std::byte> test_write_buffer{
+ std::byte{'H'}, std::byte{'e'}, std::byte{'l'}, std::byte{'l'}, std::byte{'o'}, std::byte{' '}, std::byte{'T'},
+ std::byte{'e'}, std::byte{'a'}, std::byte{'c'}, std::byte{'h'}, std::byte{'O'}, std::byte{'S'}};
+ bytes_written = *kapi::filesystem::write(*fd_4, test_write_buffer.data(), test_write_buffer.size());
+ kstd::println("--> written {} bytes to /test_files/test_file.txt: {::#04x}", bytes_written, test_write_buffer);
+
+ // 14) dmp the module after create new directory and file
+ // -exec monitor memsave 0xffffffff8025b000 0xA00000 dump_after.bin
}
auto main() -> int