From f4dd038ee53a3d78c409af10201f5d0ca8e7c22e Mon Sep 17 00:00:00 2001 From: Stefan Lankes Date: Tue, 2 Aug 2011 12:33:08 -0700 Subject: [PATCH] save and restore segment registers => this fixed a bug in the system call "fork" --- arch/x86/kernel/entry.asm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/entry.asm b/arch/x86/kernel/entry.asm index e2e2d84a..8fd0e8c3 100644 --- a/arch/x86/kernel/entry.asm +++ b/arch/x86/kernel/entry.asm @@ -440,10 +440,10 @@ extern syscall_handler ; used to realize system calls isrsyscall: - ;push ds - ;push fs - ;push gs - ;push es + push ds + push fs + push gs + push es push ebp push edi push esi @@ -460,10 +460,10 @@ isrsyscall: pop esi pop edi pop ebp - ;pop es - ;pop gs - ;pop fs - ;pop ds + pop es + pop gs + pop fs + pop ds iret global irq0