diff options
| author | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-08-13 13:00:12 +0200 |
|---|---|---|
| committer | Amlal EL Mahrouss <amlalelmahrouss@icloud.com> | 2024-08-13 15:25:57 +0200 |
| commit | 7efcf975fe61b2d20d2379f6151b6cdd99391dff (patch) | |
| tree | ed592c2c2b1c626874d4c64e9a2dea23c20f52d5 /Boot/BootKit/Thread.hxx | |
| parent | 1913550ab89eb39e53ab61a164766a75d7897202 (diff) | |
[IMP] Add WIP Thread scheduler inside kernel DLL.
[META] PE loader: Fix uneven macros inside PE.hxx.
[FIX] Add more checks to Thread loader inside bootloader for PE32+
[IMP] Refactor KernelLoader to Thread inside loader EXE.
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
Diffstat (limited to 'Boot/BootKit/Thread.hxx')
| -rw-r--r-- | Boot/BootKit/Thread.hxx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Boot/BootKit/Thread.hxx b/Boot/BootKit/Thread.hxx new file mode 100644 index 00000000..6303eb35 --- /dev/null +++ b/Boot/BootKit/Thread.hxx @@ -0,0 +1,42 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies + +------------------------------------------- */ + +#pragma once + +#include <KernelKit/PE.hxx> +#include <KernelKit/MSDOS.hxx> +#include <FirmwareKit/Handover.hxx> + +namespace Boot +{ + using namespace Kernel; + + class Thread; + + /// @brief Program loader class + /// @package nl.zeta.boot.api + class Thread final + { + public: + explicit Thread() = delete; + ~Thread() = default; + + explicit Thread(Kernel::VoidPtr blob); + + Thread& operator=(const Thread&) = default; + Thread(const Thread&) = default; + + void Start(HEL::HandoverInformationHeader* handover); + const char* GetName(); + void SetName(const char* name); + bool IsValid(); + + private: + Char fBlobName[255] = { "Boot Thread" }; + VoidPtr fStartAddress{nullptr}; + VoidPtr fBlob{nullptr}; + }; +} // namespace Boot |
