Source-Changes-HG archive

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

[src/sommerfeld_i386mp_1]: src/sys/arch/i386 Merge branch with tonight's curr...



details:   https://anonhg.NetBSD.org/src/rev/baed98d3f21e
branches:  sommerfeld_i386mp_1
changeset: 482400:baed98d3f21e
user:      sommerfeld <sommerfeld%NetBSD.org@localhost>
date:      Wed May 23 03:13:36 2001 +0000

description:
Merge branch with tonight's current.
boots multiuser.

diffstat:

 sys/arch/i386/conf/GENERIC.MP      |    5 +-
 sys/arch/i386/conf/GENERIC.MPDEBUG |    3 +-
 sys/arch/i386/eisa/eisa_machdep.c  |    4 +-
 sys/arch/i386/i386/locore.s        |  296 ++++++++++++++++++------------------
 sys/arch/i386/i386/machdep.c       |   19 ++-
 sys/arch/i386/i386/microtime.s     |    5 +-
 sys/arch/i386/i386/svr4_sigcode.s  |    4 +-
 sys/arch/i386/include/apmvar.h     |   14 +-
 sys/arch/i386/include/intr.h       |    2 +-
 sys/arch/i386/isa/npx.c            |    7 +-
 sys/arch/i386/pci/pci_machdep.c    |    4 +-
 11 files changed, 189 insertions(+), 174 deletions(-)

diffs (truncated from 889 to 300 lines):

diff -r 5ac7081dc55d -r baed98d3f21e sys/arch/i386/conf/GENERIC.MP
--- a/sys/arch/i386/conf/GENERIC.MP     Mon May 21 04:47:36 2001 +0000
+++ b/sys/arch/i386/conf/GENERIC.MP     Wed May 23 03:13:36 2001 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: GENERIC.MP,v 1.1.2.4 2001/04/30 16:23:08 sommerfeld Exp $
+#      $NetBSD: GENERIC.MP,v 1.1.2.5 2001/05/23 03:13:36 sommerfeld Exp $
 #
 #      GENERIC.MP -- Generic, plus enable Multiprocessor support.
 #
@@ -8,8 +8,7 @@
 options                MULTIPROCESSOR
 options        COM_MPLOCK      # com MP locking; REQUIRED on MP i386
 
-options                DIAGNOSTIC      # STRONGLY RECOMMENDED
-
+#options       DIAGNOSTIC      # STRONGLY RECOMMENDED
 #options       LOCKDEBUG
 #options       MPDEBUG
 #options       MPVERBOSE
diff -r 5ac7081dc55d -r baed98d3f21e sys/arch/i386/conf/GENERIC.MPDEBUG
--- a/sys/arch/i386/conf/GENERIC.MPDEBUG        Mon May 21 04:47:36 2001 +0000
+++ b/sys/arch/i386/conf/GENERIC.MPDEBUG        Wed May 23 03:13:36 2001 +0000
@@ -1,10 +1,11 @@
-#      $NetBSD: GENERIC.MPDEBUG,v 1.1.2.1 2001/01/07 19:38:12 sommerfeld Exp $
+#      $NetBSD: GENERIC.MPDEBUG,v 1.1.2.2 2001/05/23 03:13:36 sommerfeld Exp $
 #
 #      GENERIC.MPDEBUG -- Generic multiprocessor, plus enable all the DEBUG
 #              switches we can.
 
 include "arch/i386/conf/GENERIC.MP"
 
+options                DIAGNOSTIC      # STRONGLY RECOMMENDED
 options        LOCKDEBUG
 options        MPDEBUG
 options        MPVERBOSE
