diff options
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/Boot/Mod/.keep (renamed from dev/Boot/Modules/.keep) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/NetBoot/.hgkeep (renamed from dev/Boot/Modules/NetBoot/.hgkeep) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/NetBoot/Boot.S (renamed from dev/Boot/Modules/NetBoot/Boot.S) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/NetBoot/Module.cc (renamed from dev/Boot/Modules/NetBoot/Module.cc) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/NetBoot/NetBoot.h (renamed from dev/Boot/Modules/NetBoot/NetBoot.h) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/NetBoot/build.json (renamed from dev/Boot/Modules/NetBoot/build.json) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/.hgkeep (renamed from dev/Boot/Modules/SysChk/.hgkeep) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/Boot.S (renamed from dev/Boot/Modules/SysChk/Boot.S) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/Module.cc (renamed from dev/Boot/Modules/SysChk/Module.cc) | 0 | ||||
| -rw-r--r-- | dev/Boot/Mod/SysChk/build.json (renamed from dev/Boot/Modules/SysChk/build.json) | 0 | ||||
| -rw-r--r-- | dev/Boot/src/HEL/AMD64/BootMain.cc | 2 | ||||
| -rw-r--r-- | dev/Kernel/KernelKit/FileMgr.h | 50 | ||||
| -rw-r--r-- | dev/Kernel/NetworkKit/IPC.h | 22 | ||||
| -rw-r--r-- | dev/Kernel/SystemKit/SwapMgr.h (renamed from dev/Kernel/NewKit/SwapMgr.h) | 13 | ||||
| -rw-r--r-- | dev/Kernel/SystemKit/ThreadMgr.h (renamed from dev/Kernel/NewKit/ThreadMgr.h) | 0 | ||||
| -rw-r--r-- | dev/Kernel/src/KernelPanic.cc | 2 | ||||
| -rw-r--r-- | dev/Kernel/src/Mgr/SwapMgr.cc | 28 | ||||
| -rw-r--r-- | dev/Kernel/src/Network/IPAddr.cc (renamed from dev/Kernel/src/Network/IP.cc) | 7 | ||||
| -rw-r--r-- | dev/Kernel/src/Network/IPCAddr.cc | 0 | ||||
| -rw-r--r-- | dev/Kernel/src/Network/IPCMsg.cc (renamed from dev/Kernel/src/Network/IPC.cc) | 80 | ||||
| -rw-r--r-- | dev/Kernel/src/PEFCodeMgr.cc | 4 | ||||
| -rw-r--r-- | dev/LibSCI/GPU.h | 2 | ||||
| -rw-r--r-- | dev/LibSCI/SCI.h | 2 | ||||
| -rw-r--r-- | dev/LibSCI/src/SCI.cc | 2 |
24 files changed, 96 insertions, 118 deletions
diff --git a/dev/Boot/Modules/.keep b/dev/Boot/Mod/.keep index e69de29b..e69de29b 100644 --- a/dev/Boot/Modules/.keep +++ b/dev/Boot/Mod/.keep diff --git a/dev/Boot/Modules/NetBoot/.hgkeep b/dev/Boot/Mod/NetBoot/.hgkeep index e69de29b..e69de29b 100644 --- a/dev/Boot/Modules/NetBoot/.hgkeep +++ b/dev/Boot/Mod/NetBoot/.hgkeep diff --git a/dev/Boot/Modules/NetBoot/Boot.S b/dev/Boot/Mod/NetBoot/Boot.S index 0527e509..0527e509 100644 --- a/dev/Boot/Modules/NetBoot/Boot.S +++ b/dev/Boot/Mod/NetBoot/Boot.S diff --git a/dev/Boot/Modules/NetBoot/Module.cc b/dev/Boot/Mod/NetBoot/Module.cc index 6277da70..6277da70 100644 --- a/dev/Boot/Modules/NetBoot/Module.cc +++ b/dev/Boot/Mod/NetBoot/Module.cc diff --git a/dev/Boot/Modules/NetBoot/NetBoot.h b/dev/Boot/Mod/NetBoot/NetBoot.h index cdfe17f9..cdfe17f9 100644 --- a/dev/Boot/Modules/NetBoot/NetBoot.h +++ b/dev/Boot/Mod/NetBoot/NetBoot.h diff --git a/dev/Boot/Modules/NetBoot/build.json b/dev/Boot/Mod/NetBoot/build.json index 9df27b3c..9df27b3c 100644 --- a/dev/Boot/Modules/NetBoot/build.json +++ b/dev/Boot/Mod/NetBoot/build.json diff --git a/dev/Boot/Modules/SysChk/.hgkeep b/dev/Boot/Mod/SysChk/.hgkeep index e69de29b..e69de29b 100644 --- a/dev/Boot/Modules/SysChk/.hgkeep +++ b/dev/Boot/Mod/SysChk/.hgkeep diff --git a/dev/Boot/Modules/SysChk/Boot.S b/dev/Boot/Mod/SysChk/Boot.S index 9fdf4428..9fdf4428 100644 --- a/dev/Boot/Modules/SysChk/Boot.S +++ b/dev/Boot/Mod/SysChk/Boot.S diff --git a/dev/Boot/Modules/SysChk/Module.cc b/dev/Boot/Mod/SysChk/Module.cc index a48e524c..a48e524c 100644 --- a/dev/Boot/Modules/SysChk/Module.cc +++ b/dev/Boot/Mod/SysChk/Module.cc diff --git a/dev/Boot/Modules/SysChk/build.json b/dev/Boot/Mod/SysChk/build.json index cd21e269..cd21e269 100644 --- a/dev/Boot/Modules/SysChk/build.json +++ b/dev/Boot/Mod/SysChk/build.json diff --git a/dev/Boot/src/HEL/AMD64/BootMain.cc b/dev/Boot/src/HEL/AMD64/BootMain.cc index 51a49d0f..29238413 100644 --- a/dev/Boot/src/HEL/AMD64/BootMain.cc +++ b/dev/Boot/src/HEL/AMD64/BootMain.cc @@ -232,7 +232,7 @@ EFI_EXTERN_C EFI_API Int32 Main(EfiHandlePtr ImageHandle, root.fKind = kNeFSCatalogKindDir; - partition_factory.Format("FileSystem (A:) <System_Build\"" __DATE__ "\">", &root, 1); + partition_factory.Format("Zka HD", &root, 1); UI::ui_draw_background(); diff --git a/dev/Kernel/KernelKit/FileMgr.h b/dev/Kernel/KernelKit/FileMgr.h index c448519e..07be1089 100644 --- a/dev/Kernel/KernelKit/FileMgr.h +++ b/dev/Kernel/KernelKit/FileMgr.h @@ -209,7 +209,7 @@ namespace Kernel FileStream(const FileStream&); public: - ErrorOr<Int64> WriteAll(const VoidPtr data) noexcept + ErrorOr<Int64> Write(const SizeT offset, const VoidPtr data, SizeT len) noexcept { if (this->fFileRestrict != kFileMgrRestrictReadWrite && this->fFileRestrict != kFileMgrRestrictReadWriteBinary && @@ -224,33 +224,14 @@ namespace Kernel if (man) { - man->Write(fFile, data, kFileWriteAll); + man->Write(offset, fFile, data, len); return ErrorOr<Int64>(0); } return ErrorOr<Int64>(kErrorInvalidData); } - VoidPtr ReadAll() noexcept - { - if (this->fFileRestrict != kFileMgrRestrictReadWrite && - this->fFileRestrict != kFileMgrRestrictReadWriteBinary && - this->fFileRestrict != kFileMgrRestrictRead && - this->fFileRestrict != kFileMgrRestrictReadBinary) - return nullptr; - - auto man = FSClass::GetMounted(); - - if (man) - { - VoidPtr ret = man->Read(fFile, kFileReadAll, 0); - return ret; - } - - return nullptr; - } - - ErrorOr<Int64> WriteAll(const Char* fName, const VoidPtr data) noexcept + ErrorOr<Int64> Write(const Char* name, const VoidPtr data, SizeT len) noexcept { if (this->fFileRestrict != kFileMgrRestrictReadWrite && this->fFileRestrict != kFileMgrRestrictReadWriteBinary && @@ -265,14 +246,14 @@ namespace Kernel if (man) { - man->Write(fName, fFile, data, kFileWriteAll); + man->Write(name, fFile, data, len); return ErrorOr<Int64>(0); } return ErrorOr<Int64>(kErrorInvalidData); } - VoidPtr Read(const Char* fName) noexcept + VoidPtr Read(const Char* name, const SizeT sz) noexcept { if (this->fFileRestrict != kFileMgrRestrictReadWrite && this->fFileRestrict != kFileMgrRestrictReadWriteBinary && @@ -284,14 +265,14 @@ namespace Kernel if (man) { - VoidPtr ret = man->Read(fName, fFile, kFileReadAll, 0); + VoidPtr ret = man->Read(name, fFile, kFileReadAll, 0); return ret; } return nullptr; } - VoidPtr Read(SizeT offset, SizeT sz) + VoidPtr Read(SizeT offset, const SizeT sz) { if (this->fFileRestrict != kFileMgrRestrictReadWrite && this->fFileRestrict != kFileMgrRestrictReadWriteBinary && @@ -312,23 +293,6 @@ namespace Kernel return nullptr; } - Void Write(SizeT offset, voidPtr data, SizeT sz) - { - if (this->fFileRestrict != kFileMgrRestrictReadWrite && - this->fFileRestrict != kFileMgrRestrictReadWriteBinary && - this->fFileRestrict != kFileMgrRestrictWrite && - this->fFileRestrict != kFileMgrRestrictWriteBinary) - return; - - auto man = FSClass::GetMounted(); - - if (man) - { - man->Seek(fFile, offset); - man->Write(fFile, data, sz, kFileReadChunk); - } - } - public: /// @brief Leak node pointer. /// @return The node pointer. diff --git a/dev/Kernel/NetworkKit/IPC.h b/dev/Kernel/NetworkKit/IPC.h index 4bc293c4..c6594659 100644 --- a/dev/Kernel/NetworkKit/IPC.h +++ b/dev/Kernel/NetworkKit/IPC.h @@ -27,11 +27,11 @@ namespace Kernel { - struct IPCAddress; - struct IPCMessage; + struct IPC_ADDR; + struct IPC_MSG; /// @brief 128-bit IPC address. - struct PACKED IPCAddress final + struct PACKED IPC_ADDR final { UInt64 UserProcessID; UInt64 UserProcessTeam; @@ -40,18 +40,18 @@ namespace Kernel // some operators. //////////////////////////////////// - bool operator==(const IPCAddress& addr) noexcept + bool operator==(const IPC_ADDR& addr) noexcept { return addr.UserProcessID == this->UserProcessID && addr.UserProcessTeam == this->UserProcessTeam; } - bool operator==(IPCAddress& addr) noexcept + bool operator==(IPC_ADDR& addr) noexcept { return addr.UserProcessID == this->UserProcessID && addr.UserProcessTeam == this->UserProcessTeam; } }; - typedef struct IPCAddress IPCEPAddressKind; + typedef struct IPC_ADDR IPCEPAddressKind; enum { @@ -63,7 +63,7 @@ namespace Kernel constexpr inline auto kIPCMsgSize = 6094U; /// @brief IPC connection header, message cannot be greater than 6K. - typedef struct IPCMessage final + typedef struct IPC_MSG final { UInt32 IpcHeaderMagic; // cRemoteHeaderMagic UInt8 IpcEndianess; // 0 : LE, 1 : BE @@ -76,7 +76,7 @@ namespace Kernel UInt8 IpcData[kIPCMsgSize]; /// @brief Passes the message to target, could be anything, HTTP packet, JSON or whatever. - Bool Pass(IPCMessage* target) noexcept + Bool Pass(IPC_MSG* target) noexcept { if (target && target->IpcFrom == this->IpcTo) { @@ -90,17 +90,17 @@ namespace Kernel return No; } - } PACKED IPCMessage; + } PACKED IPC_MSG; /// @brief Sanitize packet function /// @retval true packet is correct. /// @retval false packet is incorrect and process has crashed. - Bool ipc_sanitize_packet(_Input IPCMessage* pckt_in); + Bool ipc_sanitize_packet(_Input IPC_MSG* pckt_in); /// @brief Construct packet function /// @retval true packet is correct. /// @retval false packet is incorrect and process has crashed. - Bool ipc_construct_packet(_Output _Input IPCMessage** pckt_in); + Bool ipc_construct_packet(_Output _Input IPC_MSG** pckt_in); } // namespace Kernel #endif // INC_IPC_H diff --git a/dev/Kernel/NewKit/SwapMgr.h b/dev/Kernel/SystemKit/SwapMgr.h index 42df9ca6..27296882 100644 --- a/dev/Kernel/NewKit/SwapMgr.h +++ b/dev/Kernel/SystemKit/SwapMgr.h @@ -16,16 +16,3 @@ /// @file SwapMgr.h /// @brief Virtual memory swap manager. - -namespace Kernel -{ - class SwapMgrDisk; - - class SwapMgrDisk - { - static BOOL DumpToDisk(const Char* fork_name, SizeT fork_name_len = 0) - { - return YES; - } - } -}
\ No newline at end of file diff --git a/dev/Kernel/NewKit/ThreadMgr.h b/dev/Kernel/SystemKit/ThreadMgr.h index 8148c28d..8148c28d 100644 --- a/dev/Kernel/NewKit/ThreadMgr.h +++ b/dev/Kernel/SystemKit/ThreadMgr.h diff --git a/dev/Kernel/src/KernelPanic.cc b/dev/Kernel/src/KernelPanic.cc index 9b200336..f26925c5 100644 --- a/dev/Kernel/src/KernelPanic.cc +++ b/dev/Kernel/src/KernelPanic.cc @@ -14,8 +14,6 @@ #include <Mod/GfxMgr/FBMgr.h> #include <Mod/GfxMgr/TextMgr.h> -#define kWebsiteURL "https://el-mahrouss-logic.com/products/help/" - /* Each error code is attributed with an ID, which will prompt a string onto the * screen. Wait for debugger... */ diff --git a/dev/Kernel/src/Mgr/SwapMgr.cc b/dev/Kernel/src/Mgr/SwapMgr.cc new file mode 100644 index 00000000..47e20982 --- /dev/null +++ b/dev/Kernel/src/Mgr/SwapMgr.cc @@ -0,0 +1,28 @@ +/* ------------------------------------------- + + Copyright (C) 2024, Theater Quality Inc, all rights reserved. + +------------------------------------------- */ + +#include <SystemKit/SwapMgr.h> +#include <KernelKit/FileMgr.h> + +namespace Kernel +{ + class SwapMgrDiskMgr; + + class SwapMgrDiskMgr final + { + static BOOL DumpToDisk(const Char* fork_name, const SizeT fork_name_len, VoidPtr data, const SizeT data_len) + { + if (!fork_name || !fork_name_len) + return NO; + + FileStream file(kSwapMgrPageFile, "wb"); + + file.Write(fork_name, data, data_len); + + return YES; + } + } +}
\ No newline at end of file diff --git a/dev/Kernel/src/Network/IP.cc b/dev/Kernel/src/Network/IPAddr.cc index 2a07bc62..f8e3e903 100644 --- a/dev/Kernel/src/Network/IP.cc +++ b/dev/Kernel/src/Network/IPAddr.cc @@ -104,9 +104,12 @@ namespace Kernel bool IPFactory::IpCheckVersion4(const Char* ip) { - int cnter = 0; + if (!ip) + return NO; - for (Size base = 0; base < rt_string_len(ip); ++base) + Int32 cnter = 0; + + for (SizeT base = 0; base < rt_string_len(ip); ++base) { if (ip[base] == '.') { diff --git a/dev/Kernel/src/Network/IPCAddr.cc b/dev/Kernel/src/Network/IPCAddr.cc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/dev/Kernel/src/Network/IPCAddr.cc diff --git a/dev/Kernel/src/Network/IPC.cc b/dev/Kernel/src/Network/IPCMsg.cc index 44b4665c..c93f7e7a 100644 --- a/dev/Kernel/src/Network/IPC.cc +++ b/dev/Kernel/src/Network/IPCMsg.cc @@ -8,57 +8,55 @@ #include <KernelKit/LPC.h> #include <KernelKit/UserProcessScheduler.h> -using namespace Kernel; - -/// @internal -/// @brief The internal sanitize function. -Bool ipc_int_sanitize_packet(IPCMessage* pckt) +namespace Kernel { - auto endian = rtl_deduce_endianess(pckt, ((Char*)pckt)[0]); - - switch (endian) + /// @internal + /// @brief The internal sanitize function. + Bool ipc_int_sanitize_packet(IPC_MSG* pckt) { - case Endian::kEndianBig: { - if (pckt->IpcEndianess == kIPCLittleEndian) - goto ipc_check_failed; + auto endian = rtl_deduce_endianess(pckt, ((Char*)pckt)[0]); - break; - } - case Endian::kEndianLittle: { - if (pckt->IpcEndianess == kIPCBigEndian) + switch (endian) + { + case Endian::kEndianBig: { + if (pckt->IpcEndianess == kIPCLittleEndian) + goto ipc_check_failed; + + break; + } + case Endian::kEndianLittle: { + if (pckt->IpcEndianess == kIPCBigEndian) + goto ipc_check_failed; + + break; + } + case Endian::kEndianMixed: { + if (pckt->IpcEndianess == kIPCMixedEndian) + goto ipc_check_failed; + + break; + } + default: goto ipc_check_failed; + } - break; - } - case Endian::kEndianMixed: { - if (pckt->IpcEndianess == kIPCMixedEndian) + if (pckt->IpcFrom == pckt->IpcTo || + pckt->IpcPacketSize > kIPCMsgSize) + { goto ipc_check_failed; + } - break; - } - default: - goto ipc_check_failed; - } + return pckt->IpcPacketSize > 1 && pckt->IpcHeaderMagic == kIPCHeaderMagic; - if (pckt->IpcFrom == pckt->IpcTo || - pckt->IpcPacketSize > kIPCMsgSize) - { - goto ipc_check_failed; + ipc_check_failed: + err_local_get() = kErrorIPC; + return false; } - return pckt->IpcPacketSize > 1 && pckt->IpcHeaderMagic == kIPCHeaderMagic; - -ipc_check_failed: - err_local_get() = kErrorIPC; - return false; -} - -namespace Kernel -{ /// @brief Sanitize packet function /// @retval true packet is correct. /// @retval false packet is incorrect and process has crashed. - Bool ipc_sanitize_packet(IPCMessage* pckt) + Bool ipc_sanitize_packet(IPC_MSG* pckt) { if (!pckt || !ipc_int_sanitize_packet(pckt)) @@ -73,7 +71,7 @@ namespace Kernel /// @brief Construct packet function /// @retval true packet is correct. /// @retval false packet is incorrect and process has crashed. - Bool ipc_construct_packet(_Output IPCMessage** pckt_in) + Bool ipc_construct_packet(_Output IPC_MSG** pckt_in) { // don't act if it's not even valid. if (!pckt_in) @@ -90,7 +88,7 @@ namespace Kernel return false; } - *pckt_in = new IPCMessage(); + *pckt_in = new IPC_MSG(); if (*pckt_in) { @@ -99,7 +97,7 @@ namespace Kernel (*pckt_in)->IpcHeaderMagic = kIPCHeaderMagic; (*pckt_in)->IpcEndianess = static_cast<UInt8>(endian); - (*pckt_in)->IpcPacketSize = sizeof(IPCMessage); + (*pckt_in)->IpcPacketSize = sizeof(IPC_MSG); (*pckt_in)->IpcTo.UserProcessID = 0; (*pckt_in)->IpcTo.UserProcessTeam = 0; diff --git a/dev/Kernel/src/PEFCodeMgr.cc b/dev/Kernel/src/PEFCodeMgr.cc index a8205004..c78dac01 100644 --- a/dev/Kernel/src/PEFCodeMgr.cc +++ b/dev/Kernel/src/PEFCodeMgr.cc @@ -66,7 +66,7 @@ namespace Kernel auto kPefHeader = "PEF_CONTAINER"; - fCachedBlob = fFile->Read(kPefHeader); + fCachedBlob = fFile->Read(kPefHeader, mib_cast(16)); PEFContainer* container = reinterpret_cast<PEFContainer*>(fCachedBlob); @@ -123,7 +123,7 @@ namespace Kernel PEFContainer* container = reinterpret_cast<PEFContainer*>(fCachedBlob); - auto blob = fFile->Read(name); + auto blob = fFile->Read(name, mib_cast(16)); PEFCommandHeader* container_header = reinterpret_cast<PEFCommandHeader*>(blob); diff --git a/dev/LibSCI/GPU.h b/dev/LibSCI/GPU.h index 976ad2e5..8a1af4ca 100644 --- a/dev/LibSCI/GPU.h +++ b/dev/LibSCI/GPU.h @@ -10,7 +10,7 @@ Purpose: GFX System Calls. #ifndef SCIKIT_GPU_H #define SCIKIT_GPU_H -#include <LibSCI.h> +#include <SCI.h> // ------------------------------------------------------------------------------------------ // // GPU API. diff --git a/dev/LibSCI/SCI.h b/dev/LibSCI/SCI.h index 2eb6ed80..5b32a2fd 100644 --- a/dev/LibSCI/SCI.h +++ b/dev/LibSCI/SCI.h @@ -2,7 +2,7 @@ Copyright (C) 2024, Theater Quality Inc, all rights reserved.
-File: LibSCI.h
+File: SCI.h
Purpose: System Calls.
------------------------------------------- */
diff --git a/dev/LibSCI/src/SCI.cc b/dev/LibSCI/src/SCI.cc index ec6cb937..b08a830f 100644 --- a/dev/LibSCI/src/SCI.cc +++ b/dev/LibSCI/src/SCI.cc @@ -4,7 +4,7 @@ ------------------------------------------- */
-#include <LibSCI.h>
+#include <SCI.h>
/// @file LibSCI.cc
/// @brief Source file for the memory functions of the LibSCI.
|
