diff options
| author | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-10 09:29:31 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@el-mahrouss-logic.com> | 2024-03-10 09:29:31 +0100 |
| commit | a22ddb45201f40e41902b4c189c31c6418742c8a (patch) | |
| tree | a1622d6199608c40c5aee56390ef24fe817ec4f9 /Private | |
| parent | 028d7057402051f809bbafa27aa278769732c56b (diff) | |
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 <amlal@el-mahrouss-logic.com>
Diffstat (limited to 'Private')
| -rw-r--r-- | Private/HALKit/AMD64/HalProcessor.cpp | 2 | ||||
| -rw-r--r-- | Private/HALKit/AMD64/Processor.hpp | 1 | ||||
| -rw-r--r-- | Private/KernelKit/ProcessManager.hpp | 4 | ||||
| -rw-r--r-- | Private/ObjectKit/Object.hxx | 20 | ||||
| -rw-r--r-- | Private/Source/ProcessTeam.cxx | 7 | ||||
| -rw-r--r-- | Private/makefile | 2 |
6 files changed, 31 insertions, 5 deletions
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<Ref<Process>>& AsArray() { return mProcessList; } - Ref<Process>& AsRef() { return mCurrentProcess; } + MutableArray<Ref<Process>>& AsArray(); + Ref<Process>& AsRef(); public: MutableArray<Ref<Process>> 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 <NewKit/Defines.hpp> + +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 <KernelKit/ProcessManager.hpp> -#include <KernelKit/SMPManager.hpp> #include <KernelKit/ProcessTeam.hpp> +namespace HCore { +MutableArray<Ref<Process>>& ProcessTeam::AsArray() { return mProcessList; } +Ref<Process>& 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. |
