summaryrefslogtreecommitdiff
path: root/src/kernel/arch/amd64/boot64.s
blob: 1dca0cae3c1576b639aa6fdba564e78b42cee468 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
.global boot64
boot64:
	lgdt (lgdt_arg) // try reloading gdt again
	mov $(5 << 3 | 3), %ax // SEG_TSS
	ltr %ax

	xchgw %bx, %bx
	push %rdi // preserve multiboot struct
	call sysenter_setup
	pop %rdi

	// multiboot struct in %rdi
	jmp kmain_early