summaryrefslogtreecommitdiff
path: root/src/arch/amd64/shim.c
blob: 05d995c1d5525d8426105cb57808a480c22374b3 (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
#include <serial.h>
#include <cpuid.h>
#include <lib.h>
#include <shim.h>
#include <memory.h>
#include <mboot.h>
#include <pic.h>

#include "paging.h"
#include "fpu.h"
#include "cpu/idt.h"

static struct boot_info boot_info;

void *amd64_shim(long mboot_magic, volatile void *mboot_data_ptr) {
	serial_init();
	paging_init();
	pic_remap();
	idt_init();
	fpu_enable();

	mboot_load_info(mboot_magic, mboot_data_ptr, &boot_info);

	return &boot_info;
}