summaryrefslogtreecommitdiffhomepage
path: root/Private
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-10 09:29:31 +0100
committerAmlal El Mahrouss <amlal@el-mahrouss-logic.com>2024-03-10 09:29:31 +0100
commita22ddb45201f40e41902b4c189c31c6418742c8a (patch)
treea1622d6199608c40c5aee56390ef24fe817ec4f9 /Private
parent028d7057402051f809bbafa27aa278769732c56b (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.cpp2
-rw-r--r--Private/HALKit/AMD64/Processor.hpp1
-rw-r--r--Private/KernelKit/ProcessManager.hpp4
-rw-r--r--Private/ObjectKit/Object.hxx20
-rw-r--r--Private/Source/ProcessTeam.cxx7
-rw-r--r--Private/makefile2
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.