* 将entry.S中冗余的ret_from_syscall代码删除,改为jmp Restore_all
@@ -142,36 +142,9 @@ ENTRY(system_call)
callq system_call_function
-
// 从系统调用中返回
ENTRY(ret_from_system_call)
- popq %r15
- popq %r14
- popq %r13
- popq %r12
- popq %r11
- popq %r10
- popq %r9
- popq %r8
- popq %rbx
- popq %rcx
- popq %rdx
- popq %rsi
- popq %rdi
- popq %rbp
- popq %rax // 不允许直接pop到ds
- movq %rax, %ds
- popq %rax
- movq %rax, %es
- addq $0x10, %rsp // 弹出变量FUNC和errcode
- sti
- iretq
+ jmp Restore_all