diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-29 09:55:05 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-29 09:55:44 +0100 |
| commit | 2529c8722d6d3491a3e19aa728f4bfce099bcc91 (patch) | |
| tree | 116a1cfb461884b33c6805bde6fcfe868ae5e491 /Private/NewBoot/BootKit | |
| parent | 202db65935d71650600de9de59e4950ad047a122 (diff) | |
Kernel: Improve BootKit and EFIKit.
TODO: Add File Protocol support and Pool support for EFIKit.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/NewBoot/BootKit')
| -rw-r--r-- | Private/NewBoot/BootKit/Boot.hxx (renamed from Private/NewBoot/BootKit/Boot.hpp) | 2 | ||||
| -rw-r--r-- | Private/NewBoot/BootKit/EPM.hxx | 12 | ||||
| -rw-r--r-- | Private/NewBoot/BootKit/Processor.hxx | 24 | ||||
| -rw-r--r-- | Private/NewBoot/BootKit/Protocol.hxx | 30 |
4 files changed, 67 insertions, 1 deletions
diff --git a/Private/NewBoot/BootKit/Boot.hpp b/Private/NewBoot/BootKit/Boot.hxx index 6df2e08f..07148702 100644 --- a/Private/NewBoot/BootKit/Boot.hpp +++ b/Private/NewBoot/BootKit/Boot.hxx @@ -66,4 +66,4 @@ enum #define BK_START_KERNEL (0x10000000) -long long int BStrLen(const char *ptr); +hCore::SizeT BStrLen(const char *ptr); diff --git a/Private/NewBoot/BootKit/EPM.hxx b/Private/NewBoot/BootKit/EPM.hxx new file mode 100644 index 00000000..803d500c --- /dev/null +++ b/Private/NewBoot/BootKit/EPM.hxx @@ -0,0 +1,12 @@ +/* + * ======================================================== + * + * h-core + * Copyright 2024, Mahrouss Logic, all rights reserved. + * + * ======================================================== + */ + +#pragma once + +#include <HALKit/EPM.hxx> diff --git a/Private/NewBoot/BootKit/Processor.hxx b/Private/NewBoot/BootKit/Processor.hxx new file mode 100644 index 00000000..d4143094 --- /dev/null +++ b/Private/NewBoot/BootKit/Processor.hxx @@ -0,0 +1,24 @@ +/* + * ======================================================== + * + * h-core + * Copyright 2024, Mahrouss Logic, all rights reserved. + * + * ======================================================== + */ + +#pragma once + +/** + @file Processor.hxx + @brief Processor specific code. +*/ + +#ifdef __x86_64__ + +extern "C" void rt_halt(); +extern "C" void rt_cli(); +extern "C" void rt_sti(); +extern "C" void rt_cld(); + +#endif /* ifdef __x86_64__ */ diff --git a/Private/NewBoot/BootKit/Protocol.hxx b/Private/NewBoot/BootKit/Protocol.hxx new file mode 100644 index 00000000..7e292c7d --- /dev/null +++ b/Private/NewBoot/BootKit/Protocol.hxx @@ -0,0 +1,30 @@ +/* + * ======================================================== + * + * NewBoot + * Copyright 2024 Mahrouss Logic, all rights reserved. + * + * ======================================================== + */ + +#pragma once + +#include <EFIKit/EFI.hxx> + +namespace HEL +{ +using namespace hCore; + +struct HandoverHeader final +{ + Int32 magic; + Int32 type; + Int32 arch; + // WIP +}; +} // namespace HEL + +#define kHandoverMagic 0xBAD55 + +#define kBaseHandoverStruct 0x10000000 +#define kHandoverStructSz sizeof(HEL::HandoverHeader) |
