diff options
| author | Ada Christine <adachristine18@gmail.com> | 2025-01-23 00:24:57 +0000 |
|---|---|---|
| committer | Ada Christine <adachristine18@gmail.com> | 2025-01-23 00:24:57 +0000 |
| commit | d855c0a219a180497c2e50f9bc19bfce69b937a6 (patch) | |
| tree | 1ff8523d41b222fb356fb3404d2a53c26a7d6a3d /service/main.c | |
| parent | edd52bd1464ee9ae4f0cdf7ff90a20ca175580fe (diff) | |
it printfs with the efi interface
Diffstat (limited to 'service/main.c')
| -rw-r--r-- | service/main.c | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/service/main.c b/service/main.c index 12a5522..c022b87 100644 --- a/service/main.c +++ b/service/main.c @@ -1,7 +1,42 @@ #include <unistd.h> #include <stdio.h> +#include <fcntl.h> +#include <stdlib.h> -#define KJARNA_REVISION 1 +#include "config.h" +#include <lib/elf.h> + +/* +static int open_kernel(void) +{ + int kernel_fd = open(HAL_PATH, 0, 0); + + printf("kernel path: %s\n", HAL_PATH); + + if (kernel_fd < 0) + { + printf("error: could not open kernel core\n"); + return -1; + } + + Elf64_Ehdr ehdr; + + if (!elf64_validate_fd(kernel_fd, ET_DYN, EM_X86_64)) + { + printf("error: could not validate elf header\n"); + close(kernel_fd); + return -1; + } + + printf("kernel: elf x86_64 dynamic object found\r\n"); + + ssize_t kernel_size = elf64_size_fd(fd); + + printf("kernel image size %zd\n", kernel_size); + + return kernel_fd; +} +*/ int main(int argc, char **argv) { @@ -10,8 +45,6 @@ int main(int argc, char **argv) printf("kjarna %d\n", KJARNA_REVISION); - while (1); - return 0; } |