diff -r 5ac7081dc55d -r baed98d3f21e sys/arch/i386/eisa/eisa_machdep.c
--- a/sys/arch/i386/eisa/eisa_machdep.c Mon May 21 04:47:36 2001 +0000
+++ b/sys/arch/i386/eisa/eisa_machdep.c Wed May 23 03:13:36 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: eisa_machdep.c,v 1.10.22.4 2001/01/07 22:12:40 sommerfeld Exp $        */
+/*     $NetBSD: eisa_machdep.c,v 1.10.22.5 2001/05/23 03:13:37 sommerfeld Exp $        */
 
 /*-
  * Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -258,7 +258,7 @@
        void *cookie;
 {
 
-       return isa_intr_disestablish(NULL, cookie);
+       isa_intr_disestablish(NULL, cookie);
 }
 
 int
diff -r 5ac7081dc55d -r baed98d3f21e sys/arch/i386/i386/locore.s
--- a/sys/arch/i386/i386/locore.s       Mon May 21 04:47:36 2001 +0000
+++ b/sys/arch/i386/i386/locore.s       Wed May 23 03:13:36 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.s,v 1.215.2.23 2001/04/30 16:23:10 sommerfeld Exp $     */
+/*     $NetBSD: locore.s,v 1.215.2.24 2001/05/23 03:13:37 sommerfeld Exp $     */
 
 /*-
  * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -106,6 +106,9 @@
 #include <machine/i82489reg.h>
 #endif
 
+/* LINTSTUB: include <sys/systm.h> */
+/* LINTSTUB: include <machine/cpu.h> */
+
 /*
  * override user-land alignment before including asm.h
  */
@@ -370,19 +373,19 @@
        addl    $4, %eax
        movl    (%eax), %ecx            /* address of entry */
        pushl   %eax
-       pushl   (%ecx)          /* len */
+       pushl   (%ecx)                  /* len */
+       pushl   %ecx
        pushl   %edx
        addl    (%ecx), %edx            /* update dest pointer */
        cmpl    $_RELOC(_C_LABEL(bootinfo) + BOOTINFO_MAXSIZE), %edx
        jg      2f
-       pushl   %ecx
-       call    _C_LABEL(bcopy)
+       call    _C_LABEL(memcpy)
        addl    $12, %esp
        popl    %eax
        subl    $1, %ebx
        jmp     2b
 2:     /* cleanup for overflow case */
-       addl    $12, %esp
+       addl    $16, %esp
        movl    $RELOC(bootinfo), %edx
        subl    %ebx, (%edx)            /* correct number of entries */
 1:
@@ -778,6 +781,13 @@
 
        call    _C_LABEL(main)
 
+/*
+ * XXX We need a comment here (lightly) explaining this. Probably a
+ * detailed section 9 man page, too, explaining the proc_trampoline.
+ * If it is part of the MI/MD interface, it needs documentation, IMHO.
+ * -- Perry Metzger, May 7, 2001
+ */
+/* LINTSTUB: Func: void proc_trampoline(void) */
 NENTRY(proc_trampoline)
 #ifdef MULTIPROCESSOR
        call    _C_LABEL(proc_trampoline_mp)
@@ -792,8 +802,14 @@
 /*****************************************************************************/
 
 /*
+ * XXX No section 9 man page for sigcode or esigcode. IMHO,
+ * if it is part of the MI/MD interface, it needs documentation.
+ * -- Perry Metzger, May 7, 2001
+ */
+/*
  * Signal trampoline; copied to top of user stack.
  */
+/* LINTSTUB: Var: char sigcode[1], esigcode[1]; */
 NENTRY(sigcode)
        call    SIGF_HANDLER(%esp)
        leal    SIGF_SC(%esp),%eax      # scp (the call may have clobbered the
@@ -822,9 +838,17 @@
  */
 
 /*
- * fillw(short pattern, caddr_t addr, size_t len);
+ * XXX No section 9 man page for fillw.
+ * fillw seems to be very sparsely used, one wonders if a thing named
+ * in the manner of memset wouldn't be better. It is defined in cpu.h
+ * so it is technically MD but...
+ * -- Perry Metzger, May 7, 2001
+ */
+/*
+ * void fillw(short pattern, void *addr, size_t len);
  * Write len copies of pattern at addr.
  */
+/* LINTSTUB: Func: void fillw(short pattern, void *addr, size_t len) */
 ENTRY(fillw)
        pushl   %edi
        movl    8(%esp),%eax
