Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Dec 2003 10:44:22 -0800 (PST)
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 43904 for review
Message-ID:  <200312131844.hBDIiMgS057631@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=43904

Change 43904 by sam@sam_ebb on 2003/12/13 10:43:48

	IFC

Affected files ...

.. //depot/projects/netperf+sockets/sys/amd64/amd64/mp_machdep.c#2 integrate
.. //depot/projects/netperf+sockets/sys/amd64/amd64/mptable.c#2 integrate
.. //depot/projects/netperf+sockets/sys/amd64/ia32/ia32_sigtramp.S#1 branch
.. //depot/projects/netperf+sockets/sys/amd64/include/apicreg.h#2 integrate
.. //depot/projects/netperf+sockets/sys/boot/i386/boot0/boot0.s#4 integrate
.. //depot/projects/netperf+sockets/sys/boot/i386/cdboot/cdboot.s#2 integrate
.. //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_misc.c#3 integrate
.. //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_proto.h#3 integrate
.. //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate
.. //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate
.. //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate
.. //depot/projects/netperf+sockets/sys/compat/freebsd32/syscalls.master#3 integrate
.. //depot/projects/netperf+sockets/sys/compat/ia32/ia32_sigtramp.S#2 delete
.. //depot/projects/netperf+sockets/sys/compat/ia32/ia32_sysvec.c#3 integrate
.. //depot/projects/netperf+sockets/sys/compat/ia32/ia32_util.h#2 integrate
.. //depot/projects/netperf+sockets/sys/compat/ndis/cfg_var.h#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/hal_var.h#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/kern_ndis.c#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/ndis_var.h#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/ntoskrnl_var.h#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/pe_var.h#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/resource_var.h#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/subr_hal.c#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/subr_ndis.c#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/subr_ntoskrnl.c#1 branch
.. //depot/projects/netperf+sockets/sys/compat/ndis/subr_pe.c#1 branch
.. //depot/projects/netperf+sockets/sys/conf/files.amd64#3 integrate
.. //depot/projects/netperf+sockets/sys/conf/files.i386#3 integrate
.. //depot/projects/netperf+sockets/sys/conf/files.ia64#3 integrate
.. //depot/projects/netperf+sockets/sys/dev/ata/ata-lowlevel.c#3 integrate
.. //depot/projects/netperf+sockets/sys/dev/ath/if_ath.c#3 integrate
.. //depot/projects/netperf+sockets/sys/dev/firewire/sbp.h#3 integrate
.. //depot/projects/netperf+sockets/sys/dev/firewire/sbp_targ.c#3 integrate
.. //depot/projects/netperf+sockets/sys/dev/if_ndis/if_ndis.c#1 branch
.. //depot/projects/netperf+sockets/sys/dev/if_ndis/if_ndisvar.h#1 branch
.. //depot/projects/netperf+sockets/sys/dev/led/led.c#2 integrate
.. //depot/projects/netperf+sockets/sys/dev/ofw/ofw_disk.c#2 integrate
.. //depot/projects/netperf+sockets/sys/i386/i386/local_apic.c#2 integrate
.. //depot/projects/netperf+sockets/sys/i386/i386/mp_machdep.c#5 integrate
.. //depot/projects/netperf+sockets/sys/i386/include/apicreg.h#2 integrate
.. //depot/projects/netperf+sockets/sys/i386/include/smp.h#3 integrate
.. //depot/projects/netperf+sockets/sys/ia64/ia32/Makefile#2 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32.h#2 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32_misc.c#2 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32_proto.h#3 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32_signal.c#1 branch
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32_sigtramp.c#1 branch
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32_syscall.h#3 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32_sysent.c#3 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32_sysvec.c#2 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/ia32_util.h#2 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/syscalls.conf#2 delete
.. //depot/projects/netperf+sockets/sys/ia64/ia32/syscalls.master#3 delete
.. //depot/projects/netperf+sockets/sys/ia64/include/cpufunc.h#2 integrate
.. //depot/projects/netperf+sockets/sys/ia64/include/runq.h#2 integrate
.. //depot/projects/netperf+sockets/sys/isa/psm.c#3 integrate
.. //depot/projects/netperf+sockets/sys/kern/init_sysent.c#3 integrate
.. //depot/projects/netperf+sockets/sys/kern/sched_ule.c#4 integrate
.. //depot/projects/netperf+sockets/sys/kern/syscalls.c#3 integrate
.. //depot/projects/netperf+sockets/sys/kern/syscalls.master#3 integrate
.. //depot/projects/netperf+sockets/sys/modules/Makefile#4 integrate
.. //depot/projects/netperf+sockets/sys/modules/if_ndis/Makefile#1 branch
.. //depot/projects/netperf+sockets/sys/modules/ndis/Makefile#1 branch
.. //depot/projects/netperf+sockets/sys/nfs4client/nfs4_idmap.c#2 integrate
.. //depot/projects/netperf+sockets/sys/pci/if_sis.c#4 integrate
.. //depot/projects/netperf+sockets/sys/sys/syscall.h#3 integrate
.. //depot/projects/netperf+sockets/sys/sys/syscall.mk#3 integrate
.. //depot/projects/netperf+sockets/sys/sys/sysproto.h#3 integrate
.. //depot/projects/netperf/sys/compat/ndis/ntoskrnl_var.h#2 integrate
.. //depot/projects/netperf/sys/compat/ndis/subr_ndis.c#2 integrate
.. //depot/projects/netperf/sys/compat/ndis/subr_ntoskrnl.c#2 integrate
.. //depot/projects/netperf/sys/conf/majors#9 integrate
.. //depot/projects/netperf/sys/dev/acpica/acpi_cpu.c#9 integrate
.. //depot/projects/netperf/sys/dev/bktr/msp34xx.c#3 integrate
.. //depot/projects/netperf/sys/dev/ciss/ciss.c#8 integrate
.. //depot/projects/netperf/sys/dev/firewire/sbp_targ.c#4 integrate
.. //depot/projects/netperf/sys/dev/md/md.c#8 edit
.. //depot/projects/netperf/sys/kern/kern_switch.c#5 integrate

