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