Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 Apr 2004 16:38:39 -0700 (PDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 51484 for review
Message-ID:  <200404202338.i3KNcd9r026830@repoman.freebsd.org>

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

Change 51484 by rwatson@rwatson_paprika on 2004/04/20 16:38:04

	Integrate netperf_socket:
	
	boot0ext loader fixes.
	DA_OLD_QUIRKS goes away.
	And, of course, more ndis evil (spl-like emulation, etc).
	geom concat panic fix.
	In kern_thr, make sure we walk the right process if the thread waking
	  up another thread is in a different process (?).
	callout_stop() is gone.
	Ipfilter does IPv6 by default.
	Don't remove interface index until after protocol detach.
	Do less dereferencing in if_stf.c.
	More luigi route table simplification.
	Use random ephemeral port allocation.
	Introduction of random positive increments to callout for TCP
	  connections during time wait to prevent identical sequence numbers
	  between connections with the same ports/ips. 
	Don't recurse in nd6_output().

Affected files ...

.. //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0.s#2 integrate
.. //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0ext.s#2 integrate
.. //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0sio.s#2 integrate
.. //depot/projects/netperf_socket/sys/cam/scsi/scsi_da.c#3 integrate
.. //depot/projects/netperf_socket/sys/compat/ndis/ntoskrnl_var.h#8 integrate
.. //depot/projects/netperf_socket/sys/compat/ndis/subr_hal.c#4 integrate
.. //depot/projects/netperf_socket/sys/conf/NOTES#14 integrate
.. //depot/projects/netperf_socket/sys/conf/files#18 integrate
.. //depot/projects/netperf_socket/sys/conf/options#10 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/Osd/OsdTable.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_acad.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_pcib.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-lowlevel.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-pci.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ciss/ciss.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/hfa/fore_load.c#3 delete
.. //depot/projects/netperf_socket/sys/dev/pci/pci.c#4 integrate
.. //depot/projects/netperf_socket/sys/geom/concat/g_concat.c#6 integrate
.. //depot/projects/netperf_socket/sys/i386/isa/atpic.c#3 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_thr.c#6 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_timeout.c#4 integrate
.. //depot/projects/netperf_socket/sys/modules/cam/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/ipfilter/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/net/if.c#7 integrate
.. //depot/projects/netperf_socket/sys/net/if_stf.c#5 integrate
.. //depot/projects/netperf_socket/sys/net/radix.c#4 integrate
.. //depot/projects/netperf_socket/sys/net/route.c#8 integrate
.. //depot/projects/netperf_socket/sys/net/route.h#8 integrate
.. //depot/projects/netperf_socket/sys/net/rtsock.c#6 integrate
.. //depot/projects/netperf_socket/sys/netinet/in_pcb.c#7 integrate
.. //depot/projects/netperf_socket/sys/netinet/tcp_subr.c#6 integrate
.. //depot/projects/netperf_socket/sys/netinet/tcp_var.h#5 integrate
.. //depot/projects/netperf_socket/sys/netinet6/nd6.c#4 integrate
.. //depot/projects/netperf_socket/sys/netinet6/nd6_nbr.c#3 integrate
.. //depot/projects/netperf_socket/sys/netipsec/xform_tcp.c#2 integrate
.. //depot/projects/netperf_socket/sys/pci/amdpm.c#3 integrate
.. //depot/projects/netperf_socket/sys/pci/if_sk.c#7 integrate
.. //depot/projects/netperf_socket/sys/sys/callout.h#4 integrate
.. //depot/projects/netperf_socket/sys/sys/types.h#4 integrate

Differences ...

==== //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0.s#2 (text+ko) ====

@@ -13,7 +13,7 @@
 # purpose.
 #
 
-# $FreeBSD: src/sys/boot/i386/boot0/boot0.s,v 1.29 2003/12/11 20:40:12 jhb Exp $
+# $FreeBSD: src/sys/boot/i386/boot0/boot0.s,v 1.30 2004/04/20 03:15:59 obrien Exp $
 
 # A 512-byte boot manager.
 
@@ -91,12 +91,12 @@
 		jnz main.1			# Yes
 		testb %dl,%dl			# Drive number valid?
 		js main.2			# Possibly (0x80 set)
-main.1: 	movb _SETDRV(%bp),%dl		# Drive number to use
+main.1:		movb _SETDRV(%bp),%dl		# Drive number to use
 #
 # Whatever we decided to use, now store it into the fake
 # partition entry that lives in the data space above us.
 #
-main.2: 	movb %dl,_FAKE(%bp)		# Save drive number
+main.2:		movb %dl,_FAKE(%bp)		# Save drive number
 		callw putn			# To new line
 		pushw %dx			# Save drive number
 #
@@ -112,7 +112,7 @@
 # Loop around on the partition table, printing values until we
 # pass a 256 byte boundary. The end of loop test is at main.5.
 #
-main.3: 	movb %ch,-0x4(%bx)		# Zero active flag (ch == 0)
+main.3:		movb %ch,-0x4(%bx)		# Zero active flag (ch == 0)
 		btw %dx,_FLAGS(%bp)		# Entry enabled?
 		jnc main.5			# No
 #
@@ -139,10 +139,10 @@
 # pointing at its first element which points to a "?".
 #
 		addw $TBL1SZ,%di		# Adjust
-main.4: 	movb (%di),%cl			# Partition
+main.4:		movb (%di),%cl			# Partition
 		addw %cx,%di			#  description
 		callw putx			# Display it
-main.5: 	incw %dx			# Next item
+main.5:		incw %dx			# Next item
 		addb $0x10,%bl			# Next entry
 		jnc main.3			# Till done
 #
@@ -170,7 +170,7 @@
 # This also is part of the printed drive string so add 0x80 to indicate
 # end of string.
 #
-main.6: 	addb $'0'|0x80,%al		# Save next
+main.6:		addb $'0'|0x80,%al		# Save next
 		movb %al,_NXTDRV(%bp)		#  drive number
 		movw $drive,%di			# Display
 		callw putx			#  item
@@ -178,7 +178,7 @@
 # Now that we've printed the drive (if we needed to), display a prompt.
 # Get ready for the input by noting the time.
 #
-main.7: 	movw $prompt,%si		# Display
+main.7:		movw $prompt,%si		# Display
 		callw putstr			#  prompt
 		movb _OPT(%bp),%dl		# Display
 		decw %si			#  default
@@ -191,7 +191,7 @@
 # Busy loop, looking for keystrokes but
 # keeping one eye on the time.
 #
-main.8: 	movb $0x1,%ah			# BIOS: Check
+main.8:		movb $0x1,%ah			# BIOS: Check
 		int $0x16			#  for keypress
 		jnz main.11			# Have one
 		xorb %ah,%ah			# BIOS: Get
@@ -201,7 +201,7 @@
 #
 # If timed out or defaulting, come here.
 #
-main.9: 	movb _OPT(%bp),%al		# Load default
+main.9:		movb _OPT(%bp),%al		# Load default
 		jmp main.12			# Join common code
 #
 # User's last try was bad, beep in displeasure.
@@ -296,7 +296,7 @@
 # Display routines
 #
 
-putkey: 	movb $'F',%al			# Display
+putkey:		movb $'F',%al			# Display
 		callw putchr			#  'F'
 		movb $'1',%al			# Prepare
 		addb %dl,%al			#  digit
@@ -315,14 +315,14 @@
 
 putn:		movw $crlf,%si			# To next line
 
-putstr: 	lodsb				# Get byte
+putstr:		lodsb				# Get byte
 		testb $0x80,%al 		# End of string?
 		jnz putstr.2			# Yes
 putstr.1:	callw putchr			# Display char
 		jmp putstr			# Continue
 putstr.2:	andb $~0x80,%al 		# Clear MSB
 
-putchr: 	pushw %bx			# Save
+putchr:		pushw %bx			# Save
 		movw $0x7,%bx	 		# Page:attribute
 		movb $0xe,%ah			# BIOS: Display
 		int $0x10			#  character
@@ -331,7 +331,7 @@
 
 # One-sector disk I/O routine
 
-intx13: 	movb 0x1(%si),%dh		# Load head
+intx13:		movb 0x1(%si),%dh		# Load head
 		movw 0x2(%si),%cx		# Load cylinder:sector
 		movb $0x1,%al			# Sector count
 		pushw %si			# Save
@@ -355,7 +355,7 @@
 # Menu strings
 
 item:		.ascii "  ";	     .byte ' '|0x80
-prompt: 	.ascii "\nDefault:"; .byte ' '|0x80
+prompt:		.ascii "\nDefault:"; .byte ' '|0x80
 crlf:		.ascii "\r";	     .byte '\n'|0x80
 
 # Partition type tables
@@ -391,10 +391,10 @@
 # the end of the string. (not so great for Russians but...)
 #
 os_misc:	.ascii "?";    .byte '?'|0x80
-os_dos: 	.ascii "DO";   .byte 'S'|0x80
+os_dos:		.ascii "DO";   .byte 'S'|0x80
 os_linux:	.ascii "Linu"; .byte 'x'|0x80
 os_freebsd:	.ascii "Free"
-os_bsd: 	.ascii "BS";   .byte 'D'|0x80
+os_bsd:		.ascii "BS";   .byte 'D'|0x80
 
 		.org PRT_OFF-0xe,0x90
 
@@ -406,14 +406,14 @@
 # is part of the same string.
 #
 drive:		.ascii "Drive "
-nxtdrv: 	.byte 0x0			# Next drive number
+nxtdrv:		.byte 0x0			# Next drive number
 opt:		.byte 0x0			# Option
-setdrv: 	.byte 0x80			# Drive to force
+setdrv:		.byte 0x80			# Drive to force
 flags:		.byte FLAGS			# Flags
 ticks:		.word TICKS			# Delay
 
 #
 # here is the 64 byte partition table that fdisk would fiddle with.
 #
-partbl: 	.fill 0x40,0x1,0x0		# Partition table
+partbl:		.fill 0x40,0x1,0x0		# Partition table
 		.word MAGIC			# Magic number

==== //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0ext.s#2 (text+ko) ====

@@ -13,7 +13,7 @@
 # purpose.
 #
 
-# $FreeBSD: src/sys/boot/i386/boot0/boot0ext.s,v 1.1 2004/03/26 18:46:31 obrien Exp $
+# $FreeBSD: src/sys/boot/i386/boot0/boot0ext.s,v 1.5 2004/04/20 13:34:18 obrien Exp $
 
 # A 1024-byte boot manager.
 
@@ -34,6 +34,7 @@
 
 		.set KEY_ENTER,0x1c		# Enter key scan code
 		.set KEY_F1,0x3b		# F1 key scan code
+		.set KEY_1,0x02			# #1 key scan code
 
 #
 # Flag bits
@@ -45,7 +46,7 @@
 # Addresses in the sector of embedded data values.
 # Accessed with negative offsets from the end of the relocated sectors (%bp).
 #
-		.set _PRT_END,(FAKE-(ORIGIN+SECTOR_SIZE))
+		.set _PRT_END,(FAKE-(ORIGIN+SECTOR_SIZE*(NUM_SECTORS-1)))
 		.set _NXTDRV,-(_PRT_END+0x48)	# Next drive
 		.set _OPT,-(_PRT_END+0x47)	# Default option
 		.set _SETDRV,-(_PRT_END+0x46)	# Drive to force
@@ -71,9 +72,9 @@
 		movw %ax,%ds			#  data
 		movw %ax,%ss			# Set up
 		movw $LOAD,%sp			#  stack
-# 
+#
 # End signature code
-# 
+#
 #
 # Set address for variable space beyond code, and clear it.
 # Notice that this is also used to point to the values embedded in the block,
@@ -86,8 +87,18 @@
 		stosw				#  them
 		incb -0xe(%di)			# Sector number 1
 #
+# Check what flags were loaded with us; specifically, use a predefined Drive.
+# If what the bios gives us is bad, use the '0' in the block instead, as well.
+#
+		testb $FL_SETDRV,LOAD+flags-start # Set number drive?
+		jnz boot.1			# Yes
+		testb %dl,%dl			# Drive number valid?
+		js boot.2			# Possibly (0x80 set)
+boot.1:		movb LOAD+setdrv-start,%dl	# Drive number to use
+boot.2:
+#
 # Reload all of boot0 (including the extra sectors) into memory at the
-# relocation address.  
+# relocation address.
 #
 		push %dx			# Save drive number
 		movw $start,%bx			# Origin we were linked for
@@ -100,19 +111,10 @@
 #
 		jmp main+ORIGIN-LOAD		# To relocated code
 #
-# Check what flags were loaded with us; specifically, use a predefined Drive.
-# If what the bios gives us is bad, use the '0' in the block instead, as well.
-#
-main:		testb $FL_SETDRV,_FLAGS(%bp)	# Set number drive?
-		jnz main.1			# Yes
-		testb %dl,%dl			# Drive number valid?
-		js main.2			# Possibly (0x80 set)
-main.1: 	movb _SETDRV(%bp),%dl		# Drive number to use
-#
 # Whatever we decided to use, now store it into the fake
 # partition entry that lives in the data space above us.
 #
-main.2: 	movb %dl,_FAKE(%bp)		# Save drive number
+main:		movb %dl,_FAKE(%bp)		# Save drive number
 		callw putn			# To new line
 		pushw %dx			# Save drive number
 #
@@ -128,7 +130,7 @@
 # Loop around on the partition table, printing values until we
 # pass a 256 byte boundary. The end of loop test is at main.5.
 #
-main.3: 	movb %ch,-0x4(%bx)		# Zero active flag (ch == 0)
+main.3:		movb %ch,-0x4(%bx)		# Zero active flag (ch == 0)
 		btw %dx,_FLAGS(%bp)		# Entry enabled?
 		jnc main.5			# No
 #
@@ -155,16 +157,16 @@
 # pointing at its first element which points to a "?".
 #
 		addw $TBL1SZ,%di		# Adjust
-main.4: 	movb (%di),%cl			# Partition
+main.4:		movb (%di),%cl			# Partition
 		addw %cx,%di			#  description
 		callw putx			# Display it
-main.5: 	incw %dx			# Next item 
+main.5:		incw %dx			# Next item
 		addb $0x10,%bl			# Next entry
 		jnc main.3			# Till done
 #
 # Passed a 256 byte boundary..
 # table is finished.
-# Add one to the drive number and check it is valid, 
+# Add one to the drive number and check it is valid,
 #
 		popw %ax			# Drive number
 		subb $0x80-0x1,%al		# Does next
@@ -186,7 +188,7 @@
 # This also is part of the printed drive string so add 0x80 to indicate
 # end of string.
 #
-main.6: 	addb $'0'|0x80,%al		# Save next
+main.6:		addb $'0'|0x80,%al		# Save next
 		movb %al,_NXTDRV(%bp)		#  drive number
 		movw $drive,%di			# Display
 		callw putx			#  item
@@ -194,7 +196,7 @@
 # Now that we've printed the drive (if we needed to), display a prompt.
 # Get ready for the input by noting the time.
 #
-main.7: 	movw $prompt,%si		# Display
+main.7:		movw $prompt,%si		# Display
 		callw putstr			#  prompt
 		movb _OPT(%bp),%dl		# Display
 		decw %si			#  default
@@ -203,11 +205,11 @@
 		int $0x1a			#  system time
 		movw %dx,%di			# Ticks when
 		addw _TICKS(%bp),%di	 	#  timeout
-# 
+#
 # Busy loop, looking for keystrokes but
 # keeping one eye on the time.
 #
-main.8: 	movb $0x1,%ah			# BIOS: Check
+main.8:		movb $0x1,%ah			# BIOS: Check
 		int $0x16			#  for keypress
 		jnz main.11			# Have one
 		xorb %ah,%ah			# BIOS: Get
@@ -217,12 +219,12 @@
 #
 # If timed out or defaulting, come here.
 #
-main.9: 	movb _OPT(%bp),%al		# Load default
+main.9:		movb _OPT(%bp),%al		# Load default
 		jmp main.12			# Join common code
 #
 # User's last try was bad, beep in displeasure.
 # Since nothing was printed, just continue on as if the user
-# hadn't done anything. This gives the effect of the user getting a beep 
+# hadn't done anything. This gives the effect of the user getting a beep
 # for all bad keystrokes but no action until either the timeout
 # occurs or the user hits a good key.
 #
@@ -245,6 +247,9 @@
 #
 		subb $KEY_F1,%al		# Less F1 scan code
 		cmpb $0x4,%al			# F1..F5?
+		jna main.12			# Yes
+		subb $(KEY_1 - KEY_F1),%al	# Less #1 scan code
+		cmpb $0x4,%al			# #1..#5?
 		ja main.10			# No
 #
 # We have a selection.
@@ -263,7 +268,7 @@
 		movw $fake,%si			# Partition for write
 		movb (%si),%dl			# Drive number
 		movw %si,%bx			# Partition for read
-		cmpb $0x4,%al			# F5 pressed?
+		cmpb $0x4,%al			# F5/#5 pressed?
 		pushf				# Save
 		je main.13			# Yes
 		shlb $0x4,%al			# Point to
@@ -285,10 +290,10 @@
 # If going to next drive, replace drive with selected one.
 # Remember to un-ascii it. Hey 0x80 is already set, cool!
 #
-		jne main.15			# If not F5
+		jne main.15			# If not F5/#5
 		movb _NXTDRV(%bp),%dl		# Next drive
 		subb $'0',%dl			#  number
-# 
+#
 # load  selected bootsector to the LOAD location in RAM.
 # If it fails to read or isn't marked bootable, treat it
 # as a bad selection.
@@ -306,7 +311,7 @@
 # Display routines
 #
 
-putkey: 	movb $'F',%al			# Display
+putkey:		movb $'F',%al			# Display
 		callw putchr			#  'F'
 		movb $'1',%al			# Prepare
 		addb %dl,%al			#  digit
@@ -325,14 +330,14 @@
 
 putn:		movw $crlf,%si			# To next line
 
-putstr: 	lodsb				# Get byte
+putstr:		lodsb				# Get byte
 		testb $0x80,%al 		# End of string?
 		jnz putstr.2			# Yes
 putstr.1:	callw putchr			# Display char
 		jmp putstr			# Continue
 putstr.2:	andb $~0x80,%al 		# Clear MSB
 
-putchr: 	pushw %bx			# Save
+putchr:		pushw %bx			# Save
 		movw $0x7,%bx	 		# Page:attribute
 		movb $0xe,%ah			# BIOS: Display
 		int $0x10			#  character
@@ -355,7 +360,7 @@
 # to use the EDD stuff with the LBA offset instead of CHS.  However,
 # use CHS if at all possible.
 
-intx13: 	movb 0x1(%si),%dh		# Load head
+intx13:		movb 0x1(%si),%dh		# Load head
 		movw 0x2(%si),%cx		# Load cylinder:sector
 		pushw %si			# Save
 		movw %sp,%di			# Save
@@ -400,25 +405,25 @@
 		.org PRT_OFF-0xe,0x90
 #
 # These values are sometimes changed before writing back to the drive
-# Be especially careful that nxtdrv: must come after drive:, as it 
+# Be especially careful that nxtdrv: must come after drive:, as it
 # is part of the same string.
 #
 # Note that the 'drive' string variable is used as the second signature
 # check in boot0cfg(8).
 #
 version_minor:	.byte 0x1			# minor version
-version_major:	.byte 0x1			# major version	
+version_major:	.byte 0x1			# major version
 drive:		.ascii "Drive "
-nxtdrv: 	.byte 0x0			# Next drive number
+nxtdrv:		.byte 0x0			# Next drive number
 opt:		.byte 0x0			# Option
-setdrv: 	.byte 0x80			# Drive to force
+setdrv:		.byte 0x80			# Drive to force
 flags:		.byte FLAGS			# Flags
 ticks:		.word TICKS			# Delay
 
 #
 # here is the 64 byte partition table that fdisk would fiddle with.
 #
-partbl: 	.fill 0x40,0x1,0x0		# Partition table
+partbl:		.fill 0x40,0x1,0x0		# Partition table
 		.word MAGIC			# Magic number
 
 #
@@ -428,7 +433,7 @@
 # Menu strings
 
 item:		.ascii "  ";	     .byte ' '|0x80
-prompt: 	.ascii "\nDefault:"; .byte ' '|0x80
+prompt:		.ascii "\nDefault:"; .byte ' '|0x80
 crlf:		.ascii "\r";	     .byte '\n'|0x80
 
 # Partition type tables
@@ -442,7 +447,7 @@
 #
 # These values indicate bootable types we know the names of
 #
-table1:		.byte 0x1, 0x4, 0x6, 0x7, 0xb, 0xc, 0xe, 0x63, 0x83
+table1:		.byte 0x1, 0x4, 0x6, 0x7, 0xb, 0xc, 0xe, 0x42, 0x63, 0x83
 		.byte 0x9f, 0xa5, 0xa6, 0xa9
 table1_end:
 #
@@ -453,10 +458,11 @@
 		.byte os_dos-.			# DOS
 		.byte os_dos-.			# DOS
 		.byte os_dos-.			# DOS
-		.byte os_nt-.			# NT or OS/2
+		.byte os_nt-.			# NT/XP or OS/2
+		.byte os_windows-.		# Windows 32-bit FAT
+		.byte os_windows-.		# Windows 32-bit FAT ext int 13
 		.byte os_windows-.		# Windows
-		.byte os_windows-.		# Windows
-		.byte os_windows-.		# Windows
+		.byte os_windows-.		# Windows 2000 dyn ext
 		.byte os_unix-. 		# UNIX
 		.byte os_linux-.		# Linux
 		.byte os_bsdos-.		# BSD/OS
@@ -464,13 +470,13 @@
 		.byte os_openbsd-.		# OpenBSD
 		.byte os_netbsd-.		# NetBSD
 #
-# And here are the strings themselves. 0x80 or'd into a byte indicates 
+# And here are the strings themselves. 0x80 or'd into a byte indicates
 # the end of the string. (not so great for Russians but...)
 #
 os_misc:	.ascii "Unknow";	.byte 'n'|0x80
-os_dos: 	.ascii "DO";		.byte 'S'|0x80
-os_nt:		.ascii "Windows N";	.byte 'T'|0x80
-os_windows: 	.ascii "Window";	.byte 's'|0x80
+os_dos:		.ascii "DO";		.byte 'S'|0x80
+os_nt:		.ascii "Windows NT/X";	.byte 'P'|0x80
+os_windows:	.ascii "Window";	.byte 's'|0x80
 os_unix:	.ascii "UNI";		.byte 'X'|0x80
 os_linux:	.ascii "Linu";		.byte 'x'|0x80
 os_freebsd:	.ascii "FreeBS";	.byte 'D'|0x80

==== //depot/projects/netperf_socket/sys/boot/i386/boot0/boot0sio.s#2 (text+ko) ====

@@ -14,7 +14,7 @@
 # purpose.
 #
 
-# $FreeBSD: src/sys/boot/i386/boot0/boot0sio.s,v 1.3 2004/01/06 18:46:35 obrien Exp $
+# $FreeBSD: src/sys/boot/i386/boot0/boot0sio.s,v 1.4 2004/04/20 03:15:59 obrien Exp $
 
 # A 512-byte boot manager which uses a serial console on COM1.
 
@@ -107,12 +107,12 @@
 		jnz main.1			# Yes
 		testb %dl,%dl			# Drive number valid?
 		js main.2			# Possibly (0x80 set)
-main.1: 	movb _SETDRV(%bp),%dl		# Drive number to use
+main.1:		movb _SETDRV(%bp),%dl		# Drive number to use
 #
 # Whatever we decided to use, now store it into the fake
 # partition entry that lives in the data space above us.
 #
-main.2: 	movb %dl,_FAKE(%bp)		# Save drive number
+main.2:		movb %dl,_FAKE(%bp)		# Save drive number
 		callw putn			# To new line
 		pushw %dx			# Save drive number
 #
@@ -128,7 +128,7 @@
 # Loop around on the partition table, printing values until we
 # pass a 256 byte boundary. The end of loop test is at main.5.
 #
-main.3: 	movb %ch,-0x4(%bx)		# Zero active flag (ch == 0)
+main.3:		movb %ch,-0x4(%bx)		# Zero active flag (ch == 0)
 		btw %dx,_FLAGS(%bp)		# Entry enabled?
 		jnc main.5			# No
 #
@@ -155,10 +155,10 @@
 # pointing at its first element which points to a "?".
 #
 		addw $TBL1SZ,%di		# Adjust
-main.4: 	movb (%di),%cl			# Partition
+main.4:		movb (%di),%cl			# Partition
 		addw %cx,%di			#  description
 		callw putx			# Display it
-main.5: 	incw %dx			# Next item
+main.5:		incw %dx			# Next item
 		addb $0x10,%bl			# Next entry
 		jnc main.3			# Till done
 #
@@ -186,7 +186,7 @@
 # This also is part of the printed drive string so add 0x80 to indicate
 # end of string.
 #
-main.6: 	addb $'0'|0x80,%al		# Save next
+main.6:		addb $'0'|0x80,%al		# Save next
 		movb %al,_NXTDRV(%bp)		#  drive number
 		movw $drive,%di			# Display
 		callw putx			#  item
@@ -194,7 +194,7 @@
 # Now that we've printed the drive (if we needed to), display a prompt.
 # Get ready for the input byte noting the time.
 #
-main.7: 	movw $prompt,%si		# Display
+main.7:		movw $prompt,%si		# Display
 		callw putstr			#  prompt
 		movb _OPT(%bp),%dl		# Display
 		decw %si			#  default
@@ -224,7 +224,7 @@
 #
 # If timed out or defaulting, come here.
 #
-main.9: 	movb _OPT(%bp),%al		# Load default
+main.9:		movb _OPT(%bp),%al		# Load default
 		jmp main.12			# Join common code
 #
 # User's last try was bad, beep in displeasure.
@@ -239,7 +239,7 @@
 #
 # Check the character we just got on the serial port.
 #
-main.11: 	movb $0x02,%ah			# BIOS: Receive
+main.11:	movb $0x02,%ah			# BIOS: Receive
 		int $0x14			#  COM Byte
 #
 # If it's CR act as if timed out.
@@ -316,7 +316,7 @@
 # Display routines
 #
 
-putkey: 	movb $ASCII_1,%al		# Prepare
+putkey:		movb $ASCII_1,%al		# Prepare
 		addb %dl,%al			#  digit
 		jmp putstr.1			# Display the rest
 
@@ -333,7 +333,7 @@
 
 putn:		movw $crlf,%si			# To next line
 
-putstr: 	lodsb				# Get byte
+putstr:		lodsb				# Get byte
 		testb $0x80,%al 		# End of string?
 		jnz putstr.2			# Yes
 putstr.1:	callw putchr			# Display char
@@ -350,7 +350,7 @@
 
 # One-sector disk I/O routine
 
-intx13: 	movb 0x1(%si),%dh		# Load head
+intx13:		movb 0x1(%si),%dh		# Load head
 		movw 0x2(%si),%cx		# Load cylinder:sector
 		movb $0x1,%al			# Sector count
 		pushw %si			# Save
@@ -374,7 +374,7 @@
 # Menu strings
 
 item:		.ascii " ";	     .byte ' '|0x80
-prompt: 	.ascii "\nDef:";     .byte ' '|0x80
+prompt:		.ascii "\nDef:";     .byte ' '|0x80
 crlf:		.ascii "\r";	     .byte '\n'|0x80
 
 # Partition type tables
@@ -410,10 +410,10 @@
 # the end of the string. (not so great for Russians but...)
 #
 os_misc:	.ascii "?";    .byte '?'|0x80
-os_dos: 	.ascii "DO";   .byte 'S'|0x80
+os_dos:		.ascii "DO";   .byte 'S'|0x80
 os_linux:	.ascii "Linu"; .byte 'x'|0x80
 os_freebsd:	.ascii "Free"
-os_bsd: 	.ascii "BS";   .byte 'D'|0x80
+os_bsd:		.ascii "BS";   .byte 'D'|0x80
 
 		.org PRT_OFF-0xe,0x90
 
@@ -425,14 +425,14 @@
 # is part of the same string.
 #
 drive:		.ascii "Drive "
-nxtdrv: 	.byte 0x0			# Next drive number
+nxtdrv:		.byte 0x0			# Next drive number
 opt:		.byte 0x0			# Option
-setdrv: 	.byte 0x80			# Drive to force
+setdrv:		.byte 0x80			# Drive to force
 flags:		.byte FLAGS			# Flags
 ticks:		.word TICKS			# Delay
 
 #
 # here is the 64 byte partition table that fdisk would fiddle with.
 #
-partbl: 	.fill 0x40,0x1,0x0		# Partition table
+partbl:		.fill 0x40,0x1,0x0		# Partition table
 		.word MAGIC			# Magic number

==== //depot/projects/netperf_socket/sys/cam/scsi/scsi_da.c#3 (text+ko) ====

@@ -27,10 +27,9 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.164 2004/02/22 01:14:54 cperciva Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.167 2004/04/19 13:38:10 mux Exp $");
 
 #ifdef _KERNEL
-#include "opt_da.h"
 #include "opt_hw_wdog.h"
 #endif /* _KERNEL */
 
@@ -238,151 +237,55 @@
 		{T_DIRECT, SIP_MEDIA_FIXED, "COMPAQ", "RAID*", "*"},
 		/*quirks*/ DA_Q_NO_SYNC_CACHE
 	},
