summaryrefslogtreecommitdiff
path: root/kernel/src/boot/boot64.S
blob: 68eae38bb4187331fb8f7a47c86db1b2ec422748 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.section .text
.code64

.global begin_long_mode
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