diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-28 16:26:33 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-28 16:26:33 +0100 |
| commit | 06be6d65bb71152be8a28d7bb6b1028b5a588654 (patch) | |
| tree | b47625ad70e5ec6093187f9d454f4edeaffb5ed1 /Private/Source/RuntimeMain.cxx | |
| parent | f69bd40d5d97e371451d2e9c27721422141d828f (diff) | |
NewKernel: Final things are getting done for the first prototype.
NewBoot: Add ARM64 to HEL.
SPEC: Update it to include NewFS into it.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/Source/RuntimeMain.cxx')
| -rw-r--r-- | Private/Source/RuntimeMain.cxx | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Private/Source/RuntimeMain.cxx b/Private/Source/RuntimeMain.cxx new file mode 100644 index 00000000..4b91bb5f --- /dev/null +++ b/Private/Source/RuntimeMain.cxx @@ -0,0 +1,35 @@ +/* + * ======================================================== + * + * hCore + * Copyright 2024 Mahrouss Logic, all rights reserved. + * + * ======================================================== + */ + +#include "NewKit/Defines.hpp" +#include <ArchKit/Arch.hpp> +#include <KernelKit/CodeManager.hpp> +#include <KernelKit/FileManager.hpp> +#include <NewKit/Json.hpp> + +extern void (*__SYSTEM_INIT_END)(); +extern void (**init)(); + +extern "C" void RuntimeMain() +{ + for (hCore::SizeT index_init = 0UL; init[index_init] != __SYSTEM_INIT_END; ++index_init) + { + init[index_init](); + } + + MUST_PASS(hCore::init_hal()); + + hCore::IFilesystemManager::Mount(new hCore::NewFilesystemManager()); + hCore::PEFLoader img("/System/Seeker.cm"); + + if (!hCore::Utils::execute_from_image(img)) + { + hCore::panic(RUNTIME_CHECK_BOOTSTRAP); + } +} |