-#ifdef DA_OLD_QUIRKS
-	/* USB floppy devices supported by umass(4) */
-	{
-		/*
-		 * This USB floppy drive uses the UFI command set. This
-		 * command set is a derivative of the ATAPI command set and
-		 * does not support READ_6 commands only READ_10. It also does
-		 * not support sync cache (0x35).
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Y-E DATA", "USB-FDU", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/* Another USB floppy */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "MATSHITA", "FDD CF-VFDU*","*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * The vendor, product and version strings coming from the
-		 * controller are null terminated instead of being padded with
-		 * spaces. The trailing wildcard character '*' is required.
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "SMSC*", "USB FDC*","*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * SmartDisk (Mitsumi) USB floppy drive
-		 * PR: kern/50226
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "MITSUMI", "USB FDD", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
 	/* USB mass storage devices supported by umass(4) */
 	{
 		/*
-		 * Sony Memory Stick adapter MSAC-US1 and
-		 * Sony PCG-C1VJ Internal Memory Stick Slot (MSC-U01).
-		 * Make all sony MS* products use this quirk.
+		 * EXATELECOM (Sigmatel) i-Bead 100/105 USB Flash MP3 Player
+		 * PR: kern/51675
 		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "MS*", "*"},
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "EXATEL", "i-BEAD10*", "*"},
 		/*quirks*/ DA_Q_NO_SYNC_CACHE
 	},
 	{
 		/*
-		 * Sony Memory Stick adapter for the CLIE series
-		 * of PalmOS PDA's
+		 * Power Quotient Int. (PQI) USB flash key
+		 * PR: kern/53067
 		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "CLIE*", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * Intelligent Stick USB disk-on-key
-		 * PR: kern/53005
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "USB Card",
-		 "IntelligentStick*", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * Sony DSC cameras (DSC-S30, DSC-S50, DSC-S70)
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Sony DSC", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * Microtech USB CameraMate
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "eUSB    Compact*",
-		 "Compact Flash*", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * Olympus digital cameras (C-3040ZOOM, C-2040ZOOM, C-1)
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "C-*", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * Olympus digital cameras (E-100RS, E-10).
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "E-*", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * KingByte Pen Drives
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "NO BRAND", "PEN DRIVE", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Generic*", "USB Flash Disk*",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
+	}, 
+ 	{
+ 		/*
+ 		 * Creative Nomad MUVO mp3 player (USB)
+ 		 * PR: kern/53094
+ 		 */
+ 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "CREATIVE", "NOMAD_MUVO", "*"},
+ 		/*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
  	},
 	{
 		/*
-		 * Minolta Dimage E203
+		 * Jungsoft NEXDISK USB flash key
+		 * PR: kern/54737
 		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "MINOLTA", "DiMAGE E203", "*"},
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "JUNGSOFT", "NEXDISK*", "*"},
 		/*quirks*/ DA_Q_NO_SYNC_CACHE
 	},
 	{
 		/*
-		 * Daisy Technology PhotoClip on Zoran chip
-		 * PR: kern/43580
+		 * FreeDik USB Mini Data Drive
+		 * PR: kern/54786
 		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "ZORAN", "COACH", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "FreeDik*", "Mini Data Drive",
+		"*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE
 	},
 	{
 		/*
-		 * Sony USB Key-Storage
-		 * PR: kern/46386
+		 * Sigmatel USB Flash MP3 Player
+		 * PR: kern/57046
 		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Storage Media", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "SigmaTel", "MSCN", "*"},
+		/*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
 	},
-#endif /* DA_OLD_QUIRKS */
-	{
-		/*
-		 * EXATELECOM (Sigmatel) i-Bead 100/105 USB Flash MP3 Player
-		 * PR: kern/51675
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "EXATEL", "i-BEAD10*", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
-	{
-		/*
-		 * Jungsoft NEXDISK USB flash key
-		 * PR: kern/54737
-		 */
-		{T_DIRECT, SIP_MEDIA_REMOVABLE, "JUNGSOFT", "NEXDISK*", "*"},
-		/*quirks*/ DA_Q_NO_SYNC_CACHE
-	},
- 	{
- 		/*
- 		 * Creative Nomad MUVO mp3 player (USB)
- 		 * PR: kern/53094
- 		 */
- 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "CREATIVE", "NOMAD_MUVO", "*"},
- 		/*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
- 	},
 };
 
 static	disk_strategy_t	dastrategy;

==== //depot/projects/netperf_socket/sys/compat/ndis/ntoskrnl_var.h#8 (text+ko) ====

@@ -29,7 +29,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/compat/ndis/ntoskrnl_var.h,v 1.14 2004/04/16 00:04:28 wpaul Exp $
+ * $FreeBSD: src/sys/compat/ndis/ntoskrnl_var.h,v 1.15 2004/04/20 02:27:38 wpaul Exp $
  */
 
 #ifndef _NTOSKRNL_VAR_H_
@@ -204,7 +204,7 @@
 	((td)->td_proc->p_flag & P_KTHREAD == FALSE)
 
 #define AT_DISPATCH_LEVEL(td)		\
-	((td)->td_priority == PI_REALTIME)
+	((td)->td_base_pri == PI_REALTIME)
 
 #define AT_DIRQL_LEVEL(td)		\
 	((td)->td_priority <= PI_NET)

==== //depot/projects/netperf_socket/sys/compat/ndis/subr_hal.c#4 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_hal.c,v 1.11 2004/04/16 00:04:28 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_hal.c,v 1.12 2004/04/19 22:39:04 wpaul Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -313,9 +313,13 @@
 	if (irql < hal_irql())
 		panic("IRQL_NOT_LESS_THAN");
 
+	if (hal_irql() == DISPATCH_LEVEL)
+		return(DISPATCH_LEVEL);
+
 	mtx_lock_spin(&sched_lock);
-	oldirql = curthread->td_priority;
+	oldirql = curthread->td_base_pri;
 	sched_prio(curthread, PI_REALTIME);
+	curthread->td_base_pri = PI_REALTIME;
 	mtx_unlock_spin(&sched_lock);
 
 	return(oldirql);
@@ -328,10 +332,14 @@
 
 	__asm__ __volatile__ ("" : "=c" (oldirql));
 
+	if (oldirql == DISPATCH_LEVEL)
+		return;
+
 	if (hal_irql() != DISPATCH_LEVEL)
 		panic("IRQL_NOT_GREATER_THAN");
 
 	mtx_lock_spin(&sched_lock);
+	curthread->td_base_pri = oldirql;
 	sched_prio(curthread, oldirql);
 	mtx_unlock_spin(&sched_lock);
 

==== //depot/projects/netperf_socket/sys/conf/NOTES#14 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1214 2004/04/12 02:36:51 imp Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1217 2004/04/20 13:07:53 bms Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -618,6 +618,14 @@
 #
 options 	TCP_DROP_SYNFIN		#drop TCP packets with SYN+FIN
 
+# TCP_SIGNATURE adds support for RFC 2385 (TCP-MD5) digests. These are
+# carried in TCP option 19. This option is commonly used to protect
+# TCP sessions (e.g. BGP) where IPSEC is not available nor desirable.
+# This is enabled on a per-socket basis using the TCP_MD5SIG socket option.
+# This requires the use of 'device crypto', 'options FAST_IPSEC', and
+# 'device cryptodev' as it depends on the non-KAME IPSEC SADB code.
+#options 	TCP_SIGNATURE		#include support for RFC 2385
+
 # DUMMYNET enables the "dummynet" bandwidth limiter. You need
 # IPFIREWALL as well. See the dummynet(4) and ipfw(8) manpages for more info.
 # When you run DUMMYNET it is advisable to also have "options HZ=1000"
@@ -968,12 +976,6 @@
 options 	SCSI_NO_OP_STRINGS
 options 	SCSI_DELAY=8000	# Be pessimistic about Joe SCSI device
 
-# Options for the CAM SCSI disk driver:
-# DA_OLD_QUIRKS: Restore old USB and firewire quirks that have been
-#		 deprecated.  Please also email scsi@freebsd.org if you
-#		 have a device that needs this option.
-options 	DA_OLD_QUIRKS
-
 # Options for the CAM CDROM driver:
 # CHANGER_MIN_BUSY_SECONDS: Guaranteed minimum time quantum for a changer LUN
 # CHANGER_MAX_BUSY_SECONDS: Maximum time quantum per changer LUN, only

==== //depot/projects/netperf_socket/sys/conf/files#18 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.886 2004/04/14 18:13:16 njl Exp $
+# $FreeBSD: src/sys/conf/files,v 1.888 2004/04/20 15:42:16 njl Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -450,7 +450,6 @@
 dev/hfa/fore_if.c	optional hfa
 dev/hfa/fore_init.c	optional hfa
 dev/hfa/fore_intr.c	optional hfa
-#dev/hfa/fore_load.c	optional hfa nowerror
 dev/hfa/fore_output.c	optional hfa
 dev/hfa/fore_receive.c	optional hfa
 dev/hfa/fore_stats.c	optional hfa

==== //depot/projects/netperf_socket/sys/conf/options#10 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.440 2004/04/11 20:01:18 imp Exp $
+# $FreeBSD: src/sys/conf/options,v 1.441 2004/04/19 03:33:55 njl Exp $
 #

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



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