summaryrefslogtreecommitdiffhomepage
path: root/public
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-13 08:46:49 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-13 08:50:20 +0200
commitf5f62b145d472a2a2c388c385be9d1c4e5b5d84c (patch)
treecf7fef087fd16ea345f44bb9e796327462141b98 /public
parent609698e032f4d110004908d4eefcc77c43553258 (diff)
feat(kernel): see below for the commit's details.
what? - UserProcessScheduler and CoreProcessScheduler have been extended for FILE_TREE and also HEAP_TREE structures. - DDK device's API will use dk_ calls instead of sk_ calls. - SIGTRAP and Interrupt handlers have been fixed to handle when no process is being run, and the kernel is instead raising the interrupt. - Add file for HeFS formating in DiskImage.fwrk - Replace generic handler with breakpoint handler in int 3. why? - These changes are bug fixes and improvements. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'public')
-rw-r--r--public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc32
-rw-r--r--public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc2
2 files changed, 33 insertions, 1 deletions
diff --git a/public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc b/public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc
new file mode 100644
index 00000000..39f53a7a
--- /dev/null
+++ b/public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc
@@ -0,0 +1,32 @@
+/* -------------------------------------------
+
+ Copyright (C) 2025, Amlal El Mahrouss, all rights reserved.
+
+ FILE: DiskImage+NeFS.cc
+ PURPOSE: Disk Imaging framework.
+
+ ------------------------------------------- */
+
+#include <DiskImage.fwrk/headers/DiskImage.h>
+
+#include <FSKit/HeFS.h>
+#include <FirmwareKit/EPM.h>
+
+/// @brief format HeFS over an EPM disk.
+/// @param img disk image structure.
+/// @return Status code upon completion.
+SInt32 DI::DIFormatFilesystemNeFS(struct DI_DISK_IMAGE& img) noexcept {
+ if (!img.sector_sz || (img.sector_sz % 512 != 0)) return kDIFailureStatus;
+
+ if (*img.out_name == 0 || *img.disk_name == 0) return kDIFailureStatus;
+
+ IORef handle = IoOpenFile(img.out_name, nullptr);
+
+ if (!handle) return kDIFailureStatus;
+
+ ::IoCloseFile(handle);
+
+ handle = nullptr;
+
+ return kDISuccessStatus;
+} \ No newline at end of file
diff --git a/public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc b/public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc
index bee84cca..9f5aa12b 100644
--- a/public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc
+++ b/public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc
@@ -12,7 +12,7 @@
#include <FSKit/NeFS.h>
#include <FirmwareKit/EPM.h>
-/// @brief NeFS format over EPM.
+/// @brief format NeFS over an EPM disk.
/// @param img disk image structure.
/// @return Status code upon completion.
SInt32 DI::DIFormatFilesystemNeFS(struct DI_DISK_IMAGE& img) noexcept {