summaryrefslogtreecommitdiffstats
path: root/boot/limine/limine.c
diff options
context:
space:
mode:
authorJon Santmyer <jon@jonsantmyer.com>2025-09-02 11:35:38 -0400
committerJon Santmyer <jon@jonsantmyer.com>2025-09-02 11:35:38 -0400
commitd26eb8b54969e79d933a8e20f2725343cd42deab (patch)
tree9b6aaf6e84ed965d146c129028e32e00ef846adc /boot/limine/limine.c
parent8f0ba2fd31408d04175513b8826bf9418ad8b087 (diff)
downloadjove-kernel-d26eb8b54969e79d933a8e20f2725343cd42deab.tar.gz
jove-kernel-d26eb8b54969e79d933a8e20f2725343cd42deab.tar.bz2
jove-kernel-d26eb8b54969e79d933a8e20f2725343cd42deab.zip
move limine to arch-specific directory.
untie boot code from non-boot code
Diffstat (limited to 'boot/limine/limine.c')
-rw-r--r--boot/limine/limine.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/boot/limine/limine.c b/boot/limine/limine.c
deleted file mode 100644
index 6a1bb43..0000000
--- a/boot/limine/limine.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "limine.h"
-#include "boot.h"
-#include "string.h"
-
-char s_kernel_stack_initial[8192];
-
-char *jove_bootargs;
-int jove_bootargs_len;
-
-struct limine_kernel_file_request s_kernel_file_req = {
- .id = LIMINE_KERNEL_FILE_REQUEST
-};
-
-void
-_start(void)
-{
- __asm__ volatile("movq %0, %%rsp":: "r"((uintptr_t)&s_kernel_stack_initial + 8191));
-
- struct limine_kernel_file_response *kernel_file_response = s_kernel_file_req.response;
- jove_bootargs = kernel_file_response->kernel_file->cmdline;
- jove_bootargs_len = strlen(jove_bootargs);
-
- //Zero all spaces in bootargs not enclosed with quotes.
- for(char *c = jove_bootargs; *c; c++) {
- if(*c == '"') {
- *c = 0;
- for(++c; *c && *c != '"'; c++);
- *(c++) = 0;
- continue;
- }
- if(*c == ' ') *c = 0;
- }
-
- extern void _jove_main(void);
-
- __asm__ volatile("movq $0, %%rbp"::);
- _jove_main();
-}