ptos: ex: Add loader dispatch + ELF64 loader

Signed-off-by: Chloe M <chloe@mensia.org>
This commit is contained in:
2026-07-14 22:13:17 -04:00
parent cb12ab9518
commit cbb440b8e9
4 changed files with 324 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
/*
* Copyright (c) 2026, Chloe M.
* Provided under the BSD-3 clause.
*
* Description: Program loader dispatch
* Author: Chloe M.
*/
#include <ex/loader.h>
#include <ex/elf64.h>
/* Loader dispatch table */
static LOADER_OPS *LoaderOpsTable[] = {
[LOADER_ELF64] = &gElf64Ops
};
PT_STATUS
ExLoadProgramOf(LOADER_TYPE LoaderType, MMU_VAS *Vas, VOID *Data, LOADER_PROGRAM *Result)
{
LOADER_OPS *Ops;
if (Data == NULL || Result == NULL) {
return STATUS_INVALID_PARAM;
}
if (LoaderType >= NELEM(LoaderOpsTable)) {
return STATUS_NOT_FOUND;
}
Ops = LoaderOpsTable[LoaderType];
return Ops->LoadProgram(Vas, Data, Result);
}