.section .text .global gdt_load .type gdt_load, @function gdt_load: pushq %rbp movq %rsp, %rbp lgdt (%rdi) mov $0x10, %ax mov %ax, %ss mov %ax, %ds mov %ax, %es mov %ax, %fs mov %ax, %gs movabsq $(gdt_load2), %rax push $0x08 push %rax lretq gdt_load2: popq %rbp ret