From c142fe6fda7d09e929c9706b444cdc13ed5e72f3 Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Fri, 28 Jun 2024 08:26:19 +0200 Subject: IMP: Feature Pack #1 - Process scheduler. - System calls. - ACPI support. - Driver kit. - Filesystem support. - Program loader. - newstd/herror APIs. Signed-off-by: Amlal EL Mahrouss --- Comm/compile_flags.txt | 3 + Comm/herror.hxx | 8 +- Comm/newstd.hxx | 2 +- .../HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp | 9 +- Kernel/HALKit/AMD64/HalKernelMain.cxx | 5 +- Kernel/KernelKit/ProcessScheduler.hxx | 17 +- Kernel/KernelKit/SMPManager.hpp | 6 +- Kernel/KernelKit/Semaphore.hpp | 5 +- Kernel/Sources/KernelHeap.cxx | 1 + Kernel/Sources/ProcessScheduler.cxx | 13 +- Kernel/Sources/Semaphore.cxx | 19 +- newoskrnl.cflags | 1 + newoskrnl.config | 5 + newoskrnl.creator | 1 + newoskrnl.cxxflags | 1 + newoskrnl.files | 308 +++++++++++++++++++++ newoskrnl.includes | 2 + 17 files changed, 375 insertions(+), 31 deletions(-) create mode 100644 Comm/compile_flags.txt create mode 100644 newoskrnl.cflags create mode 100644 newoskrnl.config create mode 100644 newoskrnl.creator create mode 100644 newoskrnl.cxxflags create mode 100644 newoskrnl.files create mode 100644 newoskrnl.includes diff --git a/Comm/compile_flags.txt b/Comm/compile_flags.txt new file mode 100644 index 00000000..e1f07ac3 --- /dev/null +++ b/Comm/compile_flags.txt @@ -0,0 +1,3 @@ +-I./ +-I../Kerne; +-std=c++20 diff --git a/Comm/herror.hxx b/Comm/herror.hxx index 8cf15d17..e5042b60 100644 --- a/Comm/herror.hxx +++ b/Comm/herror.hxx @@ -8,6 +8,10 @@ #include +#define DbgOk() (kLastError == kErrorSuccess) +#define DbgFailed() (kLastError != kErrorSuccess) +#define DbgLastError() kLastError + typedef SInt32 HError; inline constexpr HError kErrorSuccess = 0; @@ -39,8 +43,4 @@ inline constexpr HError kErrorAsync = 57; inline constexpr HError kErrorNonBlocking = 58; inline constexpr HError kErrorUnimplemented = 0; -#define DbgOk() (kLastError == kErrorSuccess) -#define DbgFailed() (kLastError != kErrorSuccess) -#define DbgLastError() kLastError - inline HError kLastError = 0; diff --git a/Comm/newstd.hxx b/Comm/newstd.hxx index a56d1993..51216296 100644 --- a/Comm/newstd.hxx +++ b/Comm/newstd.hxx @@ -136,7 +136,7 @@ public: }; /** -This class contains an URL +@brief This class contains an URL */ class NURL { diff --git a/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp b/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp index e4a2d99c..dfa02b11 100644 --- a/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp +++ b/Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp @@ -160,6 +160,7 @@ namespace NewOS::HAL } STATIC HAL::StackFramePtr cFramePtr = nullptr; + STATIC Int32 cSMPInterrupt = 0x40; EXTERN_C Void hal_apic_acknowledge_cont(Void) { @@ -186,12 +187,13 @@ namespace NewOS::HAL { Semaphore sem; - sem.LockOrWait(&ProcessScheduler::The().Leak().TheCurrent().Leak(), Seconds(5)); + HardwareTimer timer(Seconds(5)); + sem.LockOrWait(&ProcessScheduler::The().Leak().TheCurrent().Leak(), &timer); cFramePtr = stackFrame; /// yes the exception field contains the core id. - hal_send_start_ipi(stackFrame->Rcx, 0x40, cBaseAddressAPIC); + hal_send_start_ipi(stackFrame->Rcx, cSMPInterrupt, cBaseAddressAPIC); sem.Unlock(); } @@ -245,10 +247,9 @@ namespace NewOS::HAL cProgramInitialized = new Boolean(true); - constexpr auto cWhereToInterrupt = 0x40; constexpr auto cWhatCore = 1; - hal_send_start_ipi(cWhatCore, cWhereToInterrupt, cBaseAddressAPIC); + hal_send_start_ipi(cWhatCore, cSMPInterrupt, cBaseAddressAPIC); } else { diff --git a/Kernel/HALKit/AMD64/HalKernelMain.cxx b/Kernel/HALKit/AMD64/HalKernelMain.cxx index 31732022..7d641153 100644 --- a/Kernel/HALKit/AMD64/HalKernelMain.cxx +++ b/Kernel/HALKit/AMD64/HalKernelMain.cxx @@ -16,6 +16,7 @@ #include #include #include +#include #define KERNEL_INIT(X) X; \ NewOS::ke_stop(RUNTIME_CHECK_BOOTSTRAP); @@ -179,12 +180,12 @@ EXTERN_C void hal_init_platform( }; kSyscalls[cRebootInterrupt].Leak().Leak()->fProc = [](NewOS::VoidPtr rdx) -> void { - NewOS::ACPIFactoryInterface acpi; + NewOS::ACPIFactoryInterface acpi(kHandoverHeader->f_HardwareTables.f_RsdPtr); acpi.Reboot(); }; kSyscalls[cShutdownInterrupt].Leak().Leak()->fProc = [](NewOS::VoidPtr rdx) -> void { - NewOS::ACPIFactoryInterface acpi; + NewOS::ACPIFactoryInterface acpi(kHandoverHeader->f_HardwareTables.f_RsdPtr); acpi.Shutdown(); }; diff --git a/Kernel/KernelKit/ProcessScheduler.hxx b/Kernel/KernelKit/ProcessScheduler.hxx index 98008d69..11555b1d 100644 --- a/Kernel/KernelKit/ProcessScheduler.hxx +++ b/Kernel/KernelKit/ProcessScheduler.hxx @@ -141,7 +141,8 @@ namespace NewOS NEWOS_COPY_DEFAULT(ProcessHeader) public: - void SetEntrypoint(UIntPtr& imageStart) noexcept; + void SetEntrypoint(UIntPtr& imageStart) noexcept; + const Int32& GetExitCode() noexcept; public: Char Name[kProcessLen] = {"Process"}; @@ -179,30 +180,32 @@ namespace NewOS } //! @brief Crash the app, exits with code ~0. - void Crash(); + Void Crash(); //! @brief Exits app. - void Exit(Int32 exitCode = 0); + Void Exit(Int32 exitCode = 0); //! @brief TLS Allocate - VoidPtr New(const SizeT& sz); + VoidPtr New(const SizeT& sz); //! @brief TLS Free. - Boolean Delete(VoidPtr ptr, const SizeT& sz); + Boolean Delete(VoidPtr ptr, const SizeT& sz); //! @brief Wakes up threads. - void Wake(const bool wakeup = false); + Void Wake(const bool wakeup = false); // ProcessHeader getters. public: //! @brief ProcessHeader name getter, example: "C RunTime" - const Char* GetName(); + const Char* GetName(); const ProcessSelector& GetSelector(); const ProcessStatus& GetStatus(); const AffinityKind& GetAffinity(); private: + Int32 fLastExitCode{0}; + friend ProcessScheduler; friend ProcessHelper; }; diff --git a/Kernel/KernelKit/SMPManager.hpp b/Kernel/KernelKit/SMPManager.hpp index 1840dd20..9f4166ad 100644 --- a/Kernel/KernelKit/SMPManager.hpp +++ b/Kernel/KernelKit/SMPManager.hpp @@ -4,8 +4,8 @@ ------------------------------------------- */ -#ifndef __SMP_MANAGER__ -#define __SMP_MANAGER__ +#ifndef __INC_SMP_MANAGER_HPP__ +#define __INC_SMP_MANAGER_HPP__ #include #include @@ -126,4 +126,4 @@ namespace NewOS Void rt_hang_thread(HAL::StackFramePtr stack); } // namespace NewOS -#endif // !__SMP_MANAGER__ +#endif // !__INC_SMP_MANAGER_HPP__ diff --git a/Kernel/KernelKit/Semaphore.hpp b/Kernel/KernelKit/Semaphore.hpp index 7850804d..83d711ed 100644 --- a/Kernel/KernelKit/Semaphore.hpp +++ b/Kernel/KernelKit/Semaphore.hpp @@ -7,6 +7,7 @@ #pragma once #include +#include #include namespace NewOS @@ -27,11 +28,11 @@ namespace NewOS bool Unlock() noexcept; public: - void Sync() noexcept; + void WaitForProcess() noexcept; public: bool Lock(ProcessHeader* process); - bool LockOrWait(ProcessHeader* process, const Int64& seconds); + bool LockOrWait(ProcessHeader* process, HardwareTimerInterface* timer); public: NEWOS_COPY_DEFAULT(Semaphore); diff --git a/Kernel/Sources/KernelHeap.cxx b/Kernel/Sources/KernelHeap.cxx index c3e8e86b..875e00fb 100644 --- a/Kernel/Sources/KernelHeap.cxx +++ b/Kernel/Sources/KernelHeap.cxx @@ -185,6 +185,7 @@ namespace NewOS { virtualAddress->fCRC32 = ke_calculate_crc32((Char*)virtualAddress->fTargetPtr, virtualAddress->fTargetPtrSize); + return true; } } diff --git a/Kernel/Sources/ProcessScheduler.cxx b/Kernel/Sources/ProcessScheduler.cxx index 315dc07a..ca9a3435 100644 --- a/Kernel/Sources/ProcessScheduler.cxx +++ b/Kernel/Sources/ProcessScheduler.cxx @@ -27,13 +27,19 @@ namespace NewOS /// @brief Exit Code global /***********************************************************************************/ - STATIC Int32 kLastExitCode = 0U; + STATIC Int32 cLastExitCode = 0U; /// @brief Gets the latest exit code. /// @note Not thread-safe. + /// @return Int32 the last exit code. + const Int32& ProcessHeader::GetExitCode() noexcept + { + return fLastExitCode; + } + const Int32& rt_get_exit_code() noexcept { - return kLastExitCode; + return cLastExitCode; } /***********************************************************************************/ @@ -164,7 +170,8 @@ namespace NewOS ProcessScheduler::The().Leak().TheCurrent().Leak().ProcessId) ke_stop(RUNTIME_CHECK_PROCESS); - kLastExitCode = exit_code; + fLastExitCode = exit_code; + cLastExitCode = exit_code; //! Delete image if not done already. if (this->Image) diff --git a/Kernel/Sources/Semaphore.cxx b/Kernel/Sources/Semaphore.cxx index d52cf447..45fccbca 100644 --- a/Kernel/Sources/Semaphore.cxx +++ b/Kernel/Sources/Semaphore.cxx @@ -6,7 +6,6 @@ #include #include -#include namespace NewOS { @@ -33,21 +32,31 @@ namespace NewOS return fLockingProcess; } - bool Semaphore::LockOrWait(ProcessHeader* process, const Int64& seconds) + bool Semaphore::LockOrWait(ProcessHeader* process, HardwareTimerInterface* timer) { if (process == nullptr) return false; - HardwareTimer timer(Seconds(seconds)); - timer.Wait(); + if (timer == nullptr) + return false; + + this->Lock(process); + + timer->Wait(); return this->Lock(process); } - void Semaphore::Sync() noexcept + /// @brief Wait with process, either wait for process being invalid, or not being run. + Void Semaphore::WaitForProcess() noexcept { while (fLockingProcess) { + if (fLockingProcess->GetStatus() != ProcessStatus::kRunning) + { + this->Unlock(); + break; + } } } } // namespace NewOS diff --git a/newoskrnl.cflags b/newoskrnl.cflags new file mode 100644 index 00000000..68d51653 --- /dev/null +++ b/newoskrnl.cflags @@ -0,0 +1 @@ +-std=c17 \ No newline at end of file diff --git a/newoskrnl.config b/newoskrnl.config new file mode 100644 index 00000000..38552b7d --- /dev/null +++ b/newoskrnl.config @@ -0,0 +1,5 @@ +// Add predefined macros for your project here. For example: +// #define THE_ANSWER 42 +#define __KERNEL__ +#define __NEWOS_AMD64__ +#define __FSKIT_NEWFS__ diff --git a/newoskrnl.creator b/newoskrnl.creator new file mode 100644 index 00000000..c03804d8 --- /dev/null +++ b/newoskrnl.creator @@ -0,0 +1 @@ +[General] diff --git a/newoskrnl.cxxflags b/newoskrnl.cxxflags new file mode 100644 index 00000000..e2c0e08a --- /dev/null +++ b/newoskrnl.cxxflags @@ -0,0 +1 @@ +-std=c++20 diff --git a/newoskrnl.files b/newoskrnl.files new file mode 100644 index 00000000..4f78121e --- /dev/null +++ b/newoskrnl.files @@ -0,0 +1,308 @@ +.clang-format +.gitignore +Boot/BootKit/BitManip.hxx +Boot/BootKit/BootKit.hxx +Boot/BootKit/Device.hxx +Boot/BootKit/EPM.hxx +Boot/BootKit/HW/ATA.hxx +Boot/BootKit/HW/SATA.hxx +Boot/BootKit/Platform.hxx +Boot/BootKit/Protocol.hxx +Boot/BootKit/Vendor/Qr.hxx +Boot/BootKit/Vendor/QrPrelude.hxx +Boot/BootKit/Vendor/Shared/base.h +Boot/BootKit/Vendor/Shared/bit.h +Boot/BootKit/Vendor/Support.hxx +Boot/BootKit/compile_flags.txt +Boot/NetBoot/Module.cxx +Boot/NetBoot/NetBoot.hxx +Boot/ReadMe.md +Boot/Sources/HEL/AMD64/BootAHCI.cxx +Boot/Sources/HEL/AMD64/BootATA.cxx +Boot/Sources/HEL/AMD64/BootFileReader.cxx +Boot/Sources/HEL/AMD64/BootJump.S +Boot/Sources/HEL/AMD64/BootMain.cxx +Boot/Sources/HEL/AMD64/BootPlatform.cxx +Boot/Sources/HEL/AMD64/BootString.cxx +Boot/Sources/HEL/AMD64/BootTextWriter.cxx +Boot/Sources/HEL/AMD64/New+Delete.cxx +Boot/Sources/HEL/AMD64/Support.cxx +Boot/Sources/HEL/AMD64/compile_flags.txt +Boot/Sources/HEL/POWER/CoreBootStartup.S +Boot/Sources/HEL/RISCV/BootRISCV.S +Boot/Sources/compile_flags.txt +Boot/amd64-efi.make +Comm/compile_flags.txt +Comm/herror.hxx +Comm/newstd.hxx +DDK/KernelCall.c +DDK/KernelDev.c +DDK/KernelDev.h +DDK/KernelDispatchCall.S +DDK/KernelPrint.c +DDK/KernelPrint.h +DDK/KernelStd.h +DDK/KernelStdCxx.cc +DDK/KernelString.c +DDK/KernelString.h +DDK/ReadMe.txt +Doxyfile +Drv/Bonjour/Bonjour.c +Drv/Bonjour/x86_64.mk +Drv/SampleDriver/CheckStck.c +Drv/SampleDriver/SampleDriver.c +Drv/SampleDriver/x86_64.mk +Drv/VideoDrv/CheckStck.c +Drv/VideoDrv/VideoDrv.c +Drv/VideoDrv/x86_64.make +Kernel/ArchKit/ArchKit.hpp +Kernel/ArchKit/compile_flags.txt +Kernel/CFKit/GUIDWizard.hpp +Kernel/CFKit/GUIDWrapper.hpp +Kernel/CFKit/Property.hpp +Kernel/CFKit/URL.hpp +Kernel/CFKit/compile_flags.txt +Kernel/CRT/__mpcc_alloca.hxx +Kernel/CRT/__mpcc_defines.hxx +Kernel/CRT/__mpcc_exception.hxx +Kernel/CRT/__mpcc_malloc.hxx +Kernel/CompilerKit/CompilerKit.hxx +Kernel/CompilerKit/Detail.hxx +Kernel/CompilerKit/Version.hxx +Kernel/Docs/SPECIFICATION.md +Kernel/Docs/TODO-LIST.md +Kernel/FSKit/Defines.hxx +Kernel/FSKit/FAT32.hxx +Kernel/FSKit/IndexableProperty.hxx +Kernel/FSKit/NewFS.hxx +Kernel/FirmwareKit/EFI.hxx +Kernel/FirmwareKit/EFI/API.hxx +Kernel/FirmwareKit/EFI/EFI.hxx +Kernel/FirmwareKit/EPM.hxx +Kernel/FirmwareKit/Handover.hxx +Kernel/HALKit/64x0/HalVirtualMemory.cxx +Kernel/HALKit/64x0/ReadMe.md +Kernel/HALKit/AMD64/CPUID.hxx +Kernel/HALKit/AMD64/HalACPIFactoryInterface.cxx +Kernel/HALKit/AMD64/HalControlRegister.s +Kernel/HALKit/AMD64/HalCoreInterruptHandlerAMD64.cpp +Kernel/HALKit/AMD64/HalCoreMultiProcessingAMD64.cpp +Kernel/HALKit/AMD64/HalDebugOutput.cxx +Kernel/HALKit/AMD64/HalDebugPort.cxx +Kernel/HALKit/AMD64/HalDescriptorLoader.cpp +Kernel/HALKit/AMD64/HalHart.cpp +Kernel/HALKit/AMD64/HalInstallTIB.asm +Kernel/HALKit/AMD64/HalInterruptAPI.asm +Kernel/HALKit/AMD64/HalKernelMain.cxx +Kernel/HALKit/AMD64/HalKernelMouse.cxx +Kernel/HALKit/AMD64/HalNewBoot.asm +Kernel/HALKit/AMD64/HalPageAlloc.hpp +Kernel/HALKit/AMD64/HalProcessor.cpp +Kernel/HALKit/AMD64/HalRoutines.s +Kernel/HALKit/AMD64/HalSMPCore.cxx +Kernel/HALKit/AMD64/HalSMPCoreManager.asm +Kernel/HALKit/AMD64/HalTimer.cxx +Kernel/HALKit/AMD64/Hypervisor.hpp +Kernel/HALKit/AMD64/PCI/Database.cxx +Kernel/HALKit/AMD64/PCI/Device.cxx +Kernel/HALKit/AMD64/PCI/Dma.cxx +Kernel/HALKit/AMD64/PCI/Express.cxx +Kernel/HALKit/AMD64/PCI/IO.cxx +Kernel/HALKit/AMD64/PCI/Iterator.cxx +Kernel/HALKit/AMD64/PCI/PCI.cxx +Kernel/HALKit/AMD64/Processor.hpp +Kernel/HALKit/AMD64/ReadMe.md +Kernel/HALKit/AMD64/Storage/AHCI.cxx +Kernel/HALKit/AMD64/Storage/ATA-DMA.cxx +Kernel/HALKit/AMD64/Storage/ATA-PIO.cxx +Kernel/HALKit/ARM64/HalPageAlloc.hpp +Kernel/HALKit/ARM64/HalPageInternal.S +Kernel/HALKit/ARM64/HalTimer.cxx +Kernel/HALKit/ARM64/Processor.hxx +Kernel/HALKit/ARM64/ReadMe.md +Kernel/HALKit/ARM64/Storage/HalFlash.cxx +Kernel/HALKit/AXP/CR.s +Kernel/HALKit/AXP/CoreInterruptHandlerDEC.cpp +Kernel/HALKit/AXP/CoreSyscallHandlerDEC.cpp +Kernel/HALKit/AXP/HAL.s +Kernel/HALKit/AXP/Processor.hpp +Kernel/HALKit/AXP/SYSCALL.s +Kernel/HALKit/AXP/VM.s +Kernel/HALKit/POWER/HalContextSwitchPowerPC.s +Kernel/HALKit/POWER/HalHardware.cxx +Kernel/HALKit/POWER/HalHart.cxx +Kernel/HALKit/POWER/HalSerialPort.cxx +Kernel/HALKit/POWER/HalStartSequence.s +Kernel/HALKit/POWER/HalThread.cxx +Kernel/HALKit/POWER/HalVirtualMemory.cxx +Kernel/HALKit/POWER/Hart.hxx +Kernel/HALKit/POWER/MBCI/HalMBCIHost.cxx +Kernel/HALKit/POWER/Processor.hpp +Kernel/HALKit/POWER/ReadMe.md +Kernel/HALKit/POWER/ppc-cpu.h +Kernel/HALKit/POWER/ppc-mmu.h +Kernel/HALKit/RISCV/Hart.hxx +Kernel/HALKit/RISCV/ReadMe.md +Kernel/HALKit/compile_flags.txt +Kernel/HintKit/CompilerHint.hxx +Kernel/KernelKit/CodeManager.hpp +Kernel/KernelKit/DebugOutput.hpp +Kernel/KernelKit/Defines.hpp +Kernel/KernelKit/DeviceManager.hpp +Kernel/KernelKit/DriveManager.hxx +Kernel/KernelKit/FileManager.hpp +Kernel/KernelKit/Framebuffer.hpp +Kernel/KernelKit/HError.hpp +Kernel/KernelKit/KernelHeap.hpp +Kernel/KernelKit/LoaderInterface.hpp +Kernel/KernelKit/LockDelegate.hpp +Kernel/KernelKit/MSDOS.hpp +Kernel/KernelKit/PCI/Database.hpp +Kernel/KernelKit/PCI/Device.hpp +Kernel/KernelKit/PCI/Dma.hpp +Kernel/KernelKit/PCI/Express.hpp +Kernel/KernelKit/PCI/IO.hpp +Kernel/KernelKit/PCI/Iterator.hpp +Kernel/KernelKit/PCI/PCI.hpp +Kernel/KernelKit/PE.hxx +Kernel/KernelKit/PECodeManager.hxx +Kernel/KernelKit/PEF.hpp +Kernel/KernelKit/PEFCodeManager.hxx +Kernel/KernelKit/PEFSharedObject.hxx +Kernel/KernelKit/PermissionSelector.hxx +Kernel/KernelKit/ProcessScheduler.hxx +Kernel/KernelKit/SMPManager.hpp +Kernel/KernelKit/Semaphore.hpp +Kernel/KernelKit/ThreadLocalStorage.hxx +Kernel/KernelKit/Timer.hpp +Kernel/KernelKit/UserHeap.hpp +Kernel/KernelKit/XCOFF.hxx +Kernel/KernelKit/compile_flags.txt +Kernel/Modules/ACPI/ACPI.hxx +Kernel/Modules/ACPI/ACPIFactoryInterface.hxx +Kernel/Modules/ACPI/compile_flags.txt +Kernel/Modules/AHCI/AHCI.hxx +Kernel/Modules/AHCI/compile_flags.txt +Kernel/Modules/ATA/ATA.hxx +Kernel/Modules/ATA/compile_flags.txt +Kernel/Modules/CoreCG/Accessibility.hxx +Kernel/Modules/CoreCG/CoreCG.hxx +Kernel/Modules/CoreCG/Lerp.hxx +Kernel/Modules/Flash/Flash.hxx +Kernel/Modules/HPET/Defines.hxx +Kernel/Modules/IEEE802/compile_flags.txt +Kernel/Modules/LTE/IO.hxx +Kernel/Modules/MBCI/Interface.hxx +Kernel/Modules/MBCI/MBCI.hxx +Kernel/Modules/NVME/compile_flags.txt +Kernel/Modules/PS2/PS2MouseInterface.hxx +Kernel/Modules/ReadMe.txt +Kernel/Modules/SCSI/SCSI.hxx +Kernel/Modules/WiFi/compile_flags.txt +Kernel/Modules/XHCI/Defines.hxx +Kernel/Modules/XHCI/compile_flags.txt +Kernel/MoveAll.ARM64.sh +Kernel/MoveAll.X64.sh +Kernel/NetworkKit/IP.hpp +Kernel/NetworkKit/IPCEP.hxx +Kernel/NetworkKit/LTE.hxx +Kernel/NetworkKit/MAC.hxx +Kernel/NetworkKit/NetworkDevice.hpp +Kernel/NetworkKit/compile_flags.txt +Kernel/NewKit/ApplicationInterface.hxx +Kernel/NewKit/Array.hpp +Kernel/NewKit/ArrayList.hpp +Kernel/NewKit/Atom.hpp +Kernel/NewKit/Crc32.hpp +Kernel/NewKit/CxxAbi.hpp +Kernel/NewKit/Defines.hpp +Kernel/NewKit/ErrorOr.hpp +Kernel/NewKit/Function.hpp +Kernel/NewKit/Json.hpp +Kernel/NewKit/KernelCheck.hpp +Kernel/NewKit/Macros.hpp +Kernel/NewKit/MutableArray.hpp +Kernel/NewKit/New.hpp +Kernel/NewKit/NewKit.hpp +Kernel/NewKit/OwnPtr.hpp +Kernel/NewKit/PageAllocator.hpp +Kernel/NewKit/PageManager.hpp +Kernel/NewKit/Pair.hpp +Kernel/NewKit/Pmm.hpp +Kernel/NewKit/Ref.hpp +Kernel/NewKit/Stream.hpp +Kernel/NewKit/String.hpp +Kernel/NewKit/Utils.hpp +Kernel/NewKit/Variant.hpp +Kernel/NewKit/compile_flags.txt +Kernel/Sources/Array.cxx +Kernel/Sources/ArrayList.cxx +Kernel/Sources/Atom.cxx +Kernel/Sources/CodeManager.cxx +Kernel/Sources/Crc32.cxx +Kernel/Sources/CxxAbi.cxx +Kernel/Sources/Defines.cxx +Kernel/Sources/DeviceManager.cxx +Kernel/Sources/DriveManager.cxx +Kernel/Sources/ErrorOr.cxx +Kernel/Sources/FS/NewFS.cxx +Kernel/Sources/FileManager.cxx +Kernel/Sources/Framebuffer.cxx +Kernel/Sources/GUIDWizard.cxx +Kernel/Sources/GUIDWrapper.cxx +Kernel/Sources/HError.cxx +Kernel/Sources/HalPageAlloc.cxx +Kernel/Sources/IndexableProperty.cxx +Kernel/Sources/Json.cxx +Kernel/Sources/KeMain.cxx +Kernel/Sources/KernelCheck.cxx +Kernel/Sources/KernelHeap.cxx +Kernel/Sources/LockDelegate.cxx +Kernel/Sources/MutableArray.cxx +Kernel/Sources/Network/IP.cxx +Kernel/Sources/Network/IPCEP.cxx +Kernel/Sources/Network/NetworkDevice.cxx +Kernel/Sources/New+Delete.cxx +Kernel/Sources/NewFS+FileManager.cxx +Kernel/Sources/NewFS+IO.cxx +Kernel/Sources/NewFS+Journal.cxx +Kernel/Sources/OwnPtr.cxx +Kernel/Sources/PEFCodeManager.cxx +Kernel/Sources/PEFSharedObject.cxx +Kernel/Sources/PRDT.cxx +Kernel/Sources/PageAllocator.cxx +Kernel/Sources/PageManager.cxx +Kernel/Sources/PermissionSelector.cxx +Kernel/Sources/Pmm.cxx +Kernel/Sources/ProcessScheduler.cxx +Kernel/Sources/ProcessTeam.cxx +Kernel/Sources/Property.cxx +Kernel/Sources/Ref.cxx +Kernel/Sources/SMPManager.cxx +Kernel/Sources/Semaphore.cxx +Kernel/Sources/Storage/AHCIDeviceInterface.cxx +Kernel/Sources/Storage/ATADeviceInterface.cxx +Kernel/Sources/Storage/NVMEDeviceInterface.cxx +Kernel/Sources/Storage/SCSIDeviceInterface.cxx +Kernel/Sources/Stream.cxx +Kernel/Sources/String.cxx +Kernel/Sources/ThreadLocalStorage.cxx +Kernel/Sources/Timer.cxx +Kernel/Sources/URL.cxx +Kernel/Sources/UserHeap.cxx +Kernel/Sources/Utils.cxx +Kernel/Sources/Variant.cxx +Kernel/Sources/compile_flags.txt +Kernel/StorageKit/AHCI.hpp +Kernel/StorageKit/ATA.hpp +Kernel/StorageKit/NVME.hpp +Kernel/StorageKit/PRDT.hpp +Kernel/StorageKit/SCSI.hxx +Kernel/StorageKit/Storage.hpp +Kernel/amd64-efi.make +Kernel/arm64-cb.make +Kernel/compile_flags.txt +License.QR.txt +MailMap +ReadMe.md +run_format.sh diff --git a/newoskrnl.includes b/newoskrnl.includes new file mode 100644 index 00000000..396902fb --- /dev/null +++ b/newoskrnl.includes @@ -0,0 +1,2 @@ +./ +./Kernel -- cgit v1.2.3