Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Jul 2006 16:48:28 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 102862 for review
Message-ID:  <200607311648.k6VGmSHu048050@repoman.freebsd.org>

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

Change 102862 by jhb@jhb_mutex on 2006/07/31 16:48:01

	IFC @102858.

Affected files ...

.. //depot/projects/smpng/sys/amd64/amd64/trap.c#52 integrate
.. //depot/projects/smpng/sys/amd64/conf/NOTES#34 integrate
.. //depot/projects/smpng/sys/amd64/ia32/ia32_syscall.c#22 integrate
.. //depot/projects/smpng/sys/arm/arm/trap.c#25 integrate
.. //depot/projects/smpng/sys/conf/NOTES#126 integrate
.. //depot/projects/smpng/sys/conf/files#184 integrate
.. //depot/projects/smpng/sys/conf/files.amd64#45 integrate
.. //depot/projects/smpng/sys/conf/files.i386#100 integrate
.. //depot/projects/smpng/sys/conf/files.pc98#83 integrate
.. //depot/projects/smpng/sys/conf/options#124 integrate
.. //depot/projects/smpng/sys/conf/options.amd64#20 integrate
.. //depot/projects/smpng/sys/conf/options.i386#58 integrate
.. //depot/projects/smpng/sys/conf/options.pc98#57 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi.c#94 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpivar.h#63 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#42 integrate
.. //depot/projects/smpng/sys/i386/conf/NOTES#123 integrate
.. //depot/projects/smpng/sys/i386/i386/trap.c#101 integrate
.. //depot/projects/smpng/sys/ia64/conf/NOTES#9 integrate
.. //depot/projects/smpng/sys/ia64/ia32/ia32_trap.c#18 integrate
.. //depot/projects/smpng/sys/ia64/ia64/trap.c#89 integrate
.. //depot/projects/smpng/sys/kern/kern_ktrace.c#53 integrate
.. //depot/projects/smpng/sys/pc98/conf/NOTES#57 integrate
.. //depot/projects/smpng/sys/pci/if_rlreg.h#32 integrate
.. //depot/projects/smpng/sys/powerpc/conf/NOTES#4 integrate
.. //depot/projects/smpng/sys/powerpc/powerpc/trap.c#58 integrate
.. //depot/projects/smpng/sys/sparc64/conf/NOTES#22 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/trap.c#74 integrate
.. //depot/projects/smpng/sys/sys/param.h#102 integrate
.. //depot/projects/smpng/sys/sys/sysent.h#17 integrate
.. //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#26 integrate

Differences ...

