pub(super) unsafe fn init()
The caller needs to ensure that gdt::init has been called before, so the segment selectors used in the syscall and sysret instructions have been properly initialized.
gdt::init
syscall
sysret