aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/main.c
blob: 4db1e20f2f98df4ae09f0d6b622a7258cead43ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
 *    müll_kernel
 */

// C includes
#include <stddef.h>

// external includes
#include "headers/limine.h"

// limine things
__attribute__((used, section(".limine_requests_start")))
static volatile uint64_t
limine_requests_start_marker[] = LIMINE_REQUESTS_START_MARKER;

__attribute__((used, section(".limine_requests")))
static volatile uint64_t
limine_base_revision[] = LIMINE_BASE_REVISION(3);

__attribute__((used, section(".limine_requests")))
static volatile struct
limine_framebuffer_request
framebuffer_request =
{
    .id = LIMINE_FRAMEBUFFER_REQUEST_ID,
    .revision = 0
};

__attribute__((used, section(".limine_requests_end")))
static volatile uint64_t
limine_requests_end_marker[] = LIMINE_REQUESTS_END_MARKER;

// API includes
#include "api/io.h"

void kernel_main(void) __attribute__((noreturn));

void _start(void)
{
    return kernel_main();
}

void kernel_main(void)
{
    //
}