diff options
Diffstat (limited to 'Private')
31 files changed, 88 insertions, 79 deletions
diff --git a/Private/Builtins/PS2/PS2MouseInterface.hxx b/Private/Builtins/PS2/PS2MouseInterface.hxx index 8ef47581..65abda9b 100644 --- a/Private/Builtins/PS2/PS2MouseInterface.hxx +++ b/Private/Builtins/PS2/PS2MouseInterface.hxx @@ -24,7 +24,7 @@ class PS2MouseInterface final { explicit PS2MouseInterface() = default; ~PS2MouseInterface() = default; - HCORE_COPY_DEFAULT(PS2MouseInterface); + NEWOS_COPY_DEFAULT(PS2MouseInterface); public: /// @brief Enables PS2 mouse for kernel. diff --git a/Private/CompilerKit/Detail.hxx b/Private/CompilerKit/Detail.hxx index 78a08dcf..3a378018 100644 --- a/Private/CompilerKit/Detail.hxx +++ b/Private/CompilerKit/Detail.hxx @@ -10,22 +10,22 @@ # include <NewKit/Defines.hpp> #endif // ifdef __KERNEL__ -#define HCORE_COPY_DELETE(KLASS) \ +#define NEWOS_COPY_DELETE(KLASS) \ KLASS &operator=(const KLASS &) = delete; \ KLASS(const KLASS &) = delete; -#define HCORE_COPY_DEFAULT(KLASS) \ +#define NEWOS_COPY_DEFAULT(KLASS) \ KLASS &operator=(const KLASS &) = default; \ KLASS(const KLASS &) = default; -#define HCORE_MOVE_DELETE(KLASS) \ +#define NEWOS_MOVE_DELETE(KLASS) \ KLASS &operator=(KLASS &&) = delete; \ KLASS(KLASS &&) = delete; -#define HCORE_MOVE_DEFAULT(KLASS) \ +#define NEWOS_MOVE_DEFAULT(KLASS) \ KLASS &operator=(KLASS &&) = default; \ KLASS(KLASS &&) = default; diff --git a/Private/FSKit/IndexableProperty.hxx b/Private/FSKit/IndexableProperty.hxx index 1a7925fe..64529faa 100644 --- a/Private/FSKit/IndexableProperty.hxx +++ b/Private/FSKit/IndexableProperty.hxx @@ -27,7 +27,7 @@ class IndexableProperty final : public Property { : Property(StringBuilder::Construct("IndexableProperty").Leak().Leak()) {} ~IndexableProperty() override = default; - HCORE_COPY_DEFAULT(IndexableProperty); + NEWOS_COPY_DEFAULT(IndexableProperty); public: IndexProperty& LeakProperty() noexcept; diff --git a/Private/FSKit/NewFS.hxx b/Private/FSKit/NewFS.hxx index 10e5e1e7..6c4be37f 100644 --- a/Private/FSKit/NewFS.hxx +++ b/Private/FSKit/NewFS.hxx @@ -168,7 +168,7 @@ class NewFSParser { virtual ~NewFSParser() = default; public: - HCORE_COPY_DEFAULT(NewFSParser); + NEWOS_COPY_DEFAULT(NewFSParser); public: virtual _Output NewFork* CreateFork(_Input NewCatalog* catalog, _Input NewFork& theFork) = 0; diff --git a/Private/FSKit/NewFSIteratorInterface.hxx b/Private/FSKit/NewFSIteratorInterface.hxx index 7e1d8652..d0d35c76 100644 --- a/Private/FSKit/NewFSIteratorInterface.hxx +++ b/Private/FSKit/NewFSIteratorInterface.hxx @@ -26,7 +26,7 @@ class NewFSIteratorInterface { virtual ~NewFSIteratorInterface() = default; public: - HCORE_COPY_DEFAULT(NewFSIteratorInterface); + NEWOS_COPY_DEFAULT(NewFSIteratorInterface); public: void Append(IndexableProperty& indexProp) { fProps.Add(indexProp); } diff --git a/Private/HALKit/PowerPC/APM/.gitkeep b/Private/HALKit/PowerPC/APM/.gitkeep new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/Private/HALKit/PowerPC/APM/.gitkeep diff --git a/Private/HALKit/PowerPC/HalCoreContextSwitchPowerPC.s b/Private/HALKit/PowerPC/HalCoreContextSwitchPowerPC.s index a6c2a90f..9cbcb4f8 100644 --- a/Private/HALKit/PowerPC/HalCoreContextSwitchPowerPC.s +++ b/Private/HALKit/PowerPC/HalCoreContextSwitchPowerPC.s @@ -12,6 +12,17 @@ /* r3 = assigner stack, r4 = assignee stack */ rt_do_context_switch: - lwz %r4, 0(%r3) + lwz 0(%r4), 0(%r3) + lwz 4(%r4), 4(%r3) + lwz 8(%r4), 8(%r3) + lwz 12(%r4), 12(%r3) + lwz 14(%r4), 14(%r3) + lwz 18(%r4), 18(%r3) + lwz 22(%r4), 22(%r3) + lwz 24(%r4), 24(%r3) + lwz 28(%r4), 28(%r3) + lwz 32(%r4), 32(%r3) + lwz 34(%r4), 34(%r3) + lwz 38(%r4), 38(%r3) - blr + bl diff --git a/Private/HALKit/PowerPC/HalCoreSyscallHandlerPowerPC.cpp b/Private/HALKit/PowerPC/HalCoreSyscallHandlerPowerPC.cpp deleted file mode 100644 index 322cb604..00000000 --- a/Private/HALKit/PowerPC/HalCoreSyscallHandlerPowerPC.cpp +++ /dev/null @@ -1,18 +0,0 @@ -/* ------------------------------------------- - - Copyright Mahrouss Logic - -------------------------------------------- */ - -#include <ArchKit/ArchKit.hpp> -#include <NewKit/Array.hpp> - -NewOS::Array<void (*)(NewOS::Int32 id, NewOS::HAL::StackFrame *), - kKernelMaxSystemCalls> - kSyscalls; - -extern "C" void rt_syscall_handle(NewOS::HAL::StackFrame *stack) { - for (NewOS::SizeT index = 0UL; index < kKernelMaxSystemCalls; ++index) { - (kSyscalls[index].Leak().Leak())(stack->ID, stack); - } -} diff --git a/Private/HALKit/PowerPC/HalHardware.cxx b/Private/HALKit/PowerPC/HalHardware.cxx index 96f0a433..5d09805d 100644 --- a/Private/HALKit/PowerPC/HalHardware.cxx +++ b/Private/HALKit/PowerPC/HalHardware.cxx @@ -11,24 +11,4 @@ namespace NewOS { namespace HAL { UIntPtr hal_alloc_page(bool rw, bool user) { return 0; } } // namespace HAL - -/// @brief wakes up thread. -/// wakes up thread from hang. -void rt_wakeup_thread(HAL::StackFrame* stack) {} - -/// @brief makes thread sleep. -/// hooks and hangs thread to prevent code from executing. -void rt_hang_thread(HAL::StackFrame* stack) {} - -void ke_com_print(const Char* bytes) { - if (!bytes) return; - - SizeT index = 0; - SizeT len = rt_string_len(bytes, 256); - - while (index < len) { - // TODO - ++index; - } -} } // namespace NewOS diff --git a/Private/HALKit/PowerPC/HalSMPManager.cxx b/Private/HALKit/PowerPC/HalSMPManager.cxx new file mode 100644 index 00000000..26ebc399 --- /dev/null +++ b/Private/HALKit/PowerPC/HalSMPManager.cxx @@ -0,0 +1,18 @@ +/* ------------------------------------------- + + Copyright Mahrouss Logic + +------------------------------------------- */ + +#include <HALKit/PowerPC/Processor.hpp> +#include <KernelKit/DebugOutput.hpp> + +using namespace NewOS; + +/// @brief wakes up thread. +/// wakes up thread from hang. +void rt_wakeup_thread(HAL::StackFramePtr stack) {} + +/// @brief makes thread sleep. +/// hooks and hangs thread to prevent code from executing. +void rt_hang_thread(HAL::StackFramePtr stack) {}
\ No newline at end of file diff --git a/Private/HALKit/PowerPC/HalSerialPort.cxx b/Private/HALKit/PowerPC/HalSerialPort.cxx new file mode 100644 index 00000000..36878b61 --- /dev/null +++ b/Private/HALKit/PowerPC/HalSerialPort.cxx @@ -0,0 +1,24 @@ +/* ------------------------------------------- + + Copyright Mahrouss Logic + +------------------------------------------- */ + +#include <HALKit/PowerPC/Processor.hpp> +#include <KernelKit/DebugOutput.hpp> + +using namespace NewOS; + +/// @brief Writes to COM1. +/// @param bytes +void ke_io_write(const Char* bytes) { + if (!bytes) return; + + SizeT index = 0; + SizeT len = rt_string_len(bytes, 256); + + while (index < len) { + // TODO + ++index; + } +}
\ No newline at end of file diff --git a/Private/HALKit/PowerPC/Processor.hpp b/Private/HALKit/PowerPC/Processor.hpp index 36731d57..19f8e799 100644 --- a/Private/HALKit/PowerPC/Processor.hpp +++ b/Private/HALKit/PowerPC/Processor.hpp @@ -17,8 +17,6 @@ namespace NewOS::HAL { typedef UIntPtr Reg; struct __PPC_ALIGN StackFrame { - Reg IntNum; - Reg Exception; Reg R0; Reg R1; Reg R2; @@ -28,12 +26,8 @@ struct __PPC_ALIGN StackFrame { Reg R6; Reg R7; Reg R8; - Reg ProgramCounter; - Reg StackPointer; - /// @brief Process Context Reg PC; - /// @brief General Context - Reg GC; + Reg SP; }; typedef StackFrame* StackFramePtr; diff --git a/Private/KernelKit/DebugOutput.hpp b/Private/KernelKit/DebugOutput.hpp index 3f88fd0e..f24933cc 100644 --- a/Private/KernelKit/DebugOutput.hpp +++ b/Private/KernelKit/DebugOutput.hpp @@ -38,7 +38,7 @@ class TerminalDevice final : public DeviceInterface<const Char *> { /// @return string type (const char*) virtual const char *Name() const override { return ("TerminalDevice"); } - HCORE_COPY_DEFAULT(TerminalDevice); + NEWOS_COPY_DEFAULT(TerminalDevice); static TerminalDevice Shared() noexcept; }; diff --git a/Private/KernelKit/DriveManager.hxx b/Private/KernelKit/DriveManager.hxx index d3d14f9a..aa94b08d 100644 --- a/Private/KernelKit/DriveManager.hxx +++ b/Private/KernelKit/DriveManager.hxx @@ -70,7 +70,7 @@ class MountpointInterface final { explicit MountpointInterface() = default; ~MountpointInterface() = default; - HCORE_COPY_DEFAULT(MountpointInterface); + NEWOS_COPY_DEFAULT(MountpointInterface); public: DriveTraitPtr A() { return mA; } diff --git a/Private/KernelKit/FileManager.hpp b/Private/KernelKit/FileManager.hpp index 630b21b6..a6fcfde3 100644 --- a/Private/KernelKit/FileManager.hpp +++ b/Private/KernelKit/FileManager.hpp @@ -61,7 +61,7 @@ class FilesystemManagerInterface { virtual ~FilesystemManagerInterface() = default; public: - HCORE_COPY_DEFAULT(FilesystemManagerInterface); + NEWOS_COPY_DEFAULT(FilesystemManagerInterface); public: /// @brief Mounts a new filesystem into an active state. @@ -116,7 +116,7 @@ class NewFilesystemManager final : public FilesystemManagerInterface { ~NewFilesystemManager() override; public: - HCORE_COPY_DEFAULT(NewFilesystemManager); + NEWOS_COPY_DEFAULT(NewFilesystemManager); public: NodePtr Create(const char *path) override; diff --git a/Private/KernelKit/LoaderInterface.hpp b/Private/KernelKit/LoaderInterface.hpp index c4634ca4..09d0d7b5 100644 --- a/Private/KernelKit/LoaderInterface.hpp +++ b/Private/KernelKit/LoaderInterface.hpp @@ -19,7 +19,7 @@ class LoaderInterface { explicit LoaderInterface() = default; virtual ~LoaderInterface() = default; - HCORE_COPY_DEFAULT(LoaderInterface); + NEWOS_COPY_DEFAULT(LoaderInterface); public: virtual _Output const char* Format() = 0; diff --git a/Private/KernelKit/PEFCodeManager.hxx b/Private/KernelKit/PEFCodeManager.hxx index ed43e924..d9e857de 100644 --- a/Private/KernelKit/PEFCodeManager.hxx +++ b/Private/KernelKit/PEFCodeManager.hxx @@ -28,7 +28,7 @@ class PEFLoader : public LoaderInterface { ~PEFLoader() override; public: - HCORE_COPY_DEFAULT(PEFLoader); + NEWOS_COPY_DEFAULT(PEFLoader); public: const char *Path() override; diff --git a/Private/KernelKit/PEFSharedObject.hxx b/Private/KernelKit/PEFSharedObject.hxx index 41ee2b97..185310ee 100644 --- a/Private/KernelKit/PEFSharedObject.hxx +++ b/Private/KernelKit/PEFSharedObject.hxx @@ -35,7 +35,7 @@ class SharedObject final { ~SharedObject() = default; public: - HCORE_COPY_DEFAULT(SharedObject); + NEWOS_COPY_DEFAULT(SharedObject); private: SharedObjectTrait *fMounted{nullptr}; diff --git a/Private/KernelKit/PermissionSelector.hxx b/Private/KernelKit/PermissionSelector.hxx index c252c9d0..d398ccb9 100644 --- a/Private/KernelKit/PermissionSelector.hxx +++ b/Private/KernelKit/PermissionSelector.hxx @@ -37,7 +37,7 @@ class PermissionSelector final { ~PermissionSelector(); public: - HCORE_COPY_DEFAULT(PermissionSelector) + NEWOS_COPY_DEFAULT(PermissionSelector) public: bool operator==(const PermissionSelector& lhs); diff --git a/Private/KernelKit/ProcessScheduler.hpp b/Private/KernelKit/ProcessScheduler.hpp index 97ba92e3..3085713f 100644 --- a/Private/KernelKit/ProcessScheduler.hpp +++ b/Private/KernelKit/ProcessScheduler.hpp @@ -120,7 +120,7 @@ class ProcessHeader final { ~ProcessHeader() = default; - HCORE_COPY_DEFAULT(ProcessHeader) + NEWOS_COPY_DEFAULT(ProcessHeader) public: void SetEntrypoint(UIntPtr &imageStart) noexcept; @@ -199,7 +199,7 @@ class ProcessTeam final { explicit ProcessTeam() = default; ~ProcessTeam() = default; - HCORE_COPY_DEFAULT(ProcessTeam); + NEWOS_COPY_DEFAULT(ProcessTeam); MutableArray<Ref<ProcessHeader>> &AsArray(); Ref<ProcessHeader> &AsRef(); @@ -220,7 +220,7 @@ class ProcessScheduler final { public: ~ProcessScheduler() = default; - HCORE_COPY_DEFAULT(ProcessScheduler) + NEWOS_COPY_DEFAULT(ProcessScheduler) operator bool() { return mTeam.AsArray().Count() > 0; } bool operator!() { return mTeam.AsArray().Count() == 0; } diff --git a/Private/KernelKit/SMPManager.hpp b/Private/KernelKit/SMPManager.hpp index b4d04dde..42cd572e 100644 --- a/Private/KernelKit/SMPManager.hpp +++ b/Private/KernelKit/SMPManager.hpp @@ -40,7 +40,7 @@ class HardwareThread final { ~HardwareThread(); public: - HCORE_COPY_DEFAULT(HardwareThread) + NEWOS_COPY_DEFAULT(HardwareThread) public: operator bool(); @@ -84,7 +84,7 @@ class SMPManager final { ~SMPManager(); public: - HCORE_COPY_DEFAULT(SMPManager); + NEWOS_COPY_DEFAULT(SMPManager); public: bool Switch(HAL::StackFrame* the); diff --git a/Private/KernelKit/Semaphore.hpp b/Private/KernelKit/Semaphore.hpp index 7324093e..ede1b921 100644 --- a/Private/KernelKit/Semaphore.hpp +++ b/Private/KernelKit/Semaphore.hpp @@ -34,7 +34,7 @@ namespace NewOS bool LockOrWait(ProcessHeader* process, const Int64& seconds); public: - HCORE_COPY_DEFAULT(Semaphore); + NEWOS_COPY_DEFAULT(Semaphore); private: ProcessHeaderRef fLockingProcess{ nullptr }; diff --git a/Private/KernelKit/Timer.hpp b/Private/KernelKit/Timer.hpp index 87cb915d..dbd29af1 100644 --- a/Private/KernelKit/Timer.hpp +++ b/Private/KernelKit/Timer.hpp @@ -24,7 +24,7 @@ class HardwareTimerInterface virtual ~HardwareTimerInterface() = default; public: - HCORE_COPY_DEFAULT(HardwareTimerInterface); + NEWOS_COPY_DEFAULT(HardwareTimerInterface); public: virtual Int32 Wait() noexcept; @@ -37,7 +37,7 @@ class HardwareTimer final : public HardwareTimerInterface ~HardwareTimer() override; public: - HCORE_COPY_DEFAULT(HardwareTimer); + NEWOS_COPY_DEFAULT(HardwareTimer); public: Int32 Wait() noexcept override; diff --git a/Private/NewBoot/BootKit/Device.hxx b/Private/NewBoot/BootKit/Device.hxx index bc50a576..8158b0d6 100644 --- a/Private/NewBoot/BootKit/Device.hxx +++ b/Private/NewBoot/BootKit/Device.hxx @@ -16,7 +16,7 @@ class Device { Device() = default; virtual ~Device() = default; - HCORE_MOVE_DEFAULT(Device); + NEWOS_MOVE_DEFAULT(Device); struct Trait { SizeT mBase{1024}; diff --git a/Private/NewBoot/BootKit/HW/ATA.hxx b/Private/NewBoot/BootKit/HW/ATA.hxx index 40402a86..e74c7a20 100644 --- a/Private/NewBoot/BootKit/HW/ATA.hxx +++ b/Private/NewBoot/BootKit/HW/ATA.hxx @@ -21,7 +21,7 @@ class BootDeviceATA final : public Device { explicit BootDeviceATA() noexcept; ~BootDeviceATA() = default; - HCORE_COPY_DEFAULT(BootDeviceATA); + NEWOS_COPY_DEFAULT(BootDeviceATA); struct ATATrait final : public Device::Trait { UInt16 mBus{kPrimary}; diff --git a/Private/NewBoot/BootKit/HW/SATA.hxx b/Private/NewBoot/BootKit/HW/SATA.hxx index cbaeb404..b061a1aa 100644 --- a/Private/NewBoot/BootKit/HW/SATA.hxx +++ b/Private/NewBoot/BootKit/HW/SATA.hxx @@ -14,7 +14,7 @@ class BootDeviceSATA final { explicit BootDeviceSATA() noexcept; ~BootDeviceSATA() = default; - HCORE_COPY_DEFAULT(BootDeviceSATA); + NEWOS_COPY_DEFAULT(BootDeviceSATA); struct SATATrait final { NewOS::SizeT mBase{1024}; diff --git a/Private/NewKit/Json.hpp b/Private/NewKit/Json.hpp index cc8afe1a..d4514ef1 100644 --- a/Private/NewKit/Json.hpp +++ b/Private/NewKit/Json.hpp @@ -26,7 +26,7 @@ class JsonType final { ~JsonType() = default; - HCORE_COPY_DEFAULT(JsonType); + NEWOS_COPY_DEFAULT(JsonType); private: StringView fKey; diff --git a/Private/NewKit/Macros.hpp b/Private/NewKit/Macros.hpp index 62780068..96b7548c 100644 --- a/Private/NewKit/Macros.hpp +++ b/Private/NewKit/Macros.hpp @@ -91,4 +91,4 @@ #endif #define STRINGIFY(X) #X -#define HCORE_UNUSED(X) ((void)X)
\ No newline at end of file +#define NEWOS_UNUSED(X) ((void)X)
\ No newline at end of file diff --git a/Private/NewKit/MutableArray.hpp b/Private/NewKit/MutableArray.hpp index 1be94548..bdedb97f 100644 --- a/Private/NewKit/MutableArray.hpp +++ b/Private/NewKit/MutableArray.hpp @@ -157,7 +157,7 @@ class MutableArray : public NullableMutableArray<voidPtr, nullptr> explicit MutableArray() = default; virtual ~MutableArray() = default; - HCORE_COPY_DEFAULT(MutableArray) + NEWOS_COPY_DEFAULT(MutableArray) public: Boolean Add(const T val) diff --git a/Private/Source/New+Delete.cxx b/Private/Source/New+Delete.cxx index 1178630b..a42628fe 100644 --- a/Private/Source/New+Delete.cxx +++ b/Private/Source/New+Delete.cxx @@ -34,7 +34,7 @@ void operator delete(void* ptr) { void operator delete(void* ptr, size_t sz) { if (ptr == nullptr) return; - HCORE_UNUSED(sz); + NEWOS_UNUSED(sz); NewOS::ke_delete_ke_heap(ptr); } diff --git a/Private/Source/NewFS+Journal.cxx b/Private/Source/NewFS+Journal.cxx index d6315603..ce04785e 100644 --- a/Private/Source/NewFS+Journal.cxx +++ b/Private/Source/NewFS+Journal.cxx @@ -38,7 +38,7 @@ class NewFSJournalRunner final { if (fUnloadRoutine) fUnloadRoutine(this); } - HCORE_COPY_DEFAULT(NewFSJournalRunner); + NEWOS_COPY_DEFAULT(NewFSJournalRunner); public: Boolean Run(const Int32& operation, VoidPtr classPtr) { |
