Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/i386/i386 PR port-i386/55314: i386 no longer boots



details:   https://anonhg.NetBSD.org/src/rev/d958518ecbac
branches:  trunk
changeset: 933704:d958518ecbac
user:      ad <ad%NetBSD.org@localhost>
date:      Thu May 28 20:03:19 2020 +0000

description:
PR port-i386/55314: i386 no longer boots

Oops, EDI and ESI are callee saved on i386.

diffstat:

 sys/arch/i386/i386/cpufunc.S |  12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diffs (50 lines):

diff -r d525820afe9b -r d958518ecbac sys/arch/i386/i386/cpufunc.S
--- a/sys/arch/i386/i386/cpufunc.S      Thu May 28 19:20:57 2020 +0000
+++ b/sys/arch/i386/i386/cpufunc.S      Thu May 28 20:03:19 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: cpufunc.S,v 1.44 2020/05/27 20:49:14 ad Exp $  */
+/*     $NetBSD: cpufunc.S,v 1.45 2020/05/28 20:03:19 ad Exp $  */
 
 /*-
  * Copyright (c) 1998, 2007, 2020 The NetBSD Foundation, Inc.
@@ -38,7 +38,7 @@
 #include <sys/errno.h>
 
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: cpufunc.S,v 1.44 2020/05/27 20:49:14 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpufunc.S,v 1.45 2020/05/28 20:03:19 ad Exp $");
 
 #include "opt_xen.h"
 
@@ -322,11 +322,15 @@
 ENTRY(x86_stos)
        pushl   %ebp
        movl    %esp,%ebp
+       pushl   %edi
+       pushl   %esi
        movl    8(%ebp),%edi
        movl    12(%ebp),%eax
        movl    16(%ebp),%ecx
        rep
        stosl
+       popl    %esi
+       popl    %edi
        leave
        ret
 END(x86_stos)
@@ -334,11 +338,15 @@
 ENTRY(x86_movs)
        pushl   %ebp
        movl    %esp,%ebp
+       pushl   %edi
+       pushl   %esi
        movl    8(%ebp),%edi
        movl    12(%ebp),%esi
        movl    16(%ebp),%ecx
        rep
        movsl
+       popl    %esi
+       popl    %edi
        leave
        ret
 END(x86_movs)



Home | Main Index | Thread Index | Old Index