summaryrefslogtreecommitdiff
path: root/service/main.c
diff options
context:
space:
mode:
authorAda Christine <adachristine18@gmail.com>2025-01-23 00:24:57 +0000
committerAda Christine <adachristine18@gmail.com>2025-01-23 00:24:57 +0000
commitd855c0a219a180497c2e50f9bc19bfce69b937a6 (patch)
tree1ff8523d41b222fb356fb3404d2a53c26a7d6a3d /service/main.c
parentedd52bd1464ee9ae4f0cdf7ff90a20ca175580fe (diff)
it printfs with the efi interface
Diffstat (limited to 'service/main.c')
-rw-r--r--service/main.c39
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;
}