diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-13 08:46:49 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-13 08:50:20 +0200 |
| commit | f5f62b145d472a2a2c388c385be9d1c4e5b5d84c (patch) | |
| tree | cf7fef087fd16ea345f44bb9e796327462141b98 /public/frameworks | |
| parent | 609698e032f4d110004908d4eefcc77c43553258 (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/frameworks')
| -rw-r--r-- | public/frameworks/DiskImage.fwrk/src/DiskImage+HeFS.cc | 32 | ||||
| -rw-r--r-- | public/frameworks/DiskImage.fwrk/src/DiskImage+NeFS.cc | 2 |
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 { |