@@ -845,133 +869,17 @@
        ret
 
 /*
- * bcopyb(caddr_t from, caddr_t to, size_t len);
- * Copy len bytes, one byte at a time.
- */
-ENTRY(bcopyb)
-       pushl   %esi
-       pushl   %edi
-       movl    12(%esp),%esi
-       movl    16(%esp),%edi
-       movl    20(%esp),%ecx
-       cmpl    %esi,%edi               # potentially overlapping?
-       jnb     1f
-       cld                             # no; copy forward
-       rep
-       movsb
-       popl    %edi
-       popl    %esi
-       ret
-
-       ALIGN_TEXT
-1:     addl    %ecx,%edi               # copy backward
-       addl    %ecx,%esi
-       std
-       decl    %edi
-       decl    %esi
-       rep
-       movsb
-       popl    %edi
-       popl    %esi
-       cld
-       ret
-
-/*
- * bcopyw(caddr_t from, caddr_t to, size_t len);
- * Copy len bytes, two bytes at a time.
+ * XXX No section 9 man page for kcopy. IMHO,
+ * if it is part of the MI/MD interface, it needs documentation.
+ * so far as I can tell it is used only in one function in the MI kernel,
+ * but it still counts.
+ * -- Perry Metzger, May 7, 2001
  */
-ENTRY(bcopyw)
-       pushl   %esi
-       pushl   %edi
-       movl    12(%esp),%esi
-       movl    16(%esp),%edi
-       movl    20(%esp),%ecx
-       cmpl    %esi,%edi               # potentially overlapping?
-       jnb     1f
-       cld                             # no; copy forward
-       shrl    $1,%ecx                 # copy by 16-bit words
-       rep
-       movsw
-       adc     %ecx,%ecx               # any bytes left?
-       rep
-       movsb
-       popl    %edi
-       popl    %esi
-       ret
-
-       ALIGN_TEXT
-1:     addl    %ecx,%edi               # copy backward
-       addl    %ecx,%esi
-       std
-       andl    $1,%ecx                 # any fractional bytes?
-       decl    %edi
-       decl    %esi
-       rep
-       movsb
-       movl    20(%esp),%ecx           # copy remainder by 16-bit words
-       shrl    $1,%ecx
-       decl    %esi
-       decl    %edi
-       rep
-       movsw
-       popl    %edi
-       popl    %esi
-       cld
-       ret
-
 /*
- * bcopy(caddr_t from, caddr_t to, size_t len);
- * Copy len bytes.
- * This routine handles overlapping regions, although bcopy
- * is not specified to do so (and should not be counted on to do so).
- */
-ENTRY(bcopy)
-       pushl   %esi
-       pushl   %edi
-       movl    12(%esp),%esi
-       movl    16(%esp),%edi
-       movl    20(%esp),%ecx
-       movl    %edi,%eax
-       subl    %esi,%eax
-       cmpl    %ecx,%eax               # overlapping?
-       jb      1f
-       cld                             # nope, copy forward
-       shrl    $2,%ecx                 # copy by 32-bit words
-       rep
-       movsl
-       movl    20(%esp),%ecx
-       andl    $3,%ecx                 # any bytes left?
-       rep
-       movsb
-       popl    %edi
-       popl    %esi
-       ret
-
-       ALIGN_TEXT
-1:     addl    %ecx,%edi               # copy backward
-       addl    %ecx,%esi
-       std
-       andl    $3,%ecx                 # any fractional bytes?
-       decl    %edi
-       decl    %esi
-       rep
-       movsb
-       movl    20(%esp),%ecx           # copy remainder by 32-bit words
-       shrl    $2,%ecx
-       subl    $3,%esi
-       subl    $3,%edi
-       rep
-       movsl
-       popl    %edi
-       popl    %esi
-       cld
-       ret
-
-
-/*
- * kcopy(caddr_t from, caddr_t to, size_t len);
+ * int kcopy(const void *from, void *to, size_t len);
  * Copy len bytes, abort on fault.
  */
+/* LINTSTUB: Func: int kcopy(const void *from, void *to, size_t len) */
 ENTRY(kcopy)
        pushl   %esi
        pushl   %edi
@@ -1034,9 +942,11 @@
  */
 
 /*
- * copyout(caddr_t from, caddr_t to, size_t len);
+ * int copyout(const void *from, void *to, size_t len);
  * Copy len bytes into the user's address space.
+ * see copyout(9)
  */
+/* LINTSTUB: Func: int copyout(const void *kaddr, void *uaddr, size_t len) */
 ENTRY(copyout)
        pushl   %esi
        pushl   %edi
@@ -1132,9 +1042,11 @@
        ret



Home | Main Index | Thread Index | Old Index