|
XenevaOS
|
#include <loader.h>#include <Hal/AA64/sched.h>#include <Mm/kmalloc.h>#include <Mm/mmfile.h>#include <Mm/pmmngr.h>#include <Mm/vmmngr.h>#include <Drivers/uart.h>#include <string.h>#include <_null.h>
Classes | |
| struct | _elf64_ehdr_ |
| struct | _elf64_phdr_ |
Macros | |
| #define | ELF_MAG0 0x7f |
| #define | ELFCLASS64 2 |
| #define | ELFDATA2LSB 1 |
| #define | ET_EXEC 2 |
| #define | ET_DYN 3 |
| #define | EM_AARCH64 183 |
| #define | PT_LOAD 1 |
| #define | PT_INTERP 3 |
| #define | ELF_PAGE 0x400000 |
Typedefs | |
| typedef struct _elf64_ehdr_ | Elf64_Ehdr |
| typedef struct _elf64_phdr_ | Elf64_Phdr |
Functions | |
| uint64_t | AuLinuxBuildUserStack (AuUserEntry *uentry) |
| int | AuLoadElfImage (AuProcess *proc, AuMMFileBack *fb, size_t image_len, int argc, char **argv) |
| #define ELF_MAG0 0x7f |
Static AArch64 ELF loader for PROCESS_TYPE_LINUX guests. Header, program headers, and PT_LOAD bytes come from the file page cache. No dynamic linker and no contiguous copy of the file.
| #define ELF_PAGE 0x400000 |
| #define ELFCLASS64 2 |
| #define ELFDATA2LSB 1 |
| #define EM_AARCH64 183 |
| #define ET_DYN 3 |
| #define ET_EXEC 2 |
| #define PT_INTERP 3 |
| #define PT_LOAD 1 |
| typedef struct _elf64_ehdr_ Elf64_Ehdr |
| typedef struct _elf64_phdr_ Elf64_Phdr |
| uint64_t AuLinuxBuildUserStack | ( | AuUserEntry * | uentry | ) |
| int AuLoadElfImage | ( | AuProcess * | proc, |
| AuMMFileBack * | fb, | ||
| size_t | image_len, | ||
| int | argc, | ||
| char ** | argv | ||
| ) |