parent
e90d21c9ab
commit
264e64d3ec
|
@ -91,12 +91,10 @@
|
|||
_start64:
|
||||
|
||||
/*
|
||||
* Set up kernel segment selectors
|
||||
* Set up segment selectors fs and gs to zero
|
||||
* ignore ss, cs and ds because they are ignored by hardware in long mode
|
||||
*/
|
||||
mov $0x10, %eax
|
||||
mov %eax, %ss
|
||||
mov %eax, %ds
|
||||
mov %eax, %es
|
||||
mov $0x0, %eax
|
||||
mov %eax, %fs
|
||||
mov %eax, %gs
|
||||
|
||||
|
|
|
@ -181,14 +181,6 @@
|
|||
pushq %r9
|
||||
pushq %r8
|
||||
|
||||
/* Restore kernel segment registers */
|
||||
mov $0x10, %rbx
|
||||
mov %rbx, %ss
|
||||
mov %rbx, %ds
|
||||
mov %rbx, %es
|
||||
mov %rbx, %fs
|
||||
mov %rbx, %gs
|
||||
|
||||
/* Restore register values from kernel context */
|
||||
mov $_mt_master_context_begin+R8_OFFSET, %rsp
|
||||
popq %r8
|
||||
|
@ -224,13 +216,6 @@
|
|||
pushq $0x1b
|
||||
pushq (%rax)
|
||||
|
||||
/* Restore segment registers */
|
||||
mov $0x23, %rbx
|
||||
mov %rbx, %ds
|
||||
mov %rbx, %es
|
||||
mov %rbx, %fs
|
||||
mov %rbx, %gs
|
||||
|
||||
/* Restore register values from client context */
|
||||
lea R8_OFFSET(%rax), %rsp
|
||||
popq %r8
|
||||
|
|
Loading…
Reference in New Issue
Block a user