summaryrefslogtreecommitdiff
path: root/kernel/src/boot/boot64.S
blob: 50ee7cdbf3d83867ce7417eeb87648c51f8c236e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.global begin_long_mode

.section .text
.code64

begin_long_mode:
	// reload segment registers
	mov $0x10, %eax
	mov %eax, %ss
	mov %eax, %ds
	mov %eax, %es
	mov %eax, %fs
	mov %eax, %gs

	popq %rdi
	popq %rsi
	call kernel_main
	hlt