diff options
| -rw-r--r-- | .vscode/c_cpp_properties.json | 12 | ||||
| -rw-r--r-- | DriverKit/KernelCall.c (renamed from Kernel/DriverKit/KernelCall.c) | 0 | ||||
| -rw-r--r-- | DriverKit/KernelDev.c (renamed from Kernel/DriverKit/KernelDev.c) | 0 | ||||
| -rw-r--r-- | DriverKit/KernelDev.h (renamed from Kernel/DriverKit/KernelDev.h) | 0 | ||||
| -rw-r--r-- | DriverKit/KernelDispatchCall.S (renamed from Kernel/DriverKit/KernelDispatchCall.S) | 0 | ||||
| -rw-r--r-- | DriverKit/KernelPrint.c (renamed from Kernel/DriverKit/KernelPrint.c) | 0 | ||||
| -rw-r--r-- | DriverKit/KernelPrint.h (renamed from Kernel/DriverKit/KernelPrint.h) | 0 | ||||
| -rw-r--r-- | DriverKit/KernelStd.h (renamed from Kernel/DriverKit/KernelStd.h) | 0 | ||||
| -rw-r--r-- | DriverKit/KernelStdCxx.cc (renamed from Kernel/DriverKit/KernelStdCxx.cc) | 2 | ||||
| -rw-r--r-- | DriverKit/KernelString.c (renamed from Kernel/DriverKit/KernelString.c) | 0 | ||||
| -rw-r--r-- | DriverKit/KernelString.h (renamed from Kernel/DriverKit/KernelString.h) | 0 | ||||
| -rw-r--r-- | DriverKit/ReadMe.txt | 4 | ||||
| -rw-r--r-- | Drivers/.gitkeep (renamed from Kernel/Drivers/.gitkeep) | 0 | ||||
| -rw-r--r-- | Drivers/Bonjour/Bonjour.c (renamed from Kernel/Drivers/Bonjour/Bonjour.c) | 0 | ||||
| -rw-r--r-- | Drivers/Bonjour/DriverRsrc.rsrc (renamed from Kernel/Drivers/Bonjour/DriverRsrc.rsrc) | 0 | ||||
| -rw-r--r-- | Drivers/Bonjour/x86_64.mk (renamed from Kernel/Drivers/Bonjour/x86_64.mk) | 1 | ||||
| -rw-r--r-- | Drivers/DynamicLoader/DriverRsrc.rsrc (renamed from Kernel/Drivers/SampleDriver/DriverRsrc.rsrc) | 0 | ||||
| -rw-r--r-- | Drivers/DynamicLoader/DynamicLoader.c | 26 | ||||
| -rw-r--r-- | Drivers/DynamicLoader/x86_64.mk (renamed from Kernel/Drivers/SampleDriver/x86_64.mk) | 1 | ||||
| -rw-r--r-- | Drivers/SampleDriver/DriverRsrc.rsrc (renamed from Kernel/Drivers/MahroussUpdate/DriverRsrc.rsrc) | 10 | ||||
| -rw-r--r-- | Drivers/SampleDriver/SampleDriver.c (renamed from Kernel/Drivers/SampleDriver/SampleDriver.c) | 1 | ||||
| -rw-r--r-- | Drivers/SampleDriver/x86_64.mk (renamed from Kernel/Drivers/MahroussUpdate/x86_64.mk) | 10 | ||||
| -rw-r--r-- | Kernel/Drivers/MahroussUpdate/MahroussUpdate.cc | 24 | ||||
| -rw-r--r-- | Kernel/Drivers/MahroussUpdate/MahroussUpdate.hxx | 37 | ||||
| -rw-r--r-- | Kernel/KernelKit/DeviceManager.hpp | 4 | ||||
| -rw-r--r-- | Kernel/KernelKit/DriveManager.hxx | 6 | ||||
| -rw-r--r-- | Kernel/KernelKit/Framebuffer.hpp | 1 | ||||
| -rw-r--r-- | Kernel/KernelKit/XCOFF.hxx | 24 | ||||
| -rw-r--r-- | Kernel/KernelRsrc.rsrc | 6 | ||||
| -rw-r--r-- | SDK/Dist/.gitkeep (renamed from SDK/Library/.gitkeep) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/.gitkeep (renamed from SDK/Library/CoreCxxRuntime/.gitkeep) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreCxxRuntime/.gitkeep (renamed from SDK/Library/CorePEFRuntime/.gitkeep) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreCxxRuntime/Private.xml (renamed from SDK/Library/CoreCxxRuntime/Private.xml) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreCxxRuntime/Sources/New+Delete.cxx (renamed from SDK/Library/CoreCxxRuntime/Sources/New+Delete.cxx) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CorePEFRuntime/.gitkeep (renamed from SDK/Library/CoreSystem/.gitkeep) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CorePEFRuntime/Private.xml (renamed from SDK/Library/CorePEFRuntime/Private.xml) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CorePEFRuntime/Sources/PEFStart.c (renamed from SDK/Library/CorePEFRuntime/Sources/PEFStart.c) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/.gitkeep (renamed from SDK/Library/CoreSystem/ARM64/.gitkeep) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/AMD64/CoreAssembly.s (renamed from SDK/Library/CoreSystem/AMD64/CoreAssembly.s) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/ARM64/.gitkeep (renamed from SDK/Library/CoreSystem/RISCV/.gitkeep) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Alert.h (renamed from SDK/Library/CoreSystem/Headers/Alert.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Defines.h (renamed from SDK/Library/CoreSystem/Headers/Defines.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/File.h (renamed from SDK/Library/CoreSystem/Headers/File.h) | 4 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Heap.h (renamed from SDK/Library/CoreSystem/Headers/Heap.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Hint.h (renamed from SDK/Library/CoreSystem/Headers/Hint.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Intl.h (renamed from SDK/Library/CoreSystem/Headers/Intl.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Math.h (renamed from SDK/Library/CoreSystem/Headers/Math.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Rsrc.h (renamed from SDK/Library/CoreSystem/Headers/Rsrc.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Thread.h (renamed from SDK/Library/CoreSystem/Headers/Thread.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Headers/Transport.h (renamed from SDK/Library/CoreSystem/Headers/Transport.h) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/POWER/CoreAssembly.s (renamed from SDK/Library/CoreSystem/POWER/CoreAssembly.s) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Private.xml (renamed from SDK/Library/CoreSystem/Private.xml) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/RISCV/.gitkeep (renamed from SDK/Tools/.gitkeep) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/ReadMe.md (renamed from SDK/Library/CoreSystem/ReadMe.md) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Sources/App.c (renamed from SDK/Library/CoreSystem/Sources/App.c) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Sources/CRTStartup.c (renamed from SDK/Library/CoreSystem/Sources/CRTStartup.c) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Sources/File.c (renamed from SDK/Library/CoreSystem/Sources/File.c) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Sources/Heap.c (renamed from SDK/Library/CoreSystem/Sources/Heap.c) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Sources/Math.c (renamed from SDK/Library/CoreSystem/Sources/Math.c) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/Sources/Thread.c (renamed from SDK/Library/CoreSystem/Sources/Thread.c) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/amd64.mk (renamed from SDK/Library/CoreSystem/amd64.mk) | 0 | ||||
| -rw-r--r-- | SDK/Libraries/CoreSystem/compile_flags.txt (renamed from SDK/Library/CoreSystem/compile_flags.txt) | 0 |
62 files changed, 78 insertions, 95 deletions
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index cda7d4a1..d9d86a41 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -4,9 +4,11 @@ "name": "MicroKernel (Macintosh)", "includePath": [ "${workspaceFolder}/Kernel/**", + "${workspaceFolder}/Drivers/**", "${workspaceFolder}/Boot/**", - "${workspaceFolder}/SDK/Library/CoreSystem/**", - "${workspaceFolder}/SDK/Library/**" + "${workspaceFolder}/**", + "${workspaceFolder}/SDK/Libraries/CoreSystem/**", + "${workspaceFolder}/SDK/Libraries/**" ], "defines": [ "__MAHROUSS__", @@ -36,10 +38,12 @@ { "name": "MicroKernel (Windows)", "includePath": [ + "${workspaceFolder}/Drivers/**", "${workspaceFolder}/Kernel/**", "${workspaceFolder}/Boot/**", - "${workspaceFolder}/SDK/Library/CoreSystem/**", - "${workspaceFolder}/SDK/Library/**" + "${workspaceFolder}/**", + "${workspaceFolder}/SDK/Libraries/CoreSystem/**", + "${workspaceFolder}/SDK/Libraries/**" ], "defines": [ "__MAHROUSS__", diff --git a/Kernel/DriverKit/KernelCall.c b/DriverKit/KernelCall.c index d61f8439..d61f8439 100644 --- a/Kernel/DriverKit/KernelCall.c +++ b/DriverKit/KernelCall.c diff --git a/Kernel/DriverKit/KernelDev.c b/DriverKit/KernelDev.c index 704f17da..704f17da 100644 --- a/Kernel/DriverKit/KernelDev.c +++ b/DriverKit/KernelDev.c diff --git a/Kernel/DriverKit/KernelDev.h b/DriverKit/KernelDev.h index c3435e8d..c3435e8d 100644 --- a/Kernel/DriverKit/KernelDev.h +++ b/DriverKit/KernelDev.h diff --git a/Kernel/DriverKit/KernelDispatchCall.S b/DriverKit/KernelDispatchCall.S index 64b6663e..64b6663e 100644 --- a/Kernel/DriverKit/KernelDispatchCall.S +++ b/DriverKit/KernelDispatchCall.S diff --git a/Kernel/DriverKit/KernelPrint.c b/DriverKit/KernelPrint.c index 533bf34a..533bf34a 100644 --- a/Kernel/DriverKit/KernelPrint.c +++ b/DriverKit/KernelPrint.c diff --git a/Kernel/DriverKit/KernelPrint.h b/DriverKit/KernelPrint.h index 7bf0dda9..7bf0dda9 100644 --- a/Kernel/DriverKit/KernelPrint.h +++ b/DriverKit/KernelPrint.h diff --git a/Kernel/DriverKit/KernelStd.h b/DriverKit/KernelStd.h index b0dba70e..b0dba70e 100644 --- a/Kernel/DriverKit/KernelStd.h +++ b/DriverKit/KernelStd.h diff --git a/Kernel/DriverKit/KernelStdCxx.cc b/DriverKit/KernelStdCxx.cc index 99bcc579..633437dc 100644 --- a/Kernel/DriverKit/KernelStdCxx.cc +++ b/DriverKit/KernelStdCxx.cc @@ -12,7 +12,7 @@ void* operator new(size_t sz) { if (!sz) ++sz; auto ptr = kernelCall("NewKernelHeap", 1, sz); - kernelCall("KernelHeapProtect", 1, ptr); + kernelCall("ProtectKernelHeap", 1, ptr); return ptr; } diff --git a/Kernel/DriverKit/KernelString.c b/DriverKit/KernelString.c index 6f28f4d8..6f28f4d8 100644 --- a/Kernel/DriverKit/KernelString.c +++ b/DriverKit/KernelString.c diff --git a/Kernel/DriverKit/KernelString.h b/DriverKit/KernelString.h index db063a1b..db063a1b 100644 --- a/Kernel/DriverKit/KernelString.h +++ b/DriverKit/KernelString.h diff --git a/DriverKit/ReadMe.txt b/DriverKit/ReadMe.txt new file mode 100644 index 00000000..e33c88ec --- /dev/null +++ b/DriverKit/ReadMe.txt @@ -0,0 +1,4 @@ +== The Driver Kit == + +-> A kit used to write user level drivers. +-> Use MPCC to compile the code, it can work on a patched GNU compiler. diff --git a/Kernel/Drivers/.gitkeep b/Drivers/.gitkeep index e69de29b..e69de29b 100644 --- a/Kernel/Drivers/.gitkeep +++ b/Drivers/.gitkeep diff --git a/Kernel/Drivers/Bonjour/Bonjour.c b/Drivers/Bonjour/Bonjour.c index 52187ac1..52187ac1 100644 --- a/Kernel/Drivers/Bonjour/Bonjour.c +++ b/Drivers/Bonjour/Bonjour.c diff --git a/Kernel/Drivers/Bonjour/DriverRsrc.rsrc b/Drivers/Bonjour/DriverRsrc.rsrc index 494e85ee..494e85ee 100644 --- a/Kernel/Drivers/Bonjour/DriverRsrc.rsrc +++ b/Drivers/Bonjour/DriverRsrc.rsrc diff --git a/Kernel/Drivers/Bonjour/x86_64.mk b/Drivers/Bonjour/x86_64.mk index b2493edf..afbc70ad 100644 --- a/Kernel/Drivers/Bonjour/x86_64.mk +++ b/Drivers/Bonjour/x86_64.mk @@ -30,7 +30,6 @@ invalid-recipe: .PHONY: all all: compile-amd64 $(LD_GNU) $(OBJ) $(LD_FLAGS) -o Bonjour.exe - cp Bonjour.exe ../../Root/Boot/Bonjour.exe ifneq ($(DEBUG_SUPPORT), ) DEBUG = -D__DEBUG__ diff --git a/Kernel/Drivers/SampleDriver/DriverRsrc.rsrc b/Drivers/DynamicLoader/DriverRsrc.rsrc index 3a3b8774..3a3b8774 100644 --- a/Kernel/Drivers/SampleDriver/DriverRsrc.rsrc +++ b/Drivers/DynamicLoader/DriverRsrc.rsrc diff --git a/Drivers/DynamicLoader/DynamicLoader.c b/Drivers/DynamicLoader/DynamicLoader.c new file mode 100644 index 00000000..16ffc06e --- /dev/null +++ b/Drivers/DynamicLoader/DynamicLoader.c @@ -0,0 +1,26 @@ +/* ------------------------------------------- + + Copyright SoftwareLabs + +------------------------------------------- */ + +#include <DriverKit/KernelString.h> +#include <DriverKit/KernelPrint.h> + +int __ImageStart(void) +{ + kernelPrintStr("DynamicLoader: Starting up...\r"); + return 0; +} + +int __ImageEnd(void) +{ + kernelPrintStr("DynamicLoader: Shutting down...\r"); + return 0; +} + +///! @brief Use this to check your stack, if using MinGW/MSVC. +void ___chkstk_ms(void) +{ + (void)0; +} diff --git a/Kernel/Drivers/SampleDriver/x86_64.mk b/Drivers/DynamicLoader/x86_64.mk index 5bdf0331..1d46948b 100644 --- a/Kernel/Drivers/SampleDriver/x86_64.mk +++ b/Drivers/DynamicLoader/x86_64.mk @@ -30,7 +30,6 @@ invalid-recipe: .PHONY: all all: compile-amd64 $(LD_GNU) $(OBJ) $(LD_FLAGS) -o SampleDriver.exe - cp SampleDriver.exe ../../Root/Boot/SampleDriver.exe ifneq ($(DEBUG_SUPPORT), ) DEBUG = -D__DEBUG__ diff --git a/Kernel/Drivers/MahroussUpdate/DriverRsrc.rsrc b/Drivers/SampleDriver/DriverRsrc.rsrc index 88261a47..3a3b8774 100644 --- a/Kernel/Drivers/MahroussUpdate/DriverRsrc.rsrc +++ b/Drivers/SampleDriver/DriverRsrc.rsrc @@ -1,4 +1,4 @@ -1 ICON "../../Root/Boot/Icons/update-logo.ico" +1 ICON "../../Root/Boot/Icons/driver-logo.ico" 1 VERSIONINFO FILEVERSION 1,0,0,0 @@ -9,12 +9,12 @@ BEGIN BLOCK "080904E4" BEGIN VALUE "CompanyName", "SoftwareLabs" - VALUE "FileDescription", "New OS Mahrouss Update driver." + VALUE "FileDescription", "New OS driver." VALUE "FileVersion", "1.00" - VALUE "InternalName", "Mahrouss Update." + VALUE "InternalName", "SampleDriver" VALUE "LegalCopyright", "Copyright SoftwareLabs, all rights reserved." - VALUE "OriginalFilename", "MahroussUpdate.exe" - VALUE "ProductName", "MahroussUpdate." + VALUE "OriginalFilename", "SampleDriver.exe" + VALUE "ProductName", "SampleDriver" VALUE "ProductVersion", "1.00" END END diff --git a/Kernel/Drivers/SampleDriver/SampleDriver.c b/Drivers/SampleDriver/SampleDriver.c index b92b1ef8..4085bf4f 100644 --- a/Kernel/Drivers/SampleDriver/SampleDriver.c +++ b/Drivers/SampleDriver/SampleDriver.c @@ -22,4 +22,5 @@ int __ImageEnd(void) ///! @brief Use this to check your stack, if using MinGW/MSVC. void ___chkstk_ms(void) { + (void)0; } diff --git a/Kernel/Drivers/MahroussUpdate/x86_64.mk b/Drivers/SampleDriver/x86_64.mk index 13b30d59..1d46948b 100644 --- a/Kernel/Drivers/MahroussUpdate/x86_64.mk +++ b/Drivers/SampleDriver/x86_64.mk @@ -21,7 +21,7 @@ REM=rm REM_FLAG=-f FLAG_ASM=-f win64 -FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mgeneral-regs-only -mno-red-zone -D__KERNEL__ -DEFI_FUNCTION_WRAPPER -I../ -I../../ -I./ -c -ffreestanding -D__HAVE_MAHROUSS_APIS__ -D__MAHROUSS__ -D__BOOTLOADER__ -I./ +FLAG_GNU=-fshort-wchar -D__EFI_x86_64__ -mgeneral-regs-only -mno-red-zone -D__KERNEL__ -DEFI_FUNCTION_WRAPPER -I../ -I../../ -I./ -c -ffreestanding -std=c17 -D__HAVE_MAHROUSS_APIS__ -D__MAHROUSS__ -D__BOOTLOADER__ -I./ .PHONY: invalid-recipe invalid-recipe: @@ -29,8 +29,7 @@ invalid-recipe: .PHONY: all all: compile-amd64 - $(LD_GNU) $(OBJ) $(LD_FLAGS) -o MahroussUpdate.exe - cp MahroussUpdate.exe ../../Root/Boot/MahroussUpdate.exe + $(LD_GNU) $(OBJ) $(LD_FLAGS) -o SampleDriver.exe ifneq ($(DEBUG_SUPPORT), ) DEBUG = -D__DEBUG__ @@ -39,12 +38,11 @@ endif .PHONY: compile-amd64 compile-amd64: $(WINDRES) DriverRsrc.rsrc -O coff -o DriverRsrc.o - $(CC_GNU) $(FLAG_GNU) -std=c17 $(DEBUG) $(wildcard *.c) $(wildcard ../../DriverKit/*.c) $(wildcard ../../DriverKit/*.S) - $(CC_GNU) $(FLAG_GNU) -std=c++17 -fno-rtti -fno-exceptions $(DEBUG) $(wildcard *.cc) $(wildcard ../../DriverKit/*.cc) + $(CC_GNU) $(FLAG_GNU) $(DEBUG) $(wildcard *.c) $(wildcard ../../DriverKit/*.c) $(wildcard ../../DriverKit/*.S) .PHONY: clean clean: - $(REM) $(REM_FLAG) $(OBJ) MahroussUpdate.exe + $(REM) $(REM_FLAG) $(OBJ) SampleDriver.exe .PHONY: help help: diff --git a/Kernel/Drivers/MahroussUpdate/MahroussUpdate.cc b/Kernel/Drivers/MahroussUpdate/MahroussUpdate.cc deleted file mode 100644 index eb8d03c7..00000000 --- a/Kernel/Drivers/MahroussUpdate/MahroussUpdate.cc +++ /dev/null @@ -1,24 +0,0 @@ -/* ------------------------------------------- - - Copyright SoftwareLabs - -------------------------------------------- */ - -#include <DriverKit/KernelString.h> -#include <DriverKit/KernelPrint.h> - -#include <Drivers/MahroussUpdate/MahroussUpdate.hxx> - -DK_EXTERN int __ImageStart(void) { - kernelPrintStr("Mahrouss Update: Looking for updates...\r"); - UpdateRequest req("mup://release-mahrouss.logic/newos/"); - - return 0; -} - -DK_EXTERN int __ImageEnd(void) { - return 0; -} - -///! @brief Use this to check your stack, if using MinGW/MSVC. -DK_EXTERN void ___chkstk_ms(void) {} diff --git a/Kernel/Drivers/MahroussUpdate/MahroussUpdate.hxx b/Kernel/Drivers/MahroussUpdate/MahroussUpdate.hxx deleted file mode 100644 index dbcaed43..00000000 --- a/Kernel/Drivers/MahroussUpdate/MahroussUpdate.hxx +++ /dev/null @@ -1,37 +0,0 @@ -/* ------------------------------------------- - - Copyright SoftwareLabs - -------------------------------------------- */ - -#pragma once - -#include <DriverKit/KernelString.h> - -#include "DriverKit/KernelPrint.h" - -/// @file Software update job driver. - -class UpdateRequest; -class UpdateRequestObserver; - -class UpdateRequest -{ -public: - explicit UpdateRequest(const char* patchUrl = "mup://invalid-url-scheme/") - { - kernelStringCopy(this->fPatchUrl, patchUrl, kernelStringLength(patchUrl)); - - kernelPrintStr("Mahrouss Update, Looking at: "); - kernelPrintStr(patchUrl); - kernelPrintChar('\r'); - kernelPrintChar('\n'); - } - - ~UpdateRequest() - { - } - -private: - char fPatchUrl[4096] = {0}; -}; diff --git a/Kernel/KernelKit/DeviceManager.hpp b/Kernel/KernelKit/DeviceManager.hpp index 6e2a803f..dc53fed5 100644 --- a/Kernel/KernelKit/DeviceManager.hpp +++ b/Kernel/KernelKit/DeviceManager.hpp @@ -21,8 +21,6 @@ #include <NewKit/ErrorOr.hpp> #include <NewKit/Ref.hpp> -#define kDriveManagerCount 4U - // Last Rev // Wed, Apr 3, 2024 9:09:41 AM @@ -70,7 +68,7 @@ namespace NewOS } bool operator!() { - return !fOut && !fIn; + return !fOut || !fIn; } private: diff --git a/Kernel/KernelKit/DriveManager.hxx b/Kernel/KernelKit/DriveManager.hxx index 7978221a..019812a3 100644 --- a/Kernel/KernelKit/DriveManager.hxx +++ b/Kernel/KernelKit/DriveManager.hxx @@ -14,8 +14,10 @@ #include <NewKit/Defines.hpp> #include <NewKit/String.hpp> -#define kDriveInvalidID -1 -#define kDriveNameLen 32 +#define kDriveManagerCount (4U) + +#define kDriveInvalidID (-1) +#define kDriveNameLen (32) namespace NewOS { diff --git a/Kernel/KernelKit/Framebuffer.hpp b/Kernel/KernelKit/Framebuffer.hpp index fd4eff04..1f189e77 100644 --- a/Kernel/KernelKit/Framebuffer.hpp +++ b/Kernel/KernelKit/Framebuffer.hpp @@ -39,6 +39,7 @@ namespace NewOS : fFrameBufferAddr(addr) { } + ~Framebuffer() { } diff --git a/Kernel/KernelKit/XCOFF.hxx b/Kernel/KernelKit/XCOFF.hxx index f2e49c4c..55e37bfd 100644 --- a/Kernel/KernelKit/XCOFF.hxx +++ b/Kernel/KernelKit/XCOFF.hxx @@ -16,12 +16,15 @@ #include <NewKit/Defines.hpp> -#define kXCOFF64Magic (0x01F7) +#define cXCOFF64Magic (0x01F7) -#define kXCOFFRelFlg (0x0001) -#define kXCOFFExecutable (0x0002) -#define kXCOFFLnno (0x0004) -#define kXCOFFLSyms (0x0008) +#define cXCOFFRelFlg (0x0001) +#define cXCOFFExecutable (0x0002) +#define cXCOFFLnno (0x0004) +#define cXCOFFLSyms (0x0008) + +struct XCoffFileHeader; +struct XCoffForkHeader; /// @brief XCoff file header, meant for POWER apps. typedef struct XCoffFileHeader @@ -33,6 +36,15 @@ typedef struct XCoffFileHeader NewOS::UIntPtr fSymPtr; NewOS::UInt32 fNumSyms; NewOS::UInt16 fOptHdr; // ?: Number of bytes in optional header -} XCoffFileHeader; +} XCoffFileHeader32, XCoffFileHeader64; + +#define cForkNameLen (255) + +/// @brief This the executable manifest fork. +typedef struct XCoffForkHeader { + NewOS::Char fPropertiesXMLFork[cForkNameLen]; + NewOS::Char fDynamicLoaderFork[cForkNameLen]; + NewOS::Char fCodeSignFork[cForkNameLen]; +} XCoffForkHeader; #endif // ifndef __XCOFF__ diff --git a/Kernel/KernelRsrc.rsrc b/Kernel/KernelRsrc.rsrc index 6689d10c..91699b63 100644 --- a/Kernel/KernelRsrc.rsrc +++ b/Kernel/KernelRsrc.rsrc @@ -11,12 +11,12 @@ BEGIN BLOCK "080904E4" BEGIN VALUE "CompanyName", "SoftwareLabs" - VALUE "FileDescription", "New OS multiplatform kernel." + VALUE "FileDescription", "NuX/OS kernel." VALUE "FileVersion", KERNEL_VERSION - VALUE "InternalName", "NewKernel" + VALUE "InternalName", "NeXUS" VALUE "LegalCopyright", "SoftwareLabs" VALUE "OriginalFilename", "NewOSKrnl.exe" - VALUE "ProductName", "NewKernel" + VALUE "ProductName", "NewOSKrnl" VALUE "ProductVersion", KERNEL_VERSION END END diff --git a/SDK/Library/.gitkeep b/SDK/Dist/.gitkeep index e69de29b..e69de29b 100644 --- a/SDK/Library/.gitkeep +++ b/SDK/Dist/.gitkeep diff --git a/SDK/Library/CoreCxxRuntime/.gitkeep b/SDK/Libraries/.gitkeep index e69de29b..e69de29b 100644 --- a/SDK/Library/CoreCxxRuntime/.gitkeep +++ b/SDK/Libraries/.gitkeep diff --git a/SDK/Library/CorePEFRuntime/.gitkeep b/SDK/Libraries/CoreCxxRuntime/.gitkeep index e69de29b..e69de29b 100644 --- a/SDK/Library/CorePEFRuntime/.gitkeep +++ b/SDK/Libraries/CoreCxxRuntime/.gitkeep diff --git a/SDK/Library/CoreCxxRuntime/Private.xml b/SDK/Libraries/CoreCxxRuntime/Private.xml index 7ee426c0..7ee426c0 100644 --- a/SDK/Library/CoreCxxRuntime/Private.xml +++ b/SDK/Libraries/CoreCxxRuntime/Private.xml diff --git a/SDK/Library/CoreCxxRuntime/Sources/New+Delete.cxx b/SDK/Libraries/CoreCxxRuntime/Sources/New+Delete.cxx index cc59586f..cc59586f 100644 --- a/SDK/Library/CoreCxxRuntime/Sources/New+Delete.cxx +++ b/SDK/Libraries/CoreCxxRuntime/Sources/New+Delete.cxx diff --git a/SDK/Library/CoreSystem/.gitkeep b/SDK/Libraries/CorePEFRuntime/.gitkeep index e69de29b..e69de29b 100644 --- a/SDK/Library/CoreSystem/.gitkeep +++ b/SDK/Libraries/CorePEFRuntime/.gitkeep diff --git a/SDK/Library/CorePEFRuntime/Private.xml b/SDK/Libraries/CorePEFRuntime/Private.xml index 7ee426c0..7ee426c0 100644 --- a/SDK/Library/CorePEFRuntime/Private.xml +++ b/SDK/Libraries/CorePEFRuntime/Private.xml diff --git a/SDK/Library/CorePEFRuntime/Sources/PEFStart.c b/SDK/Libraries/CorePEFRuntime/Sources/PEFStart.c index e9a45f09..e9a45f09 100644 --- a/SDK/Library/CorePEFRuntime/Sources/PEFStart.c +++ b/SDK/Libraries/CorePEFRuntime/Sources/PEFStart.c diff --git a/SDK/Library/CoreSystem/ARM64/.gitkeep b/SDK/Libraries/CoreSystem/.gitkeep index e69de29b..e69de29b 100644 --- a/SDK/Library/CoreSystem/ARM64/.gitkeep +++ b/SDK/Libraries/CoreSystem/.gitkeep diff --git a/SDK/Library/CoreSystem/AMD64/CoreAssembly.s b/SDK/Libraries/CoreSystem/AMD64/CoreAssembly.s index 5d1484cf..5d1484cf 100644 --- a/SDK/Library/CoreSystem/AMD64/CoreAssembly.s +++ b/SDK/Libraries/CoreSystem/AMD64/CoreAssembly.s diff --git a/SDK/Library/CoreSystem/RISCV/.gitkeep b/SDK/Libraries/CoreSystem/ARM64/.gitkeep index e69de29b..e69de29b 100644 --- a/SDK/Library/CoreSystem/RISCV/.gitkeep +++ b/SDK/Libraries/CoreSystem/ARM64/.gitkeep diff --git a/SDK/Library/CoreSystem/Headers/Alert.h b/SDK/Libraries/CoreSystem/Headers/Alert.h index 7decd4ca..7decd4ca 100644 --- a/SDK/Library/CoreSystem/Headers/Alert.h +++ b/SDK/Libraries/CoreSystem/Headers/Alert.h diff --git a/SDK/Library/CoreSystem/Headers/Defines.h b/SDK/Libraries/CoreSystem/Headers/Defines.h index a7e46234..a7e46234 100644 --- a/SDK/Library/CoreSystem/Headers/Defines.h +++ b/SDK/Libraries/CoreSystem/Headers/Defines.h diff --git a/SDK/Library/CoreSystem/Headers/File.h b/SDK/Libraries/CoreSystem/Headers/File.h index 594b4edb..0013b074 100644 --- a/SDK/Library/CoreSystem/Headers/File.h +++ b/SDK/Libraries/CoreSystem/Headers/File.h @@ -8,6 +8,8 @@ #include <Headers/Defines.h> +#define kMaxForkNameLength (256U) /* long fork names. */ + struct _Fork; /// @brief Filesystem wrapper. @@ -25,8 +27,6 @@ CS_EXTERN_C FSRef CSOpenFile(const CharacterTypeUTF8* path, const CharacterTypeU /// @return CS_EXTERN_C VoidType CSCloseFile(FSRef refCS); -#define kMaxForkNameLength (256U) /* long fork names. */ - /// @brief A fork information header. typedef struct _Fork { diff --git a/SDK/Library/CoreSystem/Headers/Heap.h b/SDK/Libraries/CoreSystem/Headers/Heap.h index b2ad6e74..b2ad6e74 100644 --- a/SDK/Library/CoreSystem/Headers/Heap.h +++ b/SDK/Libraries/CoreSystem/Headers/Heap.h diff --git a/SDK/Library/CoreSystem/Headers/Hint.h b/SDK/Libraries/CoreSystem/Headers/Hint.h index ee14711d..ee14711d 100644 --- a/SDK/Library/CoreSystem/Headers/Hint.h +++ b/SDK/Libraries/CoreSystem/Headers/Hint.h diff --git a/SDK/Library/CoreSystem/Headers/Intl.h b/SDK/Libraries/CoreSystem/Headers/Intl.h index b868adca..b868adca 100644 --- a/SDK/Library/CoreSystem/Headers/Intl.h +++ b/SDK/Libraries/CoreSystem/Headers/Intl.h diff --git a/SDK/Library/CoreSystem/Headers/Math.h b/SDK/Libraries/CoreSystem/Headers/Math.h index 0a13e86f..0a13e86f 100644 --- a/SDK/Library/CoreSystem/Headers/Math.h +++ b/SDK/Libraries/CoreSystem/Headers/Math.h diff --git a/SDK/Library/CoreSystem/Headers/Rsrc.h b/SDK/Libraries/CoreSystem/Headers/Rsrc.h index 7fe52910..7fe52910 100644 --- a/SDK/Library/CoreSystem/Headers/Rsrc.h +++ b/SDK/Libraries/CoreSystem/Headers/Rsrc.h diff --git a/SDK/Library/CoreSystem/Headers/Thread.h b/SDK/Libraries/CoreSystem/Headers/Thread.h index 15b40df3..15b40df3 100644 --- a/SDK/Library/CoreSystem/Headers/Thread.h +++ b/SDK/Libraries/CoreSystem/Headers/Thread.h diff --git a/SDK/Library/CoreSystem/Headers/Transport.h b/SDK/Libraries/CoreSystem/Headers/Transport.h index 3f6db3f1..3f6db3f1 100644 --- a/SDK/Library/CoreSystem/Headers/Transport.h +++ b/SDK/Libraries/CoreSystem/Headers/Transport.h diff --git a/SDK/Library/CoreSystem/POWER/CoreAssembly.s b/SDK/Libraries/CoreSystem/POWER/CoreAssembly.s index e7919f23..e7919f23 100644 --- a/SDK/Library/CoreSystem/POWER/CoreAssembly.s +++ b/SDK/Libraries/CoreSystem/POWER/CoreAssembly.s diff --git a/SDK/Library/CoreSystem/Private.xml b/SDK/Libraries/CoreSystem/Private.xml index 4be6c388..4be6c388 100644 --- a/SDK/Library/CoreSystem/Private.xml +++ b/SDK/Libraries/CoreSystem/Private.xml diff --git a/SDK/Tools/.gitkeep b/SDK/Libraries/CoreSystem/RISCV/.gitkeep index e69de29b..e69de29b 100644 --- a/SDK/Tools/.gitkeep +++ b/SDK/Libraries/CoreSystem/RISCV/.gitkeep diff --git a/SDK/Library/CoreSystem/ReadMe.md b/SDK/Libraries/CoreSystem/ReadMe.md index ae5df339..ae5df339 100644 --- a/SDK/Library/CoreSystem/ReadMe.md +++ b/SDK/Libraries/CoreSystem/ReadMe.md diff --git a/SDK/Library/CoreSystem/Sources/App.c b/SDK/Libraries/CoreSystem/Sources/App.c index 42ea19c6..42ea19c6 100644 --- a/SDK/Library/CoreSystem/Sources/App.c +++ b/SDK/Libraries/CoreSystem/Sources/App.c diff --git a/SDK/Library/CoreSystem/Sources/CRTStartup.c b/SDK/Libraries/CoreSystem/Sources/CRTStartup.c index 1cfad65d..1cfad65d 100644 --- a/SDK/Library/CoreSystem/Sources/CRTStartup.c +++ b/SDK/Libraries/CoreSystem/Sources/CRTStartup.c diff --git a/SDK/Library/CoreSystem/Sources/File.c b/SDK/Libraries/CoreSystem/Sources/File.c index 7547e7f2..7547e7f2 100644 --- a/SDK/Library/CoreSystem/Sources/File.c +++ b/SDK/Libraries/CoreSystem/Sources/File.c diff --git a/SDK/Library/CoreSystem/Sources/Heap.c b/SDK/Libraries/CoreSystem/Sources/Heap.c index e7a77ba5..e7a77ba5 100644 --- a/SDK/Library/CoreSystem/Sources/Heap.c +++ b/SDK/Libraries/CoreSystem/Sources/Heap.c diff --git a/SDK/Library/CoreSystem/Sources/Math.c b/SDK/Libraries/CoreSystem/Sources/Math.c index 19df42f3..19df42f3 100644 --- a/SDK/Library/CoreSystem/Sources/Math.c +++ b/SDK/Libraries/CoreSystem/Sources/Math.c diff --git a/SDK/Library/CoreSystem/Sources/Thread.c b/SDK/Libraries/CoreSystem/Sources/Thread.c index 7d00bf9e..7d00bf9e 100644 --- a/SDK/Library/CoreSystem/Sources/Thread.c +++ b/SDK/Libraries/CoreSystem/Sources/Thread.c diff --git a/SDK/Library/CoreSystem/amd64.mk b/SDK/Libraries/CoreSystem/amd64.mk index e64de90f..e64de90f 100644 --- a/SDK/Library/CoreSystem/amd64.mk +++ b/SDK/Libraries/CoreSystem/amd64.mk diff --git a/SDK/Library/CoreSystem/compile_flags.txt b/SDK/Libraries/CoreSystem/compile_flags.txt index 749a500e..749a500e 100644 --- a/SDK/Library/CoreSystem/compile_flags.txt +++ b/SDK/Libraries/CoreSystem/compile_flags.txt |
