summaryrefslogtreecommitdiff
path: root/src/kernel/main.c
blob: 7f49feda5aa864d42302b42baeb7e7dad3f91713 (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
#include <kernel/arch/generic.h>
#include <kernel/main.h>
#include <kernel/mem.h>
#include <kernel/panic.h>
#include <kernel/proc.h>
#include <kernel/util.h>
#include <stdint.h>

void r3_test();

void kmain(struct kmain_info info) {
	log_const("mem...");
	mem_init(&info);

	log_const("creating process...");

	void *init_addr = (void*)0x200000;
	memcpy(init_addr, info.init.at, info.init.size);

	struct process *proc = process_new(init_addr);
	log_const("switching...");
	process_switch(proc);
}

void r3_test() {
	log_const("ok");
	asm("cli");
	panic();
}