==== //depot/projects/smpng/sys/amd64/amd64/trap.c#52 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.306 2006/07/28 19:05:26 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.307 2006/07/28 20:22:57 jhb Exp $");
 
 /*
  * AMD64 Trap and System call handling

==== //depot/projects/smpng/sys/amd64/conf/NOTES#34 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.57 2006/06/26 23:41:06 obrien Exp $
+# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.58 2006/07/29 18:38:53 marcel Exp $
 #
 
 #
@@ -101,6 +101,44 @@
 #####################################################################
 # MISCELLANEOUS DEVICES AND OPTIONS
 
+# 
+# sio: serial ports (see sio(4)), including support for various
+#      PC Card devices, such as Modem and NICs (see etc/defaults/pccard.conf)
+#
+device		sio
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.flags="0x10"
+hint.sio.0.irq="4"
+
+# `flags' specific to sio(4).
+#	0x10	enable console support for this unit.  Other console flags
+#		(if applicable) are ignored unless this is set.  Enabling
+#		console support does not make the unit the preferred console.
+#		Boot with -h or set boot_serial=YES in the loader.  For sio(4)
+#		specifically, the 0x20 flag can also be set (see above).
+#		Currently, at most one unit can have console support; the
+#		first one (in config file order) with this flag set is
+#		preferred.  Setting this flag for sio0 gives the old behaviour.
+#	0x20	force this unit to be the console (unless there is another
+#		higher priority console).  This replaces the COMCONSOLE option.
+#	0x40	reserve this unit for low level console operations.  Do not
+#		access the device in any normal way.
+#	0x80	use this port for serial line gdb support in ddb.  Also known
+#		as debug port.
+# PnP `flags'
+#	0x1	disable probing of this device.  Used to prevent your modem
+#		from being attached as a PnP modem.
+# Other flags for sio that aren't documented in the man page.
+#	0x20000	enable hardware RTS/CTS and larger FIFOs.  Only works for
+#		ST16650A-compatible UARTs.
+
+# Options for sio:
+options 	COM_ESP			# Code for Hayes ESP.
+options 	COM_MULTIPORT		# Code for some cards with shared IRQs.
+options 	CONSPEED=115200		# Speed for serial console
+					# (default 9600).
+
 device		speaker		#Play IBM BASIC-style noises out your speaker
 hint.speaker.0.at="isa"
 hint.speaker.0.port="0x61"

==== //depot/projects/smpng/sys/amd64/ia32/ia32_syscall.c#22 (text+ko) ====

@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.15 2006/07/28 19:05:26 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.16 2006/07/28 20:22:57 jhb Exp $");
 
 /*
  * 386 Trap and System call handling

==== //depot/projects/smpng/sys/arm/arm/trap.c#25 (text+ko) ====

@@ -82,7 +82,7 @@
 #include "opt_ktrace.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.26 2006/07/28 19:05:26 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.27 2006/07/28 20:22:57 jhb Exp $");
 
 #include <sys/types.h>
 

==== //depot/projects/smpng/sys/conf/NOTES#126 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1375 2006/07/25 00:45:54 yongari Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1377 2006/07/29 18:38:53 marcel Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -1611,35 +1611,6 @@
 hint.fd.1.drive="1"
 
 #
-# sio: serial ports (see sio(4)), including support for various
-#      PC Card devices, such as Modem and NICs (see etc/defaults/pccard.conf)
-#
-device		sio
-hint.sio.0.at="isa"
-hint.sio.0.port="0x3F8"
-hint.sio.0.flags="0x10"
-hint.sio.0.irq="4"
-
-# Options for sio:
-options 	COM_ESP			# Code for Hayes ESP.
-options 	COM_MULTIPORT		# Code for some cards with shared IRQs.
-options 	CONSPEED=115200		# Speed for serial console
-					# (default 9600).
-
-# `flags' specific to sio(4).  See below for flags used by both sio(4) and
-# uart(4).
-#	0x20	force this unit to be the console (unless there is another
-#		higher priority console).  This replaces the COMCONSOLE option.
-#	0x40	reserve this unit for low level console operations.  Do not
-#		access the device in any normal way.
-# PnP `flags'
-#	0x1	disable probing of this device.  Used to prevent your modem
-#		from being attached as a PnP modem.
-# Other flags for sio that aren't documented in the man page.
-#	0x20000	enable hardware RTS/CTS and larger FIFOs.  Only works for
-#		ST16650A-compatible UARTs.
-
-#
 # uart: newbusified driver for serial interfaces.  It consolidates the sio(4),
 #	sab(4) and zs(4) drivers.
 #
@@ -1952,6 +1923,7 @@
 #		    since this is unsupported at the moment...).
 #
 # snd_ad1816:		Analog Devices AD1816 ISA PnP/non-PnP.
+# snd_ak452x:		Asahi Kasei AK452x codec, needed by snd_envy24.
 # snd_als4000:		Avance Logic ALS4000 PCI.
 # snd_atiixp:		ATI IXP 200/300/400 PCI.
 # snd_au88x0		Aureal Vortex 1/2/Advantage PCI. This driver
@@ -1965,6 +1937,7 @@
 # snd_ds1:		Yamaha DS-1 PCI.
 # snd_emu10k1:		Creative EMU10K1 PCI and EMU10K2 (Audigy) PCI.
 # snd_emu10kx:		Creative SoundBlaster Live! and Audigy
+# snd_envy24:		VIA Envy24 and compatible, needs snd_ak452x.
 # snd_es137x:		Ensoniq AudioPCI ES137x PCI.
 # snd_ess:		Ensoniq ESS ISA PnP/non-PnP, to be used in
 #			conjunction with snd_sbc.
@@ -1992,6 +1965,7 @@
 # snd_uaudio:		USB audio.
 
 device		snd_ad1816
+device		snd_ak452x
 device		snd_als4000
 device		snd_atiixp
 #device		snd_au88x0
@@ -2003,6 +1977,7 @@
 device		snd_emu10k1
 device		snd_emu10kx
 options		SND_EMU10KX_MULTICHANNEL
+device		snd_envy24
 device		snd_es137x
 device		snd_ess
 device		snd_fm801

==== //depot/projects/smpng/sys/conf/files#184 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1134 2006/07/27 22:32:29 jhb Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1136 2006/07/29 18:38:53 marcel Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -858,9 +858,6 @@
 dev/si/si_eisa.c		optional si eisa
 dev/si/si_isa.c			optional si isa
 dev/si/si_pci.c			optional si pci
-dev/sio/sio_pccard.c		optional sio pccard
-dev/sio/sio_pci.c		optional sio pci
-dev/sio/sio_puc.c		optional sio puc
 dev/sk/if_sk.c			optional sk pci
 dev/smbus/smb.c			optional smb
 dev/smbus/smbconf.c		optional smbus
@@ -878,6 +875,7 @@
 dev/sound/isa/sb8.c		optional snd_sb8 isa
 dev/sound/isa/sbc.c		optional snd_sbc isa
 dev/sound/isa/sndbuf_dma.c	optional sound isa
+dev/sound/pci/ak452x.c		optional snd_ak452x pci
 dev/sound/pci/als4000.c		optional snd_als4000 pci
 dev/sound/pci/atiixp.c		optional snd_atiixp pci
 #dev/sound/pci/au88x0.c		optional snd_au88x0 pci
@@ -903,6 +901,7 @@
 dev/sound/pci/emu10kx-midi.c	optional snd_emu10kx pci \
 	dependency "emu10k1-alsa%diked.h" \
 	warning "kernel contains GPL contaminated emu10kx headers"
+dev/sound/pci/envy24.c		optional snd_envy24 pci
 dev/sound/pci/es137x.c		optional snd_es137x pci
 dev/sound/pci/fm801.c		optional snd_fm801 pci
 dev/sound/pci/ich.c		optional snd_ich pci

==== //depot/projects/smpng/sys/conf/files.amd64#45 (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.90 2006/06/26 23:41:06 obrien Exp $
+# $FreeBSD: src/sys/conf/files.amd64,v 1.91 2006/07/29 18:38:53 marcel Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -184,6 +184,9 @@
 dev/rr232x/rr232x_config.c	optional	rr232x
 dev/sio/sio.c			optional	sio
 dev/sio/sio_isa.c		optional	sio isa
+dev/sio/sio_pccard.c		optional	sio pccard
+dev/sio/sio_pci.c		optional	sio pci
+dev/sio/sio_puc.c		optional	sio puc
 dev/speaker/spkr.c		optional	speaker
 dev/syscons/apm/apm_saver.c	optional	apm_saver apm
 dev/syscons/schistory.c		optional	sc

==== //depot/projects/smpng/sys/conf/files.i386#100 (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.563 2006/07/22 16:18:47 pjd Exp $
+# $FreeBSD: src/sys/conf/files.i386,v 1.564 2006/07/29 18:38:53 marcel Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -212,6 +212,9 @@
 dev/sbni/if_sbni_pci.c		optional sbni pci
 dev/sio/sio.c			optional sio
 dev/sio/sio_isa.c		optional sio isa
+dev/sio/sio_pccard.c		optional sio pccard
+dev/sio/sio_pci.c		optional sio pci
+dev/sio/sio_puc.c		optional sio puc
 dev/speaker/spkr.c		optional speaker
 dev/sr/if_sr_isa.c		optional sr isa
 dev/syscons/apm/apm_saver.c	optional apm_saver apm

==== //depot/projects/smpng/sys/conf/files.pc98#83 (text+ko) ====

@@ -3,7 +3,7 @@
 #
 # modified for PC-9801/PC-9821
 #
-# $FreeBSD: src/sys/conf/files.pc98,v 1.343 2006/05/17 21:25:22 marius Exp $
+# $FreeBSD: src/sys/conf/files.pc98,v 1.344 2006/07/29 18:38:53 marcel Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -124,6 +124,9 @@
 dev/mse/mse_cbus.c		optional mse isa
 dev/sbni/if_sbni.c		optional sbni
 dev/sbni/if_sbni_pci.c		optional sbni pci
+dev/sio/sio_pccard.c		optional sio pccard
+dev/sio/sio_pci.c		optional sio pci
+dev/sio/sio_puc.c		optional sio puc
 dev/snc/dp83932.c		optional snc
 dev/snc/dp83932subr.c		optional snc
 dev/snc/if_snc.c		optional snc

==== //depot/projects/smpng/sys/conf/options#124 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.554 2006/07/18 17:00:51 imp Exp $
+# $FreeBSD: src/sys/conf/options,v 1.555 2006/07/29 18:38:53 marcel Exp $
 #
 #        On the handling of kernel options
 #
@@ -50,7 +50,6 @@
 DDB
 DDB_NUMSYM	opt_ddb.h
 GDB
-GDBSPEED	opt_gdb.h
 KDB		opt_global.h
 KDB_TRACE	opt_kdb.h
 KDB_UNATTENDED	opt_kdb.h
@@ -69,7 +68,6 @@
 COMPAT_FREEBSD4	opt_compat.h
 COMPAT_FREEBSD5	opt_compat.h
 COMPILING_LINT	opt_global.h
-CONSPEED	opt_comconsole.h
 CY_PCI_FASTINTR
 DIRECTIO
 FULL_PREEMPTION	opt_sched.h
@@ -574,9 +572,6 @@
 BKTR_USE_FREEBSD_SMBUS		opt_bktr.h
 BKTR_NEW_MSP34XX_DRIVER		opt_bktr.h
 
-# options for serial support
-COM_ESP			opt_sio.h
-COM_MULTIPORT		opt_sio.h
 BREAK_TO_DEBUGGER	opt_comconsole.h
 ALT_BREAK_TO_DEBUGGER	opt_comconsole.h
 

==== //depot/projects/smpng/sys/conf/options.amd64#20 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.amd64,v 1.27 2006/05/10 03:25:45 ambrisko Exp $
+# $FreeBSD: src/sys/conf/options.amd64,v 1.28 2006/07/29 18:38:53 marcel Exp $
 # Options specific to AMD64 platform kernels
 
 AUTO_EOI_1		opt_auto_eoi.h
@@ -25,6 +25,12 @@
 CLK_USE_I8254_CALIBRATION	opt_clock.h
 TIMER_FREQ			opt_clock.h
 
+# options for serial support
+COM_ESP			opt_sio.h
+COM_MULTIPORT		opt_sio.h
+CONSPEED		opt_sio.h
+GDBSPEED		opt_sio.h
+
 VGA_ALT_SEQACCESS	opt_vga.h
 VGA_DEBUG		opt_vga.h
 VGA_NO_FONT_LOADING	opt_vga.h

==== //depot/projects/smpng/sys/conf/options.i386#58 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.i386,v 1.236 2006/05/17 09:33:07 phk Exp $
+# $FreeBSD: src/sys/conf/options.i386,v 1.237 2006/07/29 18:38:53 marcel Exp $
 # Options specific to the i386 platform kernels
 
 AUTO_EOI_1		opt_auto_eoi.h
@@ -75,6 +75,12 @@
 I586_CPU		opt_global.h
 I686_CPU		opt_global.h
 
+# options for serial support
+COM_ESP			opt_sio.h
+COM_MULTIPORT		opt_sio.h
+CONSPEED		opt_sio.h
+GDBSPEED		opt_sio.h
+
 VGA_ALT_SEQACCESS	opt_vga.h
 VGA_DEBUG		opt_vga.h
 VGA_NO_FONT_LOADING	opt_vga.h

==== //depot/projects/smpng/sys/conf/options.pc98#57 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.pc98,v 1.199 2006/05/10 03:25:45 ambrisko Exp $
+# $FreeBSD: src/sys/conf/options.pc98,v 1.200 2006/07/29 18:38:53 marcel Exp $
 # Options specific to the pc98 platform kernels
 
 AUTO_EOI_1		opt_auto_eoi.h
@@ -35,6 +35,12 @@
 CLK_USE_I8254_CALIBRATION	opt_clock.h
 TIMER_FREQ			opt_clock.h
 
+# options for serial support
+COM_ESP			opt_sio.h
+COM_MULTIPORT		opt_sio.h
+CONSPEED		opt_sio.h
+GDBSPEED		opt_sio.h
+
 CPU_BLUELIGHTNING_3X		opt_cpu.h
 CPU_BLUELIGHTNING_FPU_OP_CACHE	opt_cpu.h
 CPU_BTB_EN			opt_cpu.h

==== //depot/projects/smpng/sys/dev/acpica/acpi.c#94 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.226 2006/06/11 20:31:41 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.227 2006/07/29 21:46:16 njl Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -525,6 +525,9 @@
     SYSCTL_ADD_INT(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
 	OID_AUTO, "disable_on_reboot", CTLFLAG_RW,
 	&sc->acpi_do_disable, 0, "Disable ACPI when rebooting/halting system");
+    SYSCTL_ADD_INT(&sc->acpi_sysctl_ctx, SYSCTL_CHILDREN(sc->acpi_sysctl_tree),
+	OID_AUTO, "handle_reboot", CTLFLAG_RW,
+	&sc->acpi_handle_reboot, 0, "Use ACPI Reset Register to reboot");
 
     /*
      * Default to 1 second before sleeping to give some machines time to
@@ -1658,7 +1661,8 @@
 	    DELAY(1000000);
 	    printf("ACPI power-off failed - timeout\n");
 	}
-    } else if ((howto & RB_HALT) == 0 && AcpiGbl_FADT->ResetRegSup) {
+    } else if ((howto & RB_HALT) == 0 && AcpiGbl_FADT->ResetRegSup &&
+	sc->acpi_handle_reboot) {
 	/* Reboot using the reset register. */
 	status = AcpiHwLowLevelWrite(
 	    AcpiGbl_FADT->ResetRegister.RegisterBitWidth,

==== //depot/projects/smpng/sys/dev/acpica/acpivar.h#63 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.101 2006/06/12 17:13:57 njl Exp $
+ * $FreeBSD: src/sys/dev/acpica/acpivar.h,v 1.102 2006/07/29 21:46:15 njl Exp $
  */
 
 #ifndef _ACPIVAR_H_
@@ -47,7 +47,7 @@
 
 struct acpi_softc {
     device_t		acpi_dev;
-    struct cdev *acpi_dev_t;
+    struct cdev		*acpi_dev_t;
 
     struct resource	*acpi_irq;
     int			acpi_irq_rid;
@@ -70,6 +70,7 @@
     int			acpi_s4bios;
     int			acpi_do_disable;
     int			acpi_verbose;
+    int			acpi_handle_reboot;
 
     bus_dma_tag_t	acpi_waketag;
     bus_dmamap_t	acpi_wakemap;

==== //depot/projects/smpng/sys/dev/re/if_re.c#42 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.69 2006/06/28 16:04:54 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.70 2006/07/30 23:25:21 wpaul Exp $");
 
 /*
  * RealTek 8139C+/8169/8169S/8110S/8168/8111/8101E PCI NIC driver
@@ -172,17 +172,17 @@
 		"RealTek 8139C+ 10/100BaseTX" },
 	{ RT_VENDORID, RT_DEVICEID_8101E, RL_HWREV_8101E,
 		"RealTek 8101E PCIe 10/100baseTX" },
-	{ RT_VENDORID, RT_DEVICEID_8168, RL_HWREV_8168,
-		"RealTek 8168B PCIe Gigabit Ethernet" },
-	{ RT_VENDORID, RT_DEVICEID_8168, RL_HWREV_8111,
-		"RealTek 8111B PCIe Gigabit Ethernet" },
+	{ RT_VENDORID, RT_DEVICEID_8168, RL_HWREV_8168_SPIN1,
+		"RealTek 8168/8111B PCIe Gigabit Ethernet" },
+	{ RT_VENDORID, RT_DEVICEID_8168, RL_HWREV_8168_SPIN2,
+		"RealTek 8168/8111B PCIe Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169,
 		"RealTek 8169 Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169S,
 		"RealTek 8169S Single-chip Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169_8110SB,
 		"RealTek 8169SB/8110SB Single-chip Gigabit Ethernet" },
-	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8169_8110SC,
+	{ RT_VENDORID, RT_DEVICEID_8169SC, RL_HWREV_8169_8110SC,
 		"RealTek 8169SC/8110SC Single-chip Gigabit Ethernet" },
 	{ RT_VENDORID, RT_DEVICEID_8169, RL_HWREV_8110S,
 		"RealTek 8110S Single-chip Gigabit Ethernet" },
@@ -202,7 +202,7 @@
 	{ RL_HWREV_8139C, RL_8139, "C" },
 	{ RL_HWREV_8139D, RL_8139, "8139D/8100B/8100C" },
 	{ RL_HWREV_8139CPLUS, RL_8139CPLUS, "C+"},
-	{ RL_HWREV_8168, RL_8169, "8168"},
+	{ RL_HWREV_8168_SPIN1, RL_8169, "8168"},
 	{ RL_HWREV_8169, RL_8169, "8169"},
 	{ RL_HWREV_8169S, RL_8169, "8169S"},
 	{ RL_HWREV_8110S, RL_8169, "8110S"},
@@ -212,7 +212,7 @@
 	{ RL_HWREV_8101, RL_8139, "8101"},
 	{ RL_HWREV_8100E, RL_8169, "8100E"},
 	{ RL_HWREV_8101E, RL_8169, "8101E"},
-	{ RL_HWREV_8111, RL_8169, "8111"},
+	{ RL_HWREV_8168_SPIN2, RL_8169, "8168"},
 	{ 0, 0, NULL }
 };
 
@@ -935,6 +935,8 @@
 	struct rl_dmaload_arg	*ctx;
 	struct rl_desc		*d = NULL;
 	int			i = 0, idx;
+	u_int32_t		cmdstat;
+	int			totlen = 0;
 
 	if (error)
 		return;
@@ -960,13 +962,13 @@
 	 */
 	idx = ctx->rl_idx;
 	for (;;) {
-		u_int32_t		cmdstat;
 		d = &ctx->rl_ring[idx];
 		if (le32toh(d->rl_cmdstat) & RL_RDESC_STAT_OWN) {
 			ctx->rl_maxsegs = 0;
 			return;
 		}
 		cmdstat = segs[i].ds_len;
+		totlen += segs[i].ds_len;
 		d->rl_bufaddr_lo = htole32(RL_ADDR_LO(segs[i].ds_addr));
 		d->rl_bufaddr_hi = htole32(RL_ADDR_HI(segs[i].ds_addr));
 		if (i == 0)
@@ -982,6 +984,26 @@
 		RL_DESC_INC(idx);
 	}
 
+	/*
+	 * With some of the RealTek chips, using the checksum offload
+	 * support in conjunction with the autopadding feature results
+	 * in the transmission of corrupt frames. For example, if we
+	 * need to send a really small IP fragment that's less than 60
+	 * bytes in size, and IP header checksumming is enabled, the
+	 * resulting ethernet frame that appears on the wire will
+	 * have garbled payload. To work around this, if TX checksum
+	 * offload is enabled, we always manually pad short frames out
+	 * to the minimum ethernet frame size. We do this by lying
+	 * about the size of the final fragment in the DMA map.
+	 */
+
+	if (ctx->rl_flags && totlen < (ETHER_MIN_LEN - ETHER_CRC_LEN)) {
+		i = cmdstat & 0xFFFF;
+		i += ETHER_MIN_LEN - ETHER_CRC_LEN - totlen;
+		cmdstat = (cmdstat & 0xFFFF) | i;
+		d->rl_cmdstat = htole32(cmdstat | ctx->rl_flags);
+        }
+
 	d->rl_cmdstat |= htole32(RL_TDESC_CMD_EOF);
 	ctx->rl_maxsegs = nseg;
 	ctx->rl_idx = idx;
@@ -1131,8 +1153,6 @@
 
 	mtx_init(&sc->rl_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK,
 	    MTX_DEF);
-	mtx_init(&sc->rl_intlock, device_get_nameunit(dev), MTX_NETWORK_LOCK,
-	    MTX_SPIN);
 	callout_init_mtx(&sc->rl_stat_callout, &sc->rl_mtx, 0);
 
 	/*
@@ -1249,7 +1269,7 @@
 	ifp->if_start = re_start;
 	ifp->if_hwassist = RE_CSUM_FEATURES;
 	ifp->if_capabilities |= IFCAP_HWCSUM|IFCAP_VLAN_HWTAGGING;
-	ifp->if_capenable = ifp->if_capabilities & ~IFCAP_HWCSUM;
+	ifp->if_capenable = ifp->if_capabilities;
 #ifdef DEVICE_POLLING
 	ifp->if_capabilities |= IFCAP_POLLING;
 #endif
@@ -1416,7 +1436,6 @@
 		bus_dma_tag_destroy(sc->rl_parent_tag);
 
 	mtx_destroy(&sc->rl_mtx);
-	mtx_destroy(&sc->rl_intlock);
 
 	return (0);
 }
@@ -1895,14 +1914,10 @@
 	sc = arg;
 	ifp = sc->rl_ifp;
 
-	mtx_lock_spin(&sc->rl_intlock);
 	status = CSR_READ_2(sc, RL_ISR);
-	if (status == 0xFFFF || (status & RL_INTRS_CPLUS) == 0) {
-		mtx_unlock_spin(&sc->rl_intlock);
+	if (status == 0xFFFF || (status & RL_INTRS_CPLUS) == 0)
                 return;
-	}
 	CSR_WRITE_2(sc, RL_IMR, 0);
-	mtx_unlock_spin(&sc->rl_intlock);
 
 	taskqueue_enqueue_fast(taskqueue_fast, &sc->rl_inttask);
 
@@ -1970,9 +1985,7 @@
 		return;
 	}
 
-	mtx_lock_spin(&sc->rl_intlock);
 	CSR_WRITE_2(sc, RL_IMR, RL_INTRS_CPLUS);
-	mtx_unlock_spin(&sc->rl_intlock);
 
 	return;
 }
@@ -2305,13 +2318,11 @@
 	/*
 	 * Enable interrupts.
 	 */
-	mtx_lock_spin(&sc->rl_intlock);
 	if (sc->rl_testmode)
 		CSR_WRITE_2(sc, RL_IMR, 0);
 	else
 		CSR_WRITE_2(sc, RL_IMR, RL_INTRS_CPLUS);
 	CSR_WRITE_2(sc, RL_ISR, RL_INTRS_CPLUS);
-	mtx_unlock_spin(&sc->rl_intlock);
 
 	/* Set initial TX threshold */
 	sc->rl_txthresh = RL_TX_THRESH_INIT;

==== //depot/projects/smpng/sys/i386/conf/NOTES#123 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1229 2006/06/26 23:41:07 obrien Exp $
+# $FreeBSD: src/sys/i386/conf/NOTES,v 1.1230 2006/07/29 18:38:54 marcel Exp $
 #
 
 #
@@ -272,6 +272,44 @@
 #####################################################################
 # MISCELLANEOUS DEVICES AND OPTIONS
 
+# 
+# sio: serial ports (see sio(4)), including support for various
+#      PC Card devices, such as Modem and NICs (see etc/defaults/pccard.conf)
+#
+device		sio
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.flags="0x10"
+hint.sio.0.irq="4"
+
+# `flags' specific to sio(4).
+#	0x10	enable console support for this unit.  Other console flags
+#		(if applicable) are ignored unless this is set.  Enabling
+#		console support does not make the unit the preferred console.
+#		Boot with -h or set boot_serial=YES in the loader.  For sio(4)
+#		specifically, the 0x20 flag can also be set (see above).
+#		Currently, at most one unit can have console support; the
+#		first one (in config file order) with this flag set is
+#		preferred.  Setting this flag for sio0 gives the old behaviour.
+#	0x20	force this unit to be the console (unless there is another
+#		higher priority console).  This replaces the COMCONSOLE option.
+#	0x40	reserve this unit for low level console operations.  Do not
+#		access the device in any normal way.
+#	0x80	use this port for serial line gdb support in ddb.  Also known
+#		as debug port.
+# PnP `flags'
+#	0x1	disable probing of this device.  Used to prevent your modem
+#		from being attached as a PnP modem.
+# Other flags for sio that aren't documented in the man page.
+#	0x20000	enable hardware RTS/CTS and larger FIFOs.  Only works for
+#		ST16650A-compatible UARTs.
+
+# Options for sio:
+options 	COM_ESP			# Code for Hayes ESP.
+options 	COM_MULTIPORT		# Code for some cards with shared IRQs.
+options 	CONSPEED=115200		# Speed for serial console
+					# (default 9600).
+
 device		speaker		#Play IBM BASIC-style noises out your speaker
 hint.speaker.0.at="isa"
 hint.speaker.0.port="0x61"

==== //depot/projects/smpng/sys/i386/i386/trap.c#101 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.294 2006/07/28 19:05:27 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.295 2006/07/28 20:22:57 jhb Exp $");
 
 /*
  * 386 Trap and System call handling

==== //depot/projects/smpng/sys/ia64/conf/NOTES#9 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/ia64/conf/NOTES,v 1.10 2006/06/02 04:46:26 imp Exp $
+# $FreeBSD: src/sys/ia64/conf/NOTES,v 1.11 2006/07/29 18:38:54 marcel Exp $
 #
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
@@ -49,6 +49,3 @@
 # The following devices are not supported.
 nodevice	fdc
 nooption	FDC_DEBUG
-nodevice	sio
-nooption	COM_ESP
-nooption	CONSPEED

==== //depot/projects/smpng/sys/ia64/ia32/ia32_trap.c#18 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ia64/ia32/ia32_trap.c,v 1.11 2006/07/28 19:05:27 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/ia64/ia32/ia32_trap.c,v 1.12 2006/07/28 20:22:58 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/smpng/sys/ia64/ia64/trap.c#89 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ia64/ia64/trap.c,v 1.122 2006/07/28 19:05:28 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/ia64/ia64/trap.c,v 1.123 2006/07/28 20:22:58 jhb Exp $");
 
 #include "opt_ddb.h"
 #include "opt_ktrace.h"

==== //depot/projects/smpng/sys/kern/kern_ktrace.c#53 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.109 2006/06/27 11:29:38 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_ktrace.c,v 1.110 2006/07/31 15:31:43 jhb Exp $");
 
 #include "opt_ktrace.h"
 #include "opt_mac.h"
@@ -483,15 +483,6 @@
 	ktr_submitrequest(curthread, req);
 }
 
-/*
- * Since the uio may not stay valid, we can not hand off this request to
- * the thread and need to process it synchronously.  However, we wish to
- * keep the relative order of records in a trace file correct, so we
- * do put this request on the queue (if it isn't empty) and then block.
- * The ktrace thread waks us back up when it is time for this event to
- * be posted and blocks until we have completed writing out the event
- * and woken it back up.
- */
 void
 ktrgenio(fd, rw, uio, error)
 	int fd;

==== //depot/projects/smpng/sys/pc98/conf/NOTES#57 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.78 2006/06/12 20:38:17 jhb Exp $
+# $FreeBSD: src/sys/pc98/conf/NOTES,v 1.79 2006/07/29 18:38:54 marcel Exp $
 #
 
 options 	PC98
@@ -214,6 +214,44 @@
 #####################################################################
 # MISCELLANEOUS DEVICES AND OPTIONS
 
+# 
+# sio: serial ports (see sio(4)), including support for various
+#      PC Card devices, such as Modem and NICs (see etc/defaults/pccard.conf)
+#
+device		sio
+hint.sio.0.at="isa"
+hint.sio.0.port="0x3F8"
+hint.sio.0.flags="0x10"
+hint.sio.0.irq="4"
+
+# `flags' specific to sio(4).
+#	0x10	enable console support for this unit.  Other console flags
+#		(if applicable) are ignored unless this is set.  Enabling
+#		console support does not make the unit the preferred console.
+#		Boot with -h or set boot_serial=YES in the loader.  For sio(4)
+#		specifically, the 0x20 flag can also be set (see above).
+#		Currently, at most one unit can have console support; the
+#		first one (in config file order) with this flag set is
+#		preferred.  Setting this flag for sio0 gives the old behaviour.
+#	0x20	force this unit to be the console (unless there is another
+#		higher priority console).  This replaces the COMCONSOLE option.
+#	0x40	reserve this unit for low level console operations.  Do not
+#		access the device in any normal way.
+#	0x80	use this port for serial line gdb support in ddb.  Also known
+#		as debug port.
+# PnP `flags'
+#	0x1	disable probing of this device.  Used to prevent your modem
+#		from being attached as a PnP modem.
+# Other flags for sio that aren't documented in the man page.
+#	0x20000	enable hardware RTS/CTS and larger FIFOs.  Only works for
+#		ST16650A-compatible UARTs.
+
+# Options for sio:
+options 	COM_ESP			# Code for Hayes ESP.
+options 	COM_MULTIPORT		# Code for some cards with shared IRQs.
+options 	CONSPEED=115200		# Speed for serial console
+					# (default 9600).
+
 device		speaker		#Play IBM BASIC-style noises out your speaker
 hint.speaker.0.at="isa"
 hint.speaker.0.port="0x35"

==== //depot/projects/smpng/sys/pci/if_rlreg.h#32 (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/pci/if_rlreg.h,v 1.58 2006/06/28 16:04:54 wpaul Exp $
+ * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.59 2006/07/30 23:25:20 wpaul Exp $
  */
 
 /*
@@ -147,25 +147,25 @@
 
 /* Known revision codes. */
 
-#define RL_HWREV_8169          0x00000000
-#define RL_HWREV_8110S         0x00800000
-#define RL_HWREV_8169S         0x04000000
-#define RL_HWREV_8169_8110SB   0x10000000
-#define RL_HWREV_8169_8110SC   0x18000000
-#define RL_HWREV_8168          0x30000000
-#define RL_HWREV_8100E         0x30800000
-#define RL_HWREV_8101E         0x34000000
-#define RL_HWREV_8111          0x38000000
-#define RL_HWREV_8139          0x60000000
-#define RL_HWREV_8139A         0x70000000
-#define RL_HWREV_8139AG        0x70800000
-#define RL_HWREV_8139B         0x78000000
-#define RL_HWREV_8130          0x7C000000
-#define RL_HWREV_8139C         0x74000000
-#define RL_HWREV_8139D         0x74400000
-#define RL_HWREV_8139CPLUS     0x74800000
-#define RL_HWREV_8101          0x74c00000
-#define RL_HWREV_8100          0x78800000
+#define RL_HWREV_8169		0x00000000
+#define RL_HWREV_8110S		0x00800000
+#define RL_HWREV_8169S		0x04000000
+#define RL_HWREV_8169_8110SB	0x10000000
+#define RL_HWREV_8169_8110SC	0x18000000
+#define RL_HWREV_8168_SPIN1	0x30000000
+#define RL_HWREV_8100E		0x30800000
+#define RL_HWREV_8101E		0x34000000
+#define RL_HWREV_8168_SPIN2	0x38000000
+#define RL_HWREV_8139		0x60000000
+#define RL_HWREV_8139A		0x70000000
+#define RL_HWREV_8139AG		0x70800000
+#define RL_HWREV_8139B		0x78000000
+#define RL_HWREV_8130		0x7C000000
+#define RL_HWREV_8139C		0x74000000
+#define RL_HWREV_8139D		0x74400000
+#define RL_HWREV_8139CPLUS	0x74800000
+#define RL_HWREV_8101		0x74c00000
+#define RL_HWREV_8100		0x78800000
 
 #define RL_TXDMA_16BYTES	0x00000000
 #define RL_TXDMA_32BYTES	0x00000100

==== //depot/projects/smpng/sys/powerpc/conf/NOTES#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.3 2006/07/26 17:35:40 marcel Exp $
+# $FreeBSD: src/sys/powerpc/conf/NOTES,v 1.4 2006/07/29 18:38:54 marcel Exp $
 #
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
@@ -30,7 +30,6 @@
 nodevice	atkbdc
 nodevice	atkbd
 nodevice	psm
-nodevice	sio
 nodevice	vga
 nodevice	fdc
 nodevice	ppc

==== //depot/projects/smpng/sys/powerpc/powerpc/trap.c#58 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/trap.c,v 1.60 2006/07/28 19:05:28 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/trap.c,v 1.61 2006/07/28 20:22:58 jhb Exp $");
 
 #include "opt_ktrace.h"
 

==== //depot/projects/smpng/sys/sparc64/conf/NOTES#22 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/sparc64/conf/NOTES,v 1.23 2006/04/19 19:39:35 marcel Exp $
+# $FreeBSD: src/sys/sparc64/conf/NOTES,v 1.24 2006/07/29 18:38:54 marcel Exp $
 #
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
@@ -92,15 +92,12 @@
 nodevice	wds
 nodevice	ep
 nodevice	ex
-nodevice	sio
 
 
 #####################################################################
 # Options we don't want to deal with
 
 nooption	FDC_DEBUG
-nooption	COM_ESP
-nooption	CONSPEED
 nooption	VGA_DEBUG
 nooption	SC_RENDER_DEBUG
 nooption	SC_DEBUG_LEVEL

==== //depot/projects/smpng/sys/sparc64/sparc64/trap.c#74 (text+ko) ====

@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/trap.c,v 1.84 2006/07/28 19:05:28 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/sparc64/sparc64/trap.c,v 1.85 2006/07/28 20:22:58 jhb Exp $");
 
 #include "opt_ddb.h"
 #include "opt_ktr.h"

==== //depot/projects/smpng/sys/sys/param.h#102 (text+ko) ====

@@ -32,7 +32,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)param.h	8.3 (Berkeley) 4/4/95
- * $FreeBSD: src/sys/sys/param.h,v 1.268 2006/07/15 20:22:39 netchild Exp $
+ * $FreeBSD: src/sys/sys/param.h,v 1.269 2006/07/29 19:44:07 simon Exp $
  */
 
 #ifndef _SYS_PARAM_H_
@@ -57,7 +57,7 @@
  *		is created, otherwise 1.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 700018	/* Master, propagated to newvers */
+#define __FreeBSD_version 700019	/* Master, propagated to newvers */
 
 #ifndef LOCORE
 #include <sys/types.h>

==== //depot/projects/smpng/sys/sys/sysent.h#17 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/sys/sysent.h,v 1.47 2005/11/02 21:18:07 ps Exp $
+ * $FreeBSD: src/sys/sys/sysent.h,v 1.48 2006/07/28 20:22:58 jhb Exp $
  */
 
 #ifndef _SYS_SYSENT_H_

==== //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#26 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/ufs/ufs/ufs_lookup.c,v 1.81 2006/07/11 17:27:04 daichi Exp $");

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



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