Differences ...

==== //depot/projects/netperf+sockets/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.230 2003/12/03 14:57:25 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.231 2003/12/11 02:47:35 peter Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -163,9 +163,9 @@
 cpu_add(u_int apic_id, char boot_cpu)
 {
 
-	if (apic_id > MAXCPU) {
+	if (apic_id >= MAXCPU) {
 		printf("SMP: CPU %d exceeds maximum CPU %d, ignoring\n",
-		    apic_id, MAXCPU);
+		    apic_id, MAXCPU - 1);
 		return;
 	}
 	KASSERT(cpu_info[apic_id].cpu_present == 0, ("CPU %d added twice",

==== //depot/projects/netperf+sockets/sys/amd64/amd64/mptable.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.228 2003/11/17 08:58:13 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.229 2003/12/11 02:47:35 peter Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -54,7 +54,7 @@
 /* string defined by the Intel MP Spec as identifying the MP table */
 #define	MP_SIG			0x5f504d5f	/* _MP_ */
 
-#define	NAPICID			32	/* Max number of I/O APIC's */
+#define	NAPICID			32	/* Max number of APIC's */
 
 #define BIOS_BASE		(0xf0000)
 #define BIOS_SIZE		(0x10000)
@@ -811,7 +811,7 @@
 	 * physical processor.  If any of those ID's are
 	 * already in the table, then kill the fixup.
 	 */
-	for (id = 0; id <= MAXCPU; id++) {
+	for (id = 0; id < NAPICID; id++) {
 		if ((id_mask & 1 << id) == 0)
 			continue;
 		/* First, make sure we are on a logical_cpus boundary. */

==== //depot/projects/netperf+sockets/sys/amd64/include/apicreg.h#2 (text+ko) ====

@@ -22,7 +22,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/apicreg.h,v 1.25 2003/11/03 21:53:38 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/apicreg.h,v 1.26 2003/12/11 02:48:25 peter Exp $
  */
 
 #ifndef _MACHINE_APICREG_H_
@@ -342,38 +342,6 @@
 #define APIC_TDCR_128		0x0a
 #define APIC_TDCR_1		0x0b
 
-
-/*
- * fields in IRR
- * ISA INTerrupts are in bits 16-31 of the 1st IRR register.
- * these masks DON'T EQUAL the isa IRQs of the same name.
- */
-#define APIC_IRQ0		0x00000001
-#define APIC_IRQ1		0x00000002
-#define APIC_IRQ2		0x00000004
-#define APIC_IRQ3		0x00000008
-#define APIC_IRQ4		0x00000010
-#define APIC_IRQ5		0x00000020
-#define APIC_IRQ6		0x00000040
-#define APIC_IRQ7		0x00000080
-#define APIC_IRQ8		0x00000100
-#define APIC_IRQ9		0x00000200
-#define APIC_IRQ10		0x00000400
-#define APIC_IRQ11		0x00000800
-#define APIC_IRQ12		0x00001000
-#define APIC_IRQ13		0x00002000
-#define APIC_IRQ14		0x00004000
-#define APIC_IRQ15		0x00008000
-#define APIC_IRQ16		0x00010000
-#define APIC_IRQ17		0x00020000
-#define APIC_IRQ18		0x00040000
-#define APIC_IRQ19		0x00080000
-#define APIC_IRQ20		0x00100000
-#define APIC_IRQ21		0x00200000
-#define APIC_IRQ22		0x00400000
-#define APIC_IRQ23		0x00800000
-
-
 /******************************************************************************
  * I/O APIC defines
  */

==== //depot/projects/netperf+sockets/sys/boot/i386/boot0/boot0.s#4 (text+ko) ====

@@ -13,7 +13,7 @@
 # purpose.
 #
 
-# $FreeBSD: src/sys/boot/i386/boot0/boot0.s,v 1.28 2003/12/09 05:40:06 obrien Exp $
+# $FreeBSD: src/sys/boot/i386/boot0/boot0.s,v 1.29 2003/12/11 20:40:12 jhb Exp $
 
 # A 512-byte boot manager.
 
@@ -176,7 +176,7 @@
 		callw putx			#  item
 #
 # Now that we've printed the drive (if we needed to), display a prompt.
-# Get ready for the input byte noting the time.
+# Get ready for the input by noting the time.
 #
 main.7: 	movw $prompt,%si		# Display
 		callw putstr			#  prompt

==== //depot/projects/netperf+sockets/sys/boot/i386/cdboot/cdboot.s#2 (text+ko) ====

@@ -13,7 +13,7 @@
 # purpose.
 #
 
-# $FreeBSD: src/sys/boot/i386/cdboot/cdboot.s,v 1.9 2001/11/07 01:20:33 jhb Exp $
+# $FreeBSD: src/sys/boot/i386/cdboot/cdboot.s,v 1.10 2003/12/11 22:42:50 jhb Exp $
 
 #
 # This program is a freestanding boot program to load an a.out binary
@@ -139,10 +139,26 @@
 		jmp error			# Halt
 have_vd:					# Have Primary VD
 #
-# Lookup the loader binary.
+# Try to look up the loader binary using the paths in the loader_paths
+# array.
 #
-		mov $loader_path,%si		# File to lookup
-		call lookup			# Try to find it
+		mov $loader_paths,%si		# Point to start of array
+lookup_path:	push %si			# Save file name pointer
+		call lookup			# Try to find file
+		pop %di				# Restore file name pointer
+		jnc lookup_found		# Found this file
+		xor %al,%al			# Look for next
+		mov $0xffff,%cx			#  path name by
+		repnz				#  scanning for
+		scasb				#  nul char
+		inc %di				# Skip nul
+		mov %di,%si			# Point %si at next path
+		mov (%si),%al			# Get first char of next path
+		or %al,%al			# Is it double nul?
+		jnz lookup_path			# No, try it.
+		mov $msg_failed,%si		# Failed message
+		jmp error			# Halt
+lookup_found:					# Found a loader file
 #
 # Load the binary into the buffer.  Due to real mode addressing limitations
 # we have to read it in in 64k chunks.
@@ -266,7 +282,8 @@
 # Lookup the file in the path at [SI] from the root directory.
 #
 # Trashes: All but BX
-# Returns: BX = pointer to record
+# Returns: CF = 0 (success), BX = pointer to record
+#          CF = 1 (not found)
 #
 lookup:		mov $VD_ROOTDIR+MEM_VOLDESC,%bx	# Root directory record
 		push %si
@@ -286,17 +303,21 @@
 		dec %si				# Undo lodsb side effect
 		call find_file			# Lookup first path item
 		jnc lookup_dir			# Try next component
-		mov $msg_lookupfail,%si		# Not found.
+		mov $msg_lookupfail,%si		# Not found message
+		call putstr
+		stc				# Set carry
+		ret
 		jmp error
 lookup_done:	mov $msg_lookupok,%si		# Success message
 		call putstr
+		clc				# Clear carry
 		ret
 
 #
 # Lookup file at [SI] in directory whose record is at [BX].
 #
 # Trashes: All but returns
-# Returns: CF = 0 (success), BX = pointer to record, SX = next path item
+# Returns: CF = 0 (success), BX = pointer to record, SI = next path item
 #          CF = 1 (not found), SI = preserved
 #
 find_file:	mov DIR_EXTENT(%bx),%eax	# Load extent
@@ -536,7 +557,7 @@
 
 twiddle_index:	.byte 0x0
 
-msg_welcome:	.asciz	"CD Loader 1.01\r\n\n"
+msg_welcome:	.asciz	"CD Loader 1.2\r\n\n"
 msg_bootinfo:	.asciz	"Building the boot loader arguments\r\n"
 msg_relocate:	.asciz	"Relocating the loader and the BTX\r\n"
 msg_jump:	.asciz	"Starting the BTX loader\r\n"
@@ -548,6 +569,9 @@
 msg_lookupok:	.asciz  "Found\r\n"
 msg_lookupfail:	.asciz  "File not found\r\n"
 msg_load2big:	.asciz  "File too big\r\n"
-loader_path:	.asciz  "/BOOT/LOADER"
+msg_failed:	.asciz	"Boot failed\r\n"
 twiddle_chars:	.ascii	"|/-\\"
+loader_paths:	.asciz  "/BOOT/LOADER"
+		.asciz	"/boot/loader"
+		.byte 0
 

==== //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_misc.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.15 2003/11/07 21:27:13 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.16 2003/12/11 02:34:49 peter Exp $");
 
 #include "opt_compat.h"
 
@@ -761,29 +761,21 @@
 freebsd32_gettimeofday(struct thread *td,
 		       struct freebsd32_gettimeofday_args *uap)
 {
-	int error;
-	caddr_t sg;
-	struct timeval32 *p32, s32;
-	struct timeval *p = NULL, s;
+	struct timeval atv;
+	struct timeval32 atv32;
+	struct timezone rtz;
+	int error = 0;
 
-	p32 = uap->tp;
-	if (p32) {
-		sg = stackgap_init();
-		p = stackgap_alloc(&sg, sizeof(struct timeval));
-		uap->tp = (struct timeval32 *)p;
+	if (uap->tp) {
+		microtime(&atv);
+		CP(atv, atv32, tv_sec);
+		CP(atv, atv32, tv_usec);
+		error = copyout(&atv32, uap->tp, sizeof (atv32));
 	}
-	error = gettimeofday(td, (struct gettimeofday_args *) uap);
-	if (error)
-		return (error);
-	if (p32) {
-		error = copyin(p, &s, sizeof(s));
-		if (error)
-			return (error);
-		CP(s, s32, tv_sec);
-		CP(s, s32, tv_usec);
-		error = copyout(&s32, p32, sizeof(s32));
-		if (error)
-			return (error);
+	if (error == 0 && uap->tzp != NULL) {
+		rtz.tz_minuteswest = tz_minuteswest;
+		rtz.tz_dsttime = tz_dsttime;
+		error = copyout(&rtz, uap->tzp, sizeof (rtz));
 	}
 	return (error);
 }

==== //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.14 2003/11/08 07:31:49 peter Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.16 2003/12/11 02:36:37 peter Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp 
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_

==== //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.14 2003/11/08 07:31:49 peter Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.16 2003/12/11 02:36:37 peter Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp 
  */
 
 #define	FREEBSD32_SYS_syscall	0
@@ -53,7 +53,7 @@
 #define	FREEBSD32_SYS_getlogin	49
 #define	FREEBSD32_SYS_setlogin	50
 #define	FREEBSD32_SYS_acct	51
-#define	FREEBSD32_SYS_sigpending	52
+				/* 52 is obsolete osigpending */
 #define	FREEBSD32_SYS_freebsd32_sigaltstack	53
 #define	FREEBSD32_SYS_ioctl	54
 #define	FREEBSD32_SYS_reboot	55
@@ -98,7 +98,7 @@
 #define	FREEBSD32_SYS_setpriority	96
 #define	FREEBSD32_SYS_socket	97
 #define	FREEBSD32_SYS_connect	98
-#define	FREEBSD32_SYS_accept	99
+				/* 99 is obsolete oaccept */
 #define	FREEBSD32_SYS_getpriority	100
 				/* 101 is obsolete osend */
 				/* 102 is obsolete orecv */
@@ -123,7 +123,7 @@
 #define	FREEBSD32_SYS_freebsd32_settimeofday	122
 #define	FREEBSD32_SYS_fchown	123
 #define	FREEBSD32_SYS_fchmod	124
-#define	FREEBSD32_SYS_recvfrom	125
+				/* 125 is obsolete orecvfrom */
 #define	FREEBSD32_SYS_setreuid	126
 #define	FREEBSD32_SYS_setregid	127
 #define	FREEBSD32_SYS_rename	128
@@ -149,7 +149,7 @@
 #define	FREEBSD32_SYS_quotactl	148
 				/* 149 is obsolete oquota */
 				/* 150 is obsolete ogetsockname */
-#define	FREEBSD32_SYS_getdirentries	156
+				/* 156 is obsolete ogetdirentries */
 #define	FREEBSD32_SYS_freebsd32_statfs	157
 #define	FREEBSD32_SYS_freebsd32_fstatfs	158
 #define	FREEBSD32_SYS_getfh	161
@@ -295,4 +295,4 @@
 #define	FREEBSD32_SYS__umtx_lock	434
 #define	FREEBSD32_SYS__umtx_unlock	435
 #define	FREEBSD32_SYS_jail_attach	436
-#define	FREEBSD32_SYS_MAXSYSCALL	437
+#define	FREEBSD32_SYS_MAXSYSCALL	441

==== //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.5 2003/11/08 07:31:49 peter Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.7 2003/12/11 02:36:37 peter Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp 
  */
 
 const char *freebsd32_syscallnames[] = {
@@ -59,7 +59,7 @@
 	"getlogin",			/* 49 = getlogin */
 	"setlogin",			/* 50 = setlogin */
 	"acct",			/* 51 = acct */
-	"sigpending",			/* 52 = sigpending */
+	"obs_osigpending",			/* 52 = obsolete osigpending */
 	"freebsd32_sigaltstack",			/* 53 = freebsd32_sigaltstack */
 	"ioctl",			/* 54 = ioctl */
 	"reboot",			/* 55 = reboot */
@@ -106,7 +106,7 @@
 	"setpriority",			/* 96 = setpriority */
 	"socket",			/* 97 = socket */
 	"connect",			/* 98 = connect */
-	"accept",			/* 99 = accept */
+	"obs_oaccept",			/* 99 = obsolete oaccept */
 	"getpriority",			/* 100 = getpriority */
 	"obs_osend",			/* 101 = obsolete osend */
 	"obs_orecv",			/* 102 = obsolete orecv */
@@ -132,7 +132,7 @@
 	"freebsd32_settimeofday",			/* 122 = freebsd32_settimeofday */
 	"fchown",			/* 123 = fchown */
 	"fchmod",			/* 124 = fchmod */
-	"recvfrom",			/* 125 = recvfrom */
+	"obs_orecvfrom",			/* 125 = obsolete orecvfrom */
 	"setreuid",			/* 126 = setreuid */
 	"setregid",			/* 127 = setregid */
 	"rename",			/* 128 = rename */
@@ -163,7 +163,7 @@
 	"#153",			/* 153 = asyncdaemon */
 	"#154",			/* 154 = nosys */
 	"#155",			/* 155 = nfssvc */
-	"getdirentries",			/* 156 = getdirentries */
+	"obs_ogetdirentries",			/* 156 = obsolete ogetdirentries */
 	"freebsd32_statfs",			/* 157 = freebsd32_statfs */
 	"freebsd32_fstatfs",			/* 158 = freebsd32_fstatfs */
 	"#159",			/* 159 = nosys */
@@ -444,4 +444,8 @@
 	"_umtx_lock",			/* 434 = _umtx_lock */
 	"_umtx_unlock",			/* 435 = _umtx_unlock */
 	"jail_attach",			/* 436 = jail_attach */
+	"#437",			/* 437 = extattr_list_fd */
+	"#438",			/* 438 = extattr_list_file */
+	"#439",			/* 439 = extattr_list_link */
+	"#440",			/* 440 = kse_switchin */
 };

==== //depot/projects/netperf+sockets/sys/compat/freebsd32/freebsd32_sysent.c#3 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.15 2003/11/08 07:31:49 peter Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.17 2003/12/11 02:36:37 peter Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp 
  */
 
 #include "opt_compat.h"
@@ -77,7 +77,7 @@
 	{ SYF_MPSAFE | AS(getlogin_args), (sy_call_t *)getlogin },	/* 49 = getlogin */
 	{ SYF_MPSAFE | AS(setlogin_args), (sy_call_t *)setlogin },	/* 50 = setlogin */
 	{ SYF_MPSAFE | AS(acct_args), (sy_call_t *)acct },	/* 51 = acct */
-	{ SYF_MPSAFE | 0, (sy_call_t *)sigpending },	/* 52 = sigpending */
+	{ 0, (sy_call_t *)nosys },			/* 52 = obsolete osigpending */
 	{ SYF_MPSAFE | AS(freebsd32_sigaltstack_args), (sy_call_t *)freebsd32_sigaltstack },	/* 53 = freebsd32_sigaltstack */
 	{ SYF_MPSAFE | AS(ioctl_args), (sy_call_t *)ioctl },	/* 54 = ioctl */
 	{ SYF_MPSAFE | AS(reboot_args), (sy_call_t *)reboot },	/* 55 = reboot */
@@ -124,7 +124,7 @@
 	{ SYF_MPSAFE | AS(setpriority_args), (sy_call_t *)setpriority },	/* 96 = setpriority */
 	{ SYF_MPSAFE | AS(socket_args), (sy_call_t *)socket },	/* 97 = socket */
 	{ SYF_MPSAFE | AS(connect_args), (sy_call_t *)connect },	/* 98 = connect */
-	{ SYF_MPSAFE | AS(accept_args), (sy_call_t *)accept },	/* 99 = accept */
+	{ 0, (sy_call_t *)nosys },			/* 99 = obsolete oaccept */
 	{ SYF_MPSAFE | AS(getpriority_args), (sy_call_t *)getpriority },	/* 100 = getpriority */
 	{ 0, (sy_call_t *)nosys },			/* 101 = obsolete osend */
 	{ 0, (sy_call_t *)nosys },			/* 102 = obsolete orecv */
@@ -141,7 +141,7 @@
 	{ 0, (sy_call_t *)nosys },			/* 113 = obsolete orecvmsg */
 	{ 0, (sy_call_t *)nosys },			/* 114 = obsolete osendmsg */
 	{ 0, (sy_call_t *)nosys },			/* 115 = obsolete vtrace */
-	{ AS(freebsd32_gettimeofday_args), (sy_call_t *)freebsd32_gettimeofday },	/* 116 = freebsd32_gettimeofday */
+	{ SYF_MPSAFE | AS(freebsd32_gettimeofday_args), (sy_call_t *)freebsd32_gettimeofday },	/* 116 = freebsd32_gettimeofday */
 	{ AS(freebsd32_getrusage_args), (sy_call_t *)freebsd32_getrusage },	/* 117 = freebsd32_getrusage */
 	{ SYF_MPSAFE | AS(getsockopt_args), (sy_call_t *)getsockopt },	/* 118 = getsockopt */
 	{ 0, (sy_call_t *)nosys },			/* 119 = resuba */
@@ -150,7 +150,7 @@
 	{ AS(freebsd32_settimeofday_args), (sy_call_t *)freebsd32_settimeofday },	/* 122 = freebsd32_settimeofday */
 	{ AS(fchown_args), (sy_call_t *)fchown },	/* 123 = fchown */
 	{ AS(fchmod_args), (sy_call_t *)fchmod },	/* 124 = fchmod */
-	{ SYF_MPSAFE | AS(recvfrom_args), (sy_call_t *)recvfrom },	/* 125 = recvfrom */
+	{ 0, (sy_call_t *)nosys },			/* 125 = obsolete orecvfrom */
 	{ SYF_MPSAFE | AS(setreuid_args), (sy_call_t *)setreuid },	/* 126 = setreuid */
 	{ SYF_MPSAFE | AS(setregid_args), (sy_call_t *)setregid },	/* 127 = setregid */
 	{ AS(rename_args), (sy_call_t *)rename },	/* 128 = rename */
@@ -181,7 +181,7 @@
 	{ 0, (sy_call_t *)nosys },			/* 153 = asyncdaemon */
 	{ 0, (sy_call_t *)nosys },			/* 154 = nosys */
 	{ 0, (sy_call_t *)nosys },			/* 155 = nfssvc */
-	{ AS(getdirentries_args), (sy_call_t *)getdirentries },	/* 156 = getdirentries */
+	{ 0, (sy_call_t *)nosys },			/* 156 = obsolete ogetdirentries */
 	{ AS(freebsd32_statfs_args), (sy_call_t *)freebsd32_statfs },	/* 157 = freebsd32_statfs */
 	{ AS(freebsd32_fstatfs_args), (sy_call_t *)freebsd32_fstatfs },	/* 158 = freebsd32_fstatfs */
 	{ 0, (sy_call_t *)nosys },			/* 159 = nosys */
@@ -462,4 +462,8 @@
 	{ SYF_MPSAFE | AS(_umtx_lock_args), (sy_call_t *)_umtx_lock },	/* 434 = _umtx_lock */
 	{ SYF_MPSAFE | AS(_umtx_unlock_args), (sy_call_t *)_umtx_unlock },	/* 435 = _umtx_unlock */
 	{ SYF_MPSAFE | AS(jail_attach_args), (sy_call_t *)jail_attach },	/* 436 = jail_attach */
+	{ 0, (sy_call_t *)nosys },			/* 437 = extattr_list_fd */
+	{ 0, (sy_call_t *)nosys },			/* 438 = extattr_list_file */
+	{ 0, (sy_call_t *)nosys },			/* 439 = extattr_list_link */
+	{ 0, (sy_call_t *)nosys },			/* 440 = kse_switchin */
 };

==== //depot/projects/netperf+sockets/sys/compat/freebsd32/syscalls.master#3 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.26 2003/11/08 07:31:30 peter Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.29 2003/12/11 02:36:07 peter Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;	from: src/sys/kern/syscalls.master 1.107
 ;
@@ -110,7 +110,7 @@
 49	MNOPROTO BSD	{ int getlogin(char *namebuf, u_int namelen); }
 50	MNOPROTO BSD	{ int setlogin(char *namebuf); }
 51	MNOPROTO BSD	{ int acct(char *path); }
-52	MNOPROTO POSIX	{ int sigpending(void); }
+52	OBSOL	POSIX	osigpending
 53	MSTD	BSD	{ int freebsd32_sigaltstack(struct sigaltstack32 *ss, \
 			    struct sigaltstack32 *oss); }
 54	MNOPROTO POSIX	{ int ioctl(int fd, u_long com, caddr_t data); }
@@ -171,8 +171,7 @@
 96	MNOPROTO BSD	{ int setpriority(int which, int who, int prio); }
 97	MNOPROTO BSD	{ int socket(int domain, int type, int protocol); }
 98	MNOPROTO BSD	{ int connect(int s, caddr_t name, int namelen); }
-99	MNOPROTO BSD	{ int accept(int s, caddr_t name, int *anamelen); } \
-			    accept accept_args int
+99	OBSOL	BSD	oaccept
 100	MNOPROTO BSD	{ int getpriority(int which, int who); }
 101	OBSOL	BSD	osend
 102	OBSOL	BSD	orecv
@@ -190,7 +189,7 @@
 113	OBSOL	BSD	orecvmsg
 114	OBSOL	BSD	osendmsg
 115	OBSOL	NOHIDE	vtrace
-116	STD	BSD	{ int freebsd32_gettimeofday(struct timeval32 *tp, \
+116	MSTD	BSD	{ int freebsd32_gettimeofday(struct timeval32 *tp, \
 			    struct timezone *tzp); }
 117	STD	BSD	{ int freebsd32_getrusage(int who, \
 			    struct rusage32 *rusage); }
@@ -205,9 +204,7 @@
 			    struct timezone *tzp); }
 123	NOPROTO	BSD	{ int fchown(int fd, int uid, int gid); }
 124	NOPROTO	BSD	{ int fchmod(int fd, int mode); }
-125	MNOPROTO BSD	{ int recvfrom(int s, caddr_t buf, size_t len, \
-			    int flags, caddr_t from, int *fromlenaddr); } \
-			    recvfrom recvfrom_args int
+125	OBSOL	BSD	orecvfrom
 126	MNOPROTO BSD	{ int setreuid(int ruid, int euid); }
 127	MNOPROTO BSD	{ int setregid(int rgid, int egid); }
 128	NOPROTO	POSIX	{ int rename(char *from, char *to); }
@@ -249,8 +246,7 @@
 154	UNIMPL	NOHIDE	nosys
 ; 155 is initialized by the NFS code, if present.
 155	UNIMPL	NOHIDE	nfssvc
-156	NOPROTO	BSD	{ int getdirentries(int fd, char *buf, u_int count, \
-			    long *basep); }
+156	OBSOL	BSD	ogetdirentries
 157	STD	BSD	{ int freebsd32_statfs(char *path, \
 			    struct statfs32 *buf); }
 158	STD	BSD	{ int freebsd32_fstatfs(int fd, struct statfs32 *buf); }
@@ -633,4 +629,7 @@
 434	MNOPROTO BSD	{ int _umtx_lock(struct umtx *umtx); }
 435	MNOPROTO BSD	{ int _umtx_unlock(struct umtx *umtx); }
 436	MNOPROTO BSD	{ int jail_attach(int jid); }
-
+437	UNIMPL	BSD	extattr_list_fd
+438	UNIMPL	BSD	extattr_list_file
+439	UNIMPL	BSD	extattr_list_link
+440	UNIMPL	BSD	kse_switchin

==== //depot/projects/netperf+sockets/sys/compat/ia32/ia32_sysvec.c#3 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ia32/ia32_sysvec.c,v 1.12 2003/11/08 07:43:44 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ia32/ia32_sysvec.c,v 1.14 2003/12/11 01:05:09 peter Exp $");
 
 #include "opt_compat.h"
 
@@ -66,10 +66,17 @@
 
 #include <compat/freebsd32/freebsd32_util.h>
 #include <compat/freebsd32/freebsd32_proto.h>
+#include <compat/freebsd32/freebsd32_syscall.h>
 #include <compat/ia32/ia32_signal.h>
+#ifdef __amd64__
 #include <machine/psl.h>
 #include <machine/segments.h>
 #include <machine/specialreg.h>
+#else
+#include <i386/include/psl.h>
+#include <i386/include/segments.h>
+#include <i386/include/specialreg.h>
+#endif
 #include <machine/frame.h>
 #include <machine/md_var.h>
 #include <machine/pcb.h>
@@ -93,7 +100,7 @@
 SYSCTL_NODE(_compat, OID_AUTO, ia32, CTLFLAG_RW, 0, "ia32 mode");
 
 struct sysentvec ia32_freebsd_sysvec = {
-	SYS_MAXSYSCALL,
+	FREEBSD32_SYS_MAXSYSCALL,
 	freebsd32_sysent,
 	0,
 	0,
@@ -110,7 +117,7 @@
 	elf32_coredump,
 	NULL,
 	MINSIGSTKSZ,
-	PAGE_SIZE,
+	IA32_PAGE_SIZE,
 	0,
 	FREEBSD32_USRSTACK,
 	FREEBSD32_USRSTACK,

==== //depot/projects/netperf+sockets/sys/compat/ia32/ia32_util.h#2 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/compat/ia32/ia32_util.h,v 1.8 2003/09/25 01:10:23 peter Exp $
+ * $FreeBSD: src/sys/compat/ia32/ia32_util.h,v 1.9 2003/12/11 01:05:09 peter Exp $
  */
 
 #include <vm/vm.h>
@@ -37,8 +37,13 @@
 #include <sys/sysent.h>
 #include <sys/cdefs.h>
 
-#define FREEBSD32_USRSTACK	((1ul << 32) - PAGE_SIZE)
+#ifdef __ia64__
+#define FREEBSD32_USRSTACK	((1ul << 32) - IA32_PAGE_SIZE * 2)
+#else
+#define FREEBSD32_USRSTACK	((1ul << 32) - IA32_PAGE_SIZE)
+#endif
 
+#define	IA32_PAGE_SIZE	4096
 #define	IA32_MAXDSIZ	(512*1024*1024)		/* 512MB */
 #define	IA32_MAXSSIZ	(64*1024*1024)		/* 64MB */
 #define IA32_MAXVMEM	0			/* Unlimited */

==== //depot/projects/netperf+sockets/sys/conf/files.amd64#3 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.amd64,v 1.26 2003/11/17 08:58:16 peter Exp $
+# $FreeBSD: src/sys/conf/files.amd64,v 1.27 2003/12/11 01:09:51 peter Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -116,10 +116,10 @@
 #
 amd64/ia32/ia32_exception.S	optional	ia32
 amd64/ia32/ia32_signal.c	optional	ia32
+amd64/ia32/ia32_sigtramp.S	optional	ia32
 amd64/ia32/ia32_syscall.c	optional	ia32
 compat/freebsd32/freebsd32_misc.c	optional	ia32
 compat/freebsd32/freebsd32_syscalls.c	optional	ia32
 compat/freebsd32/freebsd32_sysent.c	optional	ia32
-compat/ia32/ia32_sigtramp.S	optional	ia32
 compat/ia32/ia32_sysvec.c	optional	ia32
 kern/imgact_elf32.c		optional	ia32

==== //depot/projects/netperf+sockets/sys/conf/files.i386#3 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.i386,v 1.459 2003/12/07 04:18:51 imp Exp $
+# $FreeBSD: src/sys/conf/files.i386,v 1.460 2003/12/11 22:34:36 wpaul Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -74,6 +74,11 @@
 compat/linux/linux_sysctl.c	optional	compat_linux
 compat/linux/linux_uid16.c	optional	compat_linux
 compat/linux/linux_util.c	optional	compat_linux
+compat/ndis/kern_ndis.c		optional	ndisapi pci pccard
+compat/ndis/subr_hal.c		optional	ndisapi pci pccard
+compat/ndis/subr_ndis.c		optional	ndisapi pci pccard
+compat/ndis/subr_ntoskrnl.c	optional	ndisapi pci pccard
+compat/ndis/subr_pe.c		optional	ndisapi pci pccard
 compat/pecoff/imgact_pecoff.c		optional	pecoff_support
 compat/svr4/imgact_svr4.c		optional	compat_svr4
 compat/svr4/svr4_fcntl.c		optional	compat_svr4
@@ -127,6 +132,7 @@
 dev/fb/splash.c			optional	splash
 dev/fb/vga.c			optional	vga
 dev/fe/if_fe_isa.c		optional	fe isa
+dev/if_ndis/if_ndis.c		optional	ndis pci pccard
 dev/kbd/atkbd.c			optional	atkbd
 dev/kbd/atkbdc.c		optional	atkbdc
 dev/kbd/kbd.c			optional	atkbd

==== //depot/projects/netperf+sockets/sys/conf/files.ia64#3 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.ia64,v 1.61 2003/10/24 06:48:41 marcel Exp $
+# $FreeBSD: src/sys/conf/files.ia64,v 1.63 2003/12/11 01:05:09 peter Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -28,6 +28,10 @@
 	no-obj no-implicit-rule before-depend				\
 	clean		"ukbdmap.h"
 #
+compat/freebsd32/freebsd32_misc.c	optional	ia32
+compat/freebsd32/freebsd32_syscalls.c	optional	ia32
+compat/freebsd32/freebsd32_sysent.c	optional	ia32
+compat/ia32/ia32_sysvec.c	optional        ia32
 contrib/ia64/libuwx/src/uwx_bstream.c		standard
 contrib/ia64/libuwx/src/uwx_context.c		standard
 contrib/ia64/libuwx/src/uwx_env.c		standard
@@ -83,9 +87,8 @@
 ia64/disasm/disasm_decode.c	standard
 ia64/disasm/disasm_extract.c	standard
 ia64/disasm/disasm_format.c	standard
-ia64/ia32/ia32_misc.c		optional	ia32
-ia64/ia32/ia32_sysent.c		optional	ia32
-ia64/ia32/ia32_sysvec.c		optional	ia32
+ia64/ia32/ia32_signal.c		optional	ia32
+ia64/ia32/ia32_sigtramp.c	optional        ia32
 ia64/ia64/autoconf.c		standard
 ia64/ia64/busdma_machdep.c	standard
 ia64/ia64/clock.c		standard
@@ -135,7 +138,6 @@
 isa/vga_isa.c			optional	vga
 kern/imgact_elf32.c		optional	ia32
 libkern/bcmp.c			standard
-libkern/ffs.c			standard
 libkern/ia64/__divdi3.S		standard
 libkern/ia64/__divsi3.S		standard
 libkern/ia64/__moddi3.S		standard

==== //depot/projects/netperf+sockets/sys/dev/ata/ata-lowlevel.c#3 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.24 2003/12/03 15:32:53 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.25 2003/12/10 23:06:24 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -606,10 +606,14 @@
 	if (mask == 0x02)	/* wait for slave only */
 	    if (!(stat1 & ATA_S_BUSY) || (stat1 == 0xff && timeout > 20))
 		break;
-	if (mask == 0x03)	/* wait for both master & slave */
-	    if ((!(stat0 & ATA_S_BUSY) || (stat0 == 0xff && timeout > 20)) &&
-	        (!(stat1 & ATA_S_BUSY) || (stat1 == 0xff && timeout > 20)))
+	if (mask == 0x03) {	/* wait for both master & slave */
+	    if (!(stat0 & ATA_S_BUSY) && !(stat1 & ATA_S_BUSY))
 		break;
+	    if (stat0 == 0xff && timeout > 20)
+		mask &= ~0x01;
+	    if (stat1 == 0xff && timeout > 20)
+		mask &= ~0x02;
+	}
 	DELAY(100000);
     }	
 

==== //depot/projects/netperf+sockets/sys/dev/ath/if_ath.c#3 (text+ko) ====

@@ -2774,7 +2774,21 @@
 	struct ieee80211com *ic = &sc->sc_ic;
 	struct ieee80211_node *ni;
 
-	if (ic->ic_opmode != IEEE80211_M_STA) {
+	if (ic->ic_opmode == IEEE80211_M_STA) {
+		/*
+		 * Reset local xmit state; this is really only
+		 * meaningful when operating in station mode.
+		 */
+		ni = ic->ic_bss;
+		if (state == IEEE80211_S_RUN) {
+			/* start with highest negotiated rate */
+			KASSERT(ni->ni_rates.rs_nrates > 0,
+				("transition to RUN state w/ no rates!"));
+			ath_rate_update(sc, ni, ni->ni_rates.rs_nrates - 1);
+		} else {
+			ath_rate_update(sc, ni, 0);
+		}
+	} else {
 		/*
 		 * When operating as a station the node table holds
 		 * the AP's that were discovered during scanning.
@@ -2783,19 +2797,7 @@
 		 */
 		TAILQ_FOREACH(ni, &ic->ic_node, ni_list)
 			ath_rate_update(sc, ni, 0);	/* use lowest rate */
-	}
-	/*
-	 * Reset local xmit state; this is really only meaningful
-	 * when operating in station or adhoc mode.
-	 */
-	ni = ic->ic_bss;
-	if (state == IEEE80211_S_RUN) {
-		/* start with highest negotiated rate */
-		KASSERT(ni->ni_rates.rs_nrates > 0,
-			("transition to RUN state w/ no rates!"));
-		ath_rate_update(sc, ni, ni->ni_rates.rs_nrates - 1);
-	} else {
-		ath_rate_update(sc, ni, 0);		/* use lowest rate */
+		ath_rate_update(sc, ic->ic_bss, 0);
 	}
 }
 

==== //depot/projects/netperf+sockets/sys/dev/firewire/sbp.h#3 (text+ko) ====

@@ -31,7 +31,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  * 
- * $FreeBSD: src/sys/dev/firewire/sbp.h,v 1.2 2003/11/12 03:29:57 simokawa Exp $
+ * $FreeBSD: src/sys/dev/firewire/sbp.h,v 1.3 2003/12/11 03:42:40 simokawa Exp $
  *
  */
 
@@ -125,6 +125,7 @@
 /*   6: Maximum payload too small */
 /*   7: Reserved for future standardization */
 /*   8: Resource unavailabe */
+#define STATUS_RES_UNAVAIL	8
 /*   9: Function Rejected */
 /*  10: Login ID not recognized */
 /*  11: Dummy ORB completed */

==== //depot/projects/netperf+sockets/sys/dev/firewire/sbp_targ.c#3 (text+ko) ====

@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  * 
- * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.2 2003/11/12 04:06:21 simokawa Exp $
+ * $FreeBSD: src/sys/dev/firewire/sbp_targ.c,v 1.3 2003/12/11 03:42:40 simokawa Exp $
  */
 
 #include <sys/param.h>
@@ -62,14 +62,17 @@
 #include <cam/cam_periph.h>
 #include <cam/scsi/scsi_all.h>
 
-#define SBP_TARG_RECV_LEN (8)
-#define MAX_LUN		63
+#define SBP_TARG_RECV_LEN	8
+#define MAX_INITIATORS		8
+#define MAX_LUN			63
+#define MAX_LOGINS		63
+#define MAX_NODES		63
 /*
  * management/command block agent registers
  *
  * BASE 0xffff f001 0000 management port
- * BASE 0xffff f001 0020 command port for lun0
- * BASE 0xffff f001 0040 command port for lun1
+ * BASE 0xffff f001 0020 command port for login id 0
+ * BASE 0xffff f001 0040 command port for login id 1
  *
  */
 #define SBP_TARG_MGM	 0x10000	/* offset from 0xffff f000 000 */
@@ -78,13 +81,19 @@
 #define SBP_TARG_BIND_START	(((u_int64_t)SBP_TARG_BIND_HI << 32) | \
 				    SBP_TARG_BIND_LO(-1))
 #define SBP_TARG_BIND_END	(((u_int64_t)SBP_TARG_BIND_HI << 32) | \
-				    SBP_TARG_BIND_LO(MAX_LUN))
-#define SBP_TARG_LUN(lo)	(((lo) - SBP_TARG_BIND_LO(0))/0x20)
+				    SBP_TARG_BIND_LO(MAX_LOGINS))
+#define SBP_TARG_LOGIN_ID(lo)	(((lo) - SBP_TARG_BIND_LO(0))/0x20)
 
 #define FETCH_MGM	0
 #define FETCH_CMD	1
 #define FETCH_POINTER	2
 
+#define F_LINK_ACTIVE	(1 << 0)
+#define F_ATIO_STARVED	(1 << 1)
+#define F_LOGIN		(1 << 2)
+#define F_HOLD		(1 << 3)
+#define F_FREEZED	(1 << 4)
+
 MALLOC_DEFINE(M_SBP_TARG, "sbp_targ", "SBP-II/FireWire target mode");
 
 static int debug = 0;
@@ -92,36 +101,44 @@
 SYSCTL_INT(_debug, OID_AUTO, sbp_targ_debug, CTLFLAG_RW, &debug, 0,
         "SBP target mode debug flag");
 
+struct sbp_targ_login {
+	struct sbp_targ_lstate *lstate;
+	struct fw_device *fwdev;
+	struct sbp_login_res loginres;
+	u_int32_t flags; 
+	u_int16_t fifo_hi; 
+	u_int16_t last_hi;
+	u_int32_t fifo_lo; 
+	u_int32_t last_lo;
+	STAILQ_HEAD(, orb_info) orbs;
+	u_int16_t id;
+	STAILQ_ENTRY(sbp_targ_login) link;
+	int hold_sec;
+	struct callout hold_callout;
+};
+
+struct sbp_targ_lstate {
+	u_int16_t lun;
+	struct sbp_targ_softc *sc;
+	struct cam_path *path;
+	struct ccb_hdr_slist accept_tios;
+	struct ccb_hdr_slist immed_notifies;
+	struct crom_chunk model;
+	u_int32_t flags; 
+	STAILQ_HEAD(, sbp_targ_login) logins;
+};
+
 struct sbp_targ_softc {
         struct firewire_dev_comm fd;
 	struct cam_sim *sim;
 	struct cam_path *path;
 	struct fw_bind fwb;
 	int ndevs;
+	int flags;
 	struct crom_chunk unit;
 	struct sbp_targ_lstate *lstate[MAX_LUN];
 	struct sbp_targ_lstate *black_hole;
-};
-
-struct sbp_targ_lstate {
-	struct sbp_targ_softc *sc;
-	struct cam_path *path;

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312131844.hBDIiMgS057631>