From a22ddb45201f40e41902b4c189c31c6418742c8a Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 10 Mar 2024 09:29:31 +0100 Subject: Very important changes. - Update user land dlls output name. - Define process team methods in ProcessTeam.cxx. - Add rt_std in HALKit\AMD64. - Breaking changes in System.Graphics.dll: Replace all header files extensions starting with .hpp to .hxx. - Makefile don't rely on winasm anymore. Signed-off-by: Amlal El Mahrouss --- Private/HALKit/AMD64/HalProcessor.cpp | 2 ++ Private/HALKit/AMD64/Processor.hpp | 1 + Private/KernelKit/ProcessManager.hpp | 4 ++-- Private/ObjectKit/Object.hxx | 20 ++++++++++++++++++++ Private/Source/ProcessTeam.cxx | 7 +++++-- Private/makefile | 2 +- 6 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 Private/ObjectKit/Object.hxx (limited to 'Private') diff --git a/Private/HALKit/AMD64/HalProcessor.cpp b/Private/HALKit/AMD64/HalProcessor.cpp index 0c246a9d..9596a82b 100644 --- a/Private/HALKit/AMD64/HalProcessor.cpp +++ b/Private/HALKit/AMD64/HalProcessor.cpp @@ -52,4 +52,6 @@ void rt_cli() { asm volatile("cli"); } void rt_sti() { asm volatile("sti"); } void rt_cld() { asm volatile("cld"); } + +void rt_std() { asm volatile("std"); } } // namespace HCore::HAL diff --git a/Private/HALKit/AMD64/Processor.hpp b/Private/HALKit/AMD64/Processor.hpp index e94d055f..02951540 100644 --- a/Private/HALKit/AMD64/Processor.hpp +++ b/Private/HALKit/AMD64/Processor.hpp @@ -60,6 +60,7 @@ EXTERN_C void rt_halt(); EXTERN_C void rt_cli(); EXTERN_C void rt_sti(); EXTERN_C void rt_cld(); +EXTERN_C void rt_std(); struct PACKED Register64 final { UShort Limit; diff --git a/Private/KernelKit/ProcessManager.hpp b/Private/KernelKit/ProcessManager.hpp index 0eb3f80e..c7c69093 100644 --- a/Private/KernelKit/ProcessManager.hpp +++ b/Private/KernelKit/ProcessManager.hpp @@ -193,8 +193,8 @@ public: HCORE_COPY_DEFAULT(ProcessTeam); - MutableArray>& AsArray() { return mProcessList; } - Ref& AsRef() { return mCurrentProcess; } + MutableArray>& AsArray(); + Ref& AsRef(); public: MutableArray> mProcessList; diff --git a/Private/ObjectKit/Object.hxx b/Private/ObjectKit/Object.hxx new file mode 100644 index 00000000..1cb9e084 --- /dev/null +++ b/Private/ObjectKit/Object.hxx @@ -0,0 +1,20 @@ +/* ------------------------------------------- + + Copyright Mahrouss Logic + +------------------------------------------- */ + +#pragma once + +#include + +namespace HCore { +/// \brief Object Manager handle. +typedef struct Object { + Void(*Release)(Void); + Void(*Invoke)(Void); + Void(*QueryInterface)(Void); +} Ojbect, *ObjectPtr; +} // namespace HCore + +#define object_cast reinterpret_cast diff --git a/Private/Source/ProcessTeam.cxx b/Private/Source/ProcessTeam.cxx index d7979cf3..569d417d 100644 --- a/Private/Source/ProcessTeam.cxx +++ b/Private/Source/ProcessTeam.cxx @@ -9,8 +9,11 @@ /// @brief Process Team API. /***********************************************************************************/ -#include -#include #include +namespace HCore { +MutableArray>& ProcessTeam::AsArray() { return mProcessList; } +Ref& ProcessTeam::AsRef() { return mCurrentProcess; } +} // namespace HCore + // last rev 05-03-24 diff --git a/Private/makefile b/Private/makefile index 9b5d1595..5267bc9c 100644 --- a/Private/makefile +++ b/Private/makefile @@ -13,7 +13,7 @@ ifeq ($(UNAME), Darwin) ASM = nasm else # Otherwise Windows NT. -ASM = $(WINASM) +ASM = nasm.exe endif # Add assembler, linker, and object files variables. -- cgit v1.2.3