summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/KernelKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-07 08:33:01 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-01-07 08:33:01 +0100
commit3ce4b68fc3f1ad9ead503bb3f69bff11b4a3183a (patch)
tree9d679d2092e71a35305ae6c6c9554bfc6528b6ca /dev/Kernel/KernelKit
parentecf2a09a48ef029d09075af744c04e643661ec27 (diff)
FIX: KAN-12 (EPM GPF)
ADD: Dylib object instead of DLL objects. ADD: Introduce CoreGfx instead of GfxMgr. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/KernelKit')
-rw-r--r--dev/Kernel/KernelKit/CodeMgr.h2
-rw-r--r--dev/Kernel/KernelKit/DriveMgr.h5
-rw-r--r--dev/Kernel/KernelKit/IDylibObject.h (renamed from dev/Kernel/KernelKit/IDLLObject.h)10
-rw-r--r--dev/Kernel/KernelKit/IPEFDylibObject.h (renamed from dev/Kernel/KernelKit/IPEFDLLObject.h)16
-rw-r--r--dev/Kernel/KernelKit/UserProcessScheduler.h4
5 files changed, 21 insertions, 16 deletions
diff --git a/dev/Kernel/KernelKit/CodeMgr.h b/dev/Kernel/KernelKit/CodeMgr.h
index d3b9f39a..12a63dc0 100644
--- a/dev/Kernel/KernelKit/CodeMgr.h
+++ b/dev/Kernel/KernelKit/CodeMgr.h
@@ -16,7 +16,7 @@
#include <KernelKit/PECodeMgr.h>
#include <KernelKit/PEFCodeMgr.h>
-#include <KernelKit/IPEFDLLObject.h>
+#include <KernelKit/IPEFDylibObject.h>
namespace Kernel
{
diff --git a/dev/Kernel/KernelKit/DriveMgr.h b/dev/Kernel/KernelKit/DriveMgr.h
index e907acf8..4c879ab5 100644
--- a/dev/Kernel/KernelKit/DriveMgr.h
+++ b/dev/Kernel/KernelKit/DriveMgr.h
@@ -164,6 +164,11 @@ namespace Kernel
/// @brief Fetches the main drive.
/// @return the new drive as a trait.
DriveTrait io_construct_main_drive(Void) noexcept;
+
+ namespace Detect
+ {
+ Void io_detect_drive(DriveTrait& trait);
+ }
} // namespace Kernel
#endif /* ifndef INC_DRIVE_MANAGER_H */
diff --git a/dev/Kernel/KernelKit/IDLLObject.h b/dev/Kernel/KernelKit/IDylibObject.h
index 035f0013..d4c93034 100644
--- a/dev/Kernel/KernelKit/IDLLObject.h
+++ b/dev/Kernel/KernelKit/IDylibObject.h
@@ -12,16 +12,16 @@
#include <NewKit/Defines.h>
#include <CompilerKit/CompilerKit.h>
-#define ZKA_DLL_OBJECT : public IDLLObject
+#define ZKA_DLL_OBJECT : public IDylibObject
namespace Kernel
{
/// @brief DLL class object. A handle to a shared library.
- class IDLLObject
+ class IDylibObject
{
public:
- explicit IDLLObject() = default;
- virtual ~IDLLObject() = default;
+ explicit IDylibObject() = default;
+ virtual ~IDylibObject() = default;
struct DLL_TRAITS final
{
@@ -34,7 +34,7 @@ namespace Kernel
}
};
- ZKA_COPY_DEFAULT(IDLLObject);
+ ZKA_COPY_DEFAULT(IDylibObject);
virtual DLL_TRAITS** GetAddressOf() = 0;
virtual DLL_TRAITS* Get() = 0;
diff --git a/dev/Kernel/KernelKit/IPEFDLLObject.h b/dev/Kernel/KernelKit/IPEFDylibObject.h
index 1781c589..c8a69690 100644
--- a/dev/Kernel/KernelKit/IPEFDLLObject.h
+++ b/dev/Kernel/KernelKit/IPEFDylibObject.h
@@ -14,7 +14,7 @@
#include <NewKit/Defines.h>
#include <KernelKit/PEFCodeMgr.h>
#include <KernelKit/UserProcessScheduler.h>
-#include <KernelKit/IDLLObject.h>
+#include <KernelKit/IDylibObject.h>
namespace Kernel
{
@@ -22,14 +22,14 @@ namespace Kernel
* @brief Shared Library class
* Load library from this class
*/
- class IPEFDLLObject final ZKA_DLL_OBJECT
+ class IPEFDylibObject final ZKA_DLL_OBJECT
{
public:
- explicit IPEFDLLObject() = default;
- ~IPEFDLLObject() = default;
+ explicit IPEFDylibObject() = default;
+ ~IPEFDylibObject() = default;
public:
- ZKA_COPY_DEFAULT(IPEFDLLObject);
+ ZKA_COPY_DEFAULT(IPEFDylibObject);
private:
DLL_TRAITS* fMounted{nullptr};
@@ -97,10 +97,10 @@ namespace Kernel
PEFLoader* fLoader{nullptr};
};
- typedef IPEFDLLObject* IDLL;
+ typedef IPEFDylibObject* IDylib;
- EXTERN_C IDLL rtl_init_dylib(UserThread& header);
- EXTERN_C Void rtl_fini_dylib(UserThread& header, IDLL lib, Bool* successful);
+ EXTERN_C IDylib rtl_init_dylib(UserThread& header);
+ EXTERN_C Void rtl_fini_dylib(UserThread& header, IDylib lib, Bool* successful);
} // namespace Kernel
#endif /* ifndef __KERNELKIT_SHARED_OBJECT_H__ */
diff --git a/dev/Kernel/KernelKit/UserProcessScheduler.h b/dev/Kernel/KernelKit/UserProcessScheduler.h
index a08a5dc1..8212fdc2 100644
--- a/dev/Kernel/KernelKit/UserProcessScheduler.h
+++ b/dev/Kernel/KernelKit/UserProcessScheduler.h
@@ -30,7 +30,7 @@ namespace Kernel
{
//! @note Forward class declarations.
- class IDLLObject;
+ class IDylibObject;
class UserThread;
class UserProcessTeam;
class UserProcessScheduler;
@@ -163,7 +163,7 @@ namespace Kernel
UInt8* StackReserve{nullptr};
UserProcessImage Image{};
SizeT StackSize{kSchedMaxStackSz};
- IDLLObject* DylibDelegate{nullptr};
+ IDylibObject* DylibDelegate{nullptr};
SizeT MemoryCursor{0UL};
SizeT MemoryLimit{kSchedMaxMemoryLimit};
SizeT UsedMemory{0UL};