Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Jan 2007 21:06:46 GMT
From:      Roman Divacky <rdivacky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 112664 for review
Message-ID:  <200701072106.l07L6kWa040731@repoman.freebsd.org>

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

Change 112664 by rdivacky@rdivacky_witten on 2007/01/07 21:06:04

	IFC

Affected files ...

.. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_machdep.c#18 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_mci.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_pioreg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_pmc.c#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_spireg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/at91_st.c#3 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/files.at91#2 integrate
.. //depot/projects/linuxolator/src/sys/arm/at91/if_ate.c#4 integrate
.. //depot/projects/linuxolator/src/sys/arm/conf/BWCT#1 branch
.. //depot/projects/linuxolator/src/sys/arm/conf/BWCT.hints#1 branch
.. //depot/projects/linuxolator/src/sys/arm/include/atomic.h#3 integrate
.. //depot/projects/linuxolator/src/sys/bsm/audit.h#3 integrate
.. //depot/projects/linuxolator/src/sys/bsm/audit_internal.h#3 integrate
.. //depot/projects/linuxolator/src/sys/bsm/audit_kevents.h#4 integrate
.. //depot/projects/linuxolator/src/sys/bsm/audit_record.h#3 integrate
.. //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#10 integrate
.. //depot/projects/linuxolator/src/sys/conf/NOTES#14 integrate
.. //depot/projects/linuxolator/src/sys/conf/files#15 integrate
.. //depot/projects/linuxolator/src/sys/conf/options#12 integrate
.. //depot/projects/linuxolator/src/sys/conf/options.arm#3 integrate
.. //depot/projects/linuxolator/src/sys/contrib/pf/net/pf_ioctl.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/ata/ata-chipset.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/ata/ata-pci.h#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/bktr/bktr_i2c.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/hptmv/entry.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp.c#8 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_freebsd.h#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/isp/isp_pci.c#8 integrate
.. //depot/projects/linuxolator/src/sys/dev/mfi/mfi.c#9 integrate
.. //depot/projects/linuxolator/src/sys/dev/mii/miidevs#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/mii/rlswitch.c#1 branch
.. //depot/projects/linuxolator/src/sys/dev/mpt/mpt.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/mpt/mpt.h#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/mpt/mpt_cam.c#10 integrate
.. //depot/projects/linuxolator/src/sys/dev/mpt/mpt_pci.c#5 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10kx-pcm.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10kx.c#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/emu10kx.h#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/hda/hdac.c#10 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pcm/feeder.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/usb/uaudio.c#3 integrate
.. //depot/projects/linuxolator/src/sys/dev/usb/usbdi_util.h#2 integrate
.. //depot/projects/linuxolator/src/sys/fs/msdosfs/bpb.h#4 integrate
.. //depot/projects/linuxolator/src/sys/fs/msdosfs/msdosfs_vfsops.c#5 integrate
.. //depot/projects/linuxolator/src/sys/fs/pseudofs/pseudofs_vncache.c#2 integrate
.. //depot/projects/linuxolator/src/sys/fs/unionfs/union_subr.c#4 integrate
.. //depot/projects/linuxolator/src/sys/fs/unionfs/union_vnops.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_descrip.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_switch.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_synch.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_thread.c#5 integrate
.. //depot/projects/linuxolator/src/sys/kern/sched_4bsd.c#8 integrate
.. //depot/projects/linuxolator/src/sys/kern/sched_core.c#2 integrate
.. //depot/projects/linuxolator/src/sys/kern/sched_ule.c#6 integrate
.. //depot/projects/linuxolator/src/sys/kern/uipc_usrreq.c#3 integrate
.. //depot/projects/linuxolator/src/sys/modules/sound/driver/emu10kx/Makefile#2 integrate
.. //depot/projects/linuxolator/src/sys/net/ethernet.h#4 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211.c#4 integrate
.. //depot/projects/linuxolator/src/sys/net80211/ieee80211_var.h#4 integrate
.. //depot/projects/linuxolator/src/sys/netinet/ip_fw2.c#10 integrate
.. //depot/projects/linuxolator/src/sys/netinet/udp_usrreq.c#5 integrate
.. //depot/projects/linuxolator/src/sys/nfsserver/nfs_srvsubs.c#3 integrate
.. //depot/projects/linuxolator/src/sys/nfsserver/nfsm_subs.h#2 integrate
.. //depot/projects/linuxolator/src/sys/pc98/pc98/machdep.c#7 integrate
.. //depot/projects/linuxolator/src/sys/pci/agp_intel.c#2 integrate
.. //depot/projects/linuxolator/src/sys/pci/agpreg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/security/audit/audit_arg.c#4 integrate
.. //depot/projects/linuxolator/src/sys/security/mac/mac_framework.c#2 integrate
.. //depot/projects/linuxolator/src/sys/security/mac_stub/mac_stub.c#5 integrate
.. //depot/projects/linuxolator/src/sys/sys/copyright.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/file.h#2 integrate
.. //depot/projects/linuxolator/src/sys/sys/proc.h#10 integrate
.. //depot/projects/linuxolator/src/sys/sys/runq.h#3 integrate
.. //depot/projects/linuxolator/src/sys/sys/unpcb.h#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/swap_pager.c#5 integrate
.. //depot/projects/linuxolator/src/sys/vm/uma.h#2 integrate
.. //depot/projects/linuxolator/src/sys/vm/uma_core.c#3 integrate
.. //depot/projects/linuxolator/src/sys/vm/vm_kern.c#4 integrate

Differences ...

==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_machdep.c#18 (text+ko) ====

@@ -29,11 +29,13 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.23 2006/12/20 20:17:34 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.24 2007/01/06 15:58:34 netchild Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
 #include <sys/systm.h>
+#include <sys/file.h>
+#include <sys/fcntl.h>
 #include <sys/clock.h>
 #include <sys/imgact.h>
 #include <sys/limits.h>
@@ -776,9 +778,20 @@
 		off_t pos;
 	} */ bsd_args;
 	int error;
+	struct file *fp;
 
 	error = 0;
 	bsd_args.flags = 0;
+	fp = NULL;
+
+	/*
+	 * Linux mmap(2):
+	 * You must specify exactly one of MAP_SHARED and MAP_PRIVATE
+	 */
+	if (! ((linux_args->flags & LINUX_MAP_SHARED) ^
+	    (linux_args->flags & LINUX_MAP_PRIVATE)))
+		return (EINVAL);
+
 	if (linux_args->flags & LINUX_MAP_SHARED)
 		bsd_args.flags |= MAP_SHARED;
 	if (linux_args->flags & LINUX_MAP_PRIVATE)
@@ -861,17 +874,44 @@
 		bsd_args.addr = (caddr_t)PTRIN(linux_args->addr);
 		bsd_args.len  = linux_args->len;
 	}
+
 	/*
-	 * XXX i386 Linux always emulator forces PROT_READ on (why?)
-	 * so we do the same. We add PROT_EXEC to work around buggy
-	 * applications (e.g. Java) that take advantage of the fact
-	 * that execute permissions are not enforced by x86 CPUs.
+	 * We add PROT_EXEC to work around buggy applications (e.g. Java)
+	 * that take advantage of the fact that execute permissions are not
+	 * enforced by x86 CPUs.
 	 */
-	bsd_args.prot = linux_args->prot | PROT_EXEC | PROT_READ;
+	bsd_args.prot = linux_args->prot | PROT_EXEC;
 	if (linux_args->flags & LINUX_MAP_ANON)
 		bsd_args.fd = -1;
-	else
+	else {
+		/*
+		 * Linux follows Solaris mmap(2) description:
+		 * The file descriptor fildes is opened with
+		 * read permission, regardless of the
+		 * protection options specified.
+		 * If PROT_WRITE is specified, the application
+		 * must have opened the file descriptor
+		 * fildes with write permission unless
+		 * MAP_PRIVATE is specified in the flag
+		 * argument as described below.
+		 */
+
+		if ((error = fget(td, linux_args->fd, &fp)) != 0)
+			return (error);
+		if (fp->f_type != DTYPE_VNODE) {
+			fdrop(fp, td);
+			return (EINVAL);
+		}
+
+		/* Linux mmap() just fails for O_WRONLY files */
+		if (! (fp->f_flag & FREAD)) {
+			fdrop(fp, td);
+			return (EACCES);
+		}
+
 		bsd_args.fd = linux_args->fd;
+		fdrop(fp, td);
+	}
 	bsd_args.pos = (off_t)linux_args->pgoff * PAGE_SIZE;
 	bsd_args.pad = 0;
 

==== //depot/projects/linuxolator/src/sys/arm/at91/at91_mci.c#2 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.1 2006/10/20 06:44:04 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91_mci.c,v 1.2 2007/01/05 01:18:32 ticso Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -403,12 +403,14 @@
 	}
 //	printf("CMDR %x ARGR %x with data\n", cmdr, cmd->arg);
 	WR4(sc, MCI_ARGR, cmd->arg);
-	WR4(sc, MCI_CMDR, cmdr);
 	if (cmdr & MCI_CMDR_TRCMD_START) {
-		if (cmdr & MCI_CMDR_TRDIR)
+		if (cmdr & MCI_CMDR_TRDIR) {
 			WR4(sc, PDC_PTCR, PDC_PTCR_RXTEN);
-		else
+			WR4(sc, MCI_CMDR, cmdr);
+		} else {
+			WR4(sc, MCI_CMDR, cmdr);
 			WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN);
+		}
 	}
 	WR4(sc, MCI_IER, MCI_SR_ERROR | ier);
 }

==== //depot/projects/linuxolator/src/sys/arm/at91/at91_pioreg.h#2 (text) ====

@@ -22,7 +22,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-/* $FreeBSD: src/sys/arm/at91/at91_pioreg.h,v 1.1 2006/03/24 07:39:29 imp Exp $ */
+/* $FreeBSD: src/sys/arm/at91/at91_pioreg.h,v 1.2 2007/01/01 00:46:54 imp Exp $ */
 
 #ifndef ARM_AT91_AT91_PIOREG_H
 #define ARM_AT91_AT91_PIOREG_H
@@ -52,8 +52,8 @@
 #define PIO_MDDR	0x54		/* PIO Multi-Driver Disable Register */
 #define PIO_MDSR	0x58		/* PIO Multi-Driver Status Register */
 		/*	0x5c		   reserved */
-#define PIO_PUER	0x60		/* PIO Pull-up Enable Register */
-#define PIO_PUDR	0x64		/* PIO Pull-up Disable Register */
+#define PIO_PUDR	0x60		/* PIO Pull-up Disable Register */
+#define PIO_PUER	0x64		/* PIO Pull-up Enable Register */
 #define PIO_PUSR	0x68		/* PIO Pull-up Status Register */
 		/*	0x6c		   reserved */
 #define PIO_ASR		0x70		/* PIO Peripheral A Select Register */

==== //depot/projects/linuxolator/src/sys/arm/at91/at91_pmc.c#2 (text) ====

@@ -25,7 +25,7 @@
 #include "opt_at91.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.3 2006/07/14 22:01:51 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91_pmc.c,v 1.4 2007/01/05 01:14:14 ticso Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -399,7 +399,7 @@
 	pmc_softc->dev = dev;
 	if ((err = at91_pmc_activate(dev)) != 0)
 		return err;
-#ifdef AT91_TSC
+#if defined(AT91_TSC) | defined (AT91_BWCT)
 	at91_pmc_init_clock(pmc_softc, 16000000);
 #else
 	at91_pmc_init_clock(pmc_softc, 10000000);

==== //depot/projects/linuxolator/src/sys/arm/at91/at91_spireg.h#2 (text) ====

@@ -22,7 +22,7 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-/* $FreeBSD: src/sys/arm/at91/at91_spireg.h,v 1.2 2006/07/14 21:35:59 imp Exp $ */
+/* $FreeBSD: src/sys/arm/at91/at91_spireg.h,v 1.3 2007/01/01 00:50:25 imp Exp $ */
 
 #ifndef ARM_AT91_AT91_SPIREG_H
 #define ARM_AT91_AT91_SPIREG_H
@@ -51,7 +51,7 @@
 #define	  SPI_SR_OVRES		0x00008
 #define	  SPI_SR_ENDRX		0x00010
 #define	  SPI_SR_ENDTX		0x00020
-#define	  SPI_SR_RXBUFE		0x00040
+#define	  SPI_SR_RXBUFF		0x00040
 #define	  SPI_SR_TXBUFE		0x00080
 #define	  SPI_SR_SPIENS		0x10000
 #define	SPI_IER		0x14		/* IER: Interrupt Enable Regsiter */

==== //depot/projects/linuxolator/src/sys/arm/at91/at91_st.c#3 (text) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91_st.c,v 1.6 2006/12/15 21:44:48 n_hibma Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91_st.c,v 1.7 2007/01/05 02:52:06 ticso Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -206,11 +206,14 @@
 	void *ih;
 	device_t dev = timer_softc->sc_dev;
 
+	rel_value = 32768 / hz;
+	if (rel_value < 1)
+		rel_value = 1;
 	if (32768 % hz) {
-		printf("Cannot get %d Hz clock; using 128Hz\n", hz);
-		hz = 128;
+		printf("Cannot get %d Hz clock; using %dHz\n", hz, 32768 / rel_value);
+		hz = 32768 / rel_value;
+		tick = 1000000 / hz;
 	}
-	rel_value = 32768 / hz;
 	/* Disable all interrupts. */
 	WR4(ST_IDR, 0xffffffff);
 	/* The system timer shares the system irq (1) */

==== //depot/projects/linuxolator/src/sys/arm/at91/files.at91#2 (text) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/at91/files.at91,v 1.6 2006/07/14 22:41:54 imp Exp $
+# $FreeBSD: src/sys/arm/at91/files.at91,v 1.7 2007/01/05 02:06:53 ticso Exp $
 arm/arm/cpufunc_asm_arm9.S	standard
 arm/arm/irq_dispatch.S		standard
 arm/at91/at91.c			standard
@@ -6,7 +6,7 @@
 arm/at91/at91_mci.c		optional	at91_mci
 arm/at91/at91_pio.c		standard
 arm/at91/at91_pmc.c		standard
-arm/at91/at91_rtc.c		standard
+arm/at91/at91_rtc.c		optional	at91_rtc
 arm/at91/at91_ssc.c		optional	at91_ssc
 arm/at91/at91_spi.c		optional	at91_spi		\
 	dependency	"spibus_if.h"

==== //depot/projects/linuxolator/src/sys/arm/at91/if_ate.c#4 (text) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.12 2006/11/03 07:39:37 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.15 2007/01/05 01:07:59 ticso Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -72,7 +72,7 @@
 
 #include "miibus_if.h"
 
-#define ATE_MAX_TX_BUFFERS 64		/* We have ping-pong tx buffers */
+#define ATE_MAX_TX_BUFFERS 2		/* We have ping-pong tx buffers */
 #define ATE_MAX_RX_BUFFERS 64
 
 struct ate_softc
@@ -132,7 +132,6 @@
 static void ateinit(void *);
 static void atestart(struct ifnet *);
 static void atestop(struct ate_softc *);
-static void atewatchdog(struct ifnet *);
 static int ateioctl(struct ifnet * ifp, u_long, caddr_t);
 
 /* bus entry points */
@@ -206,9 +205,10 @@
 	if_initname(ifp, device_get_name(dev), device_get_unit(dev));
 	ifp->if_mtu = ETHERMTU;
 	ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
+	ifp->if_capabilities |= IFCAP_VLAN_MTU;
+	ifp->if_capenable |= IFCAP_VLAN_MTU; /* the hw bits already set */
 	ifp->if_start = atestart;
 	ifp->if_ioctl = ateioctl;
-	ifp->if_watchdog = atewatchdog;
 	ifp->if_init = ateinit;
 	ifp->if_baudrate = 10000000;
 	IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN);
@@ -754,6 +754,9 @@
 	 */
 	ate_setmcast(sc);
 
+	/* enable big packets */
+	WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | ETH_CFG_BIG);
+
 	/*
 	 * Set 'running' flag, and clear output active flag
 	 * and attempt to start the output
@@ -910,25 +913,13 @@
 	 */
 }
 
-static void
-atewatchdog(struct ifnet *ifp)
-{
-	struct ate_softc *sc = ifp->if_softc;
-
-	ATE_LOCK(sc);
-	device_printf(sc->dev, "Device timeout\n");
-	ifp->if_oerrors++;
-	ateinit_locked(sc);
-	ATE_UNLOCK(sc);
-}
-
 static int
 ateioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 {
 	struct ate_softc *sc = ifp->if_softc;
  	struct mii_data *mii;
  	struct ifreq *ifr = (struct ifreq *)data;	
-	int             error = 0;
+	int mask, error = 0;
 
 	switch (cmd) {
 	case SIOCSIFFLAGS:
@@ -958,6 +949,19 @@
  		mii = device_get_softc(sc->miibus);
  		error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, cmd);
   		break;
+	case SIOCSIFCAP:
+		mask = ifp->if_capenable ^ ifr->ifr_reqcap;
+		if (mask & IFCAP_VLAN_MTU) {
+			ATE_LOCK(sc);
+			if (ifr->ifr_reqcap & IFCAP_VLAN_MTU) {
+				WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) | ETH_CFG_BIG);
+				ifp->if_capenable |= IFCAP_VLAN_MTU;
+			} else {
+				WR4(sc, ETH_CFG, RD4(sc, ETH_CFG) & ~ETH_CFG_BIG);
+				ifp->if_capenable &= ~IFCAP_VLAN_MTU;
+			}
+			ATE_UNLOCK(sc);
+		}
 	default:
 		error = ether_ioctl(ifp, cmd, data);
 		break;

==== //depot/projects/linuxolator/src/sys/arm/include/atomic.h#3 (text+ko) ====

@@ -33,7 +33,7 @@
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/atomic.h,v 1.20 2006/11/07 11:53:44 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/atomic.h,v 1.21 2007/01/05 02:50:27 ticso Exp $
  */
 
 #ifndef	_MACHINE_ATOMIC_H_
@@ -308,46 +308,76 @@
 
 #endif /* _LOCORE */
 
+#define	atomic_add_long(p, v) \
+	atomic_add_32((volatile u_int *)(p), (u_int)(v))
+#define atomic_add_acq_long		atomic_add_long
+#define atomic_add_rel_long		atomic_add_long
+#define	atomic_subtract_long(p, v) \
+	atomic_subtract_32((volatile u_int *)(p), (u_int)(v))
+#define atomic_subtract_acq_long	atomic_subtract_long
+#define atomic_subtract_rel_long	atomic_subtract_long
+#define	atomic_clear_long(p, v) \
+	atomic_clear_32((volatile u_int *)(p), (u_int)(v))
+#define atomic_clear_acq_long		atomic_clear_long
+#define atomic_clear_rel_long		atomic_clear_long
+#define	atomic_set_long(p, v) \
+	atomic_set_32((volatile u_int *)(p), (u_int)(v))
+#define atomic_set_acq_long		atomic_set_long
+#define atomic_set_rel_long		atomic_set_long
+#define	atomic_cmpset_long(dst, old, new) \
+	atomic_cmpset_32((volatile u_int *)(dst), (u_int)(old), (u_int)(new))
+#define atomic_cmpset_acq_long		atomic_cmpset_long
+#define atomic_cmpset_rel_long		atomic_cmpset_long
+#define	atomic_fetchadd_long(p, v) \
+	atomic_fetchadd_32((volatile u_int *)(p), (u_int)(v))
+#define	atomic_readandclear_long(p) \
+	atomic_readandclear_long((volatile u_int *)(p))
+#define	atomic_load_long(p) \
+	atomic_load_32((volatile u_int *)(p))
+#define atomic_load_acq_long		atomic_load_long
+#define	atomic_store_rel_long(p, v) \
+	atomic_store_rel_32((volatile u_int *)(p), (u_int)(v))
 
-static __inline int
-atomic_cmpset_long(volatile u_long *dst, u_long exp, u_long src)
-{
-	return (atomic_cmpset_32((volatile u_int *)dst, (u_int)exp, 
-	    (u_int)src));
-}
+
+#define atomic_clear_ptr		atomic_clear_32
+#define atomic_set_ptr			atomic_set_32
+#define atomic_cmpset_ptr		atomic_cmpset_32
+#define atomic_cmpset_rel_ptr		atomic_cmpset_ptr
+#define atomic_cmpset_acq_ptr		atomic_cmpset_ptr
+#define atomic_store_ptr		atomic_store_32
+#define atomic_store_rel_ptr		atomic_store_ptr
 
-#define atomic_set_rel_int		atomic_set_32
-#define atomic_set_acq_long		atomic_set_32
+#define atomic_add_int			atomic_add_32
+#define atomic_add_acq_int		atomic_add_int
+#define atomic_add_rel_int		atomic_add_int
+#define atomic_subtract_int		atomic_subtract_32
+#define atomic_subtract_acq_int		atomic_subtract_int
+#define atomic_subtract_rel_int		atomic_subtract_int
+#define atomic_clear_int		atomic_clear_32
+#define atomic_clear_acq_int		atomic_clear_int
+#define atomic_clear_rel_int		atomic_clear_int
 #define atomic_set_int			atomic_set_32
+#define atomic_set_acq_int		atomic_set_int
+#define atomic_set_rel_int		atomic_set_int
+#define atomic_cmpset_int		atomic_cmpset_32
+#define atomic_cmpset_acq_int		atomic_cmpset_int
+#define atomic_cmpset_rel_int		atomic_cmpset_int
+#define atomic_fetchadd_int		atomic_fetchadd_32
 #define atomic_readandclear_int		atomic_readandclear_32
-#define atomic_clear_int		atomic_clear_32
-#define atomic_clear_acq_long		atomic_clear_32
-#define atomic_subtract_int		atomic_subtract_32
-#define atomic_subtract_rel_int		atomic_subtract_32
+#define atomic_load_acq_int		atomic_load_32
+#define atomic_store_rel_int		atomic_store_32
+
+#define atomic_add_acq_32		atomic_add_32
+#define atomic_add_rel_32		atomic_add_32
+#define atomic_subtract_acq_32		atomic_subtract_32
 #define atomic_subtract_rel_32		atomic_subtract_32
-#define atomic_subtract_acq_int		atomic_subtract_32
-#define atomic_add_int			atomic_add_32
-#define atomic_add_acq_long		atomic_add_32
-#define atomic_add_rel_int		atomic_add_32
-#define atomic_add_rel_32		atomic_add_32
-#define atomic_add_acq_int		atomic_add_32
-#define atomic_cmpset_int		atomic_cmpset_32
-#define atomic_cmpset_rel_int		atomic_cmpset_32
-#define atomic_cmpset_rel_ptr		atomic_cmpset_ptr
-#define atomic_cmpset_acq_int		atomic_cmpset_32
-#define atomic_cmpset_acq_ptr		atomic_cmpset_ptr
-#define atomic_cmpset_acq_long		atomic_cmpset_long
+#define atomic_clear_acq_32		atomic_clear_32
+#define atomic_clear_rel_32		atomic_clear_32
+#define atomic_set_acq_32		atomic_set_32
+#define atomic_set_rel_32		atomic_set_32
 #define atomic_cmpset_acq_32		atomic_cmpset_32
-#define atomic_store_rel_ptr		atomic_store_ptr
-#define atomic_store_rel_int		atomic_store_32
 #define atomic_cmpset_rel_32		atomic_cmpset_32
-#define atomic_cmpset_rel_ptr		atomic_cmpset_ptr
-#define atomic_load_acq_int		atomic_load_32
 #define atomic_load_acq_32		atomic_load_32
-#define	atomic_clear_ptr		atomic_clear_32
-#define	atomic_store_ptr		atomic_store_32
-#define	atomic_cmpset_ptr		atomic_cmpset_32
-#define	atomic_set_ptr			atomic_set_32
-#define	atomic_fetchadd_int		atomic_fetchadd_32
+#define atomic_store_rel_32		atomic_store_32
 
 #endif /* _MACHINE_ATOMIC_H_ */

==== //depot/projects/linuxolator/src/sys/bsm/audit.h#3 (text) ====


==== //depot/projects/linuxolator/src/sys/bsm/audit_internal.h#3 (text) ====


==== //depot/projects/linuxolator/src/sys/bsm/audit_kevents.h#4 (text) ====


==== //depot/projects/linuxolator/src/sys/bsm/audit_record.h#3 (text) ====


==== //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#10 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.62 2006/12/31 13:16:00 netchild Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.63 2007/01/01 14:47:45 delphij Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -475,8 +475,8 @@
 				timevalclear(&tv);
 #ifdef DEBUG
 			if (ldebug(rt_sigtimedwait))
-				printf(LMSG("linux_rt_sigtimedwait: converted timeout (%d/%ld)\n"),
-					tv.tv_sec, tv.tv_usec);
+				printf(LMSG("linux_rt_sigtimedwait: converted timeout (%jd/%ld)\n"),
+					(intmax_t)tv.tv_sec, tv.tv_usec);
 #endif
 		}
 		TIMEVAL_TO_TIMESPEC(&tv, &ts);

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

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1404 2006/12/29 13:59:02 mlaier Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1405 2007/01/03 11:12:54 piso Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -841,6 +841,10 @@
 # packets too.  Because of this great care is required when
 # crafting the ruleset.
 #
+# IPFIREWALL_NAT adds support for in kernel nat in ipfw, and it requires
+# LIBALIAS. To build an ipfw kld with nat support enabled, add 
+# "CFLAGS+= -DIPFIREWALL_NAT" to your make.conf.
+#
 # IPSTEALTH enables code to support stealth forwarding (i.e., forwarding
 # packets without touching the TTL).  This can be useful to hide firewalls
 # from traceroute and similar tools.
@@ -856,6 +860,7 @@
 options 	IPFIREWALL_VERBOSE_LIMIT=100	#limit verbosity
 options 	IPFIREWALL_DEFAULT_TO_ACCEPT	#allow everything by default
 options 	IPFIREWALL_FORWARD	#packet destination changes
+options 	IPFIREWALL_NAT		#ipfw kernel nat support
 options 	IPDIVERT		#divert sockets
 options 	IPFILTER		#ipfilter support
 options 	IPFILTER_LOG		#ipfilter logging

==== //depot/projects/linuxolator/src/sys/conf/files#15 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1170 2006/12/29 13:16:42 glebius Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1171 2007/01/05 01:46:26 ticso Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -740,6 +740,7 @@
 dev/mii/qsphy.c			optional miibus | qsphy
 dev/mii/rgephy.c		optional miibus | rgephy
 dev/mii/rlphy.c			optional miibus | rlphy
+dev/mii/rlswitch.c		optional rlswitch
 # XXX rue only?
 dev/mii/ruephy.c		optional miibus | ruephy
 dev/mii/tdkphy.c		optional miibus | tdkphy

==== //depot/projects/linuxolator/src/sys/conf/options#12 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.570 2006/12/29 13:59:02 mlaier Exp $
+# $FreeBSD: src/sys/conf/options,v 1.571 2007/01/03 11:12:54 piso Exp $
 #
 #        On the handling of kernel options
 #
@@ -374,6 +374,7 @@
 IPFIREWALL_VERBOSE_LIMIT	opt_ipfw.h
 IPFIREWALL_DEFAULT_TO_ACCEPT	opt_ipfw.h
 IPFIREWALL_FORWARD	opt_ipfw.h
+IPFIREWALL_NAT		opt_ipfw.h
 IPSTEALTH
 IPX
 IPXIP			opt_ipx.h

==== //depot/projects/linuxolator/src/sys/conf/options.arm#3 (text+ko) ====

@@ -1,4 +1,4 @@
-#$FreeBSD: src/sys/conf/options.arm,v 1.14 2006/11/19 23:56:44 sam Exp $
+#$FreeBSD: src/sys/conf/options.arm,v 1.15 2007/01/05 02:08:35 ticso Exp $
 ARM9_CACHE_WRITE_THROUGH	opt_global.h
 ARM_CACHE_LOCK_ENABLE	opt_global.h
 ARMFPE			opt_global.h
@@ -19,5 +19,6 @@
 XSCALE_CACHE_READ_WRITE_ALLOCATE	opt_global.h
 XSACLE_DISABLE_CCNT	opt_timer.h
 VERBOSE_INIT_ARM	opt_global.h
+AT91_BWCT		opt_at91.h
 AT91_TSC		opt_at91.h
 AT91_KWIKBYTE		opt_at91.h

==== //depot/projects/linuxolator/src/sys/contrib/pf/net/pf_ioctl.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.26 2006/09/06 17:19:45 mlaier Exp $	*/
+/*	$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.27 2007/01/01 16:51:11 mlaier Exp $	*/
 /*	$OpenBSD: pf_ioctl.c,v 1.139 2005/03/03 07:13:39 dhartmei Exp $	*/
 /* add:	$OpenBSD: pf_ioctl.c,v 1.168 2006/07/21 01:21:17 dhartmei Exp $ */
 
@@ -272,6 +272,7 @@
 	UMA_DESTROY(pf_cache_pl);
 	UMA_DESTROY(pf_cent_pl);
 	UMA_DESTROY(pfr_ktable_pl);
+	UMA_DESTROY(pfr_kentry_pl2);
 	UMA_DESTROY(pfr_kentry_pl);
 	UMA_DESTROY(pf_state_scrub_pl);
 	UMA_DESTROY(pfi_addr_pl);

==== //depot/projects/linuxolator/src/sys/dev/ata/ata-chipset.c#5 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 1998 - 2006 Søren Schmidt <sos@FreeBSD.org>
+ * Copyright (c) 1998 - 2007 Søren Schmidt <sos@FreeBSD.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.177 2006/10/08 09:58:00 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.179 2007/01/04 16:09:11 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -105,14 +105,17 @@
 static void ata_jmicron_reset(device_t dev);
 static void ata_jmicron_dmainit(device_t dev);
 static void ata_jmicron_setmode(device_t dev, int mode);
-static int ata_marvell_chipinit(device_t dev);
-static int ata_marvell_allocate(device_t dev);
-static int ata_marvell_status(device_t dev);
-static int ata_marvell_begin_transaction(struct ata_request *request);
-static int ata_marvell_end_transaction(struct ata_request *request);
-static void ata_marvell_reset(device_t dev);
-static void ata_marvell_dmasetprd(void *xsc, bus_dma_segment_t *segs, int nsegs, int error);
-static void ata_marvell_dmainit(device_t dev);
+static int ata_marvell_pata_chipinit(device_t dev);
+static int ata_marvell_pata_allocate(device_t dev);
+static void ata_marvell_pata_setmode(device_t dev, int mode);
+static int ata_marvell_edma_chipinit(device_t dev);
+static int ata_marvell_edma_allocate(device_t dev);
+static int ata_marvell_edma_status(device_t dev);
+static int ata_marvell_edma_begin_transaction(struct ata_request *request);
+static int ata_marvell_edma_end_transaction(struct ata_request *request);
+static void ata_marvell_edma_reset(device_t dev);
+static void ata_marvell_edma_dmasetprd(void *xsc, bus_dma_segment_t *segs, int nsegs, int error);
+static void ata_marvell_edma_dmainit(device_t dev);
 static int ata_national_chipinit(device_t dev);
 static void ata_national_setmode(device_t dev, int mode);
 static int ata_nvidia_chipinit(device_t dev);
@@ -2149,6 +2152,7 @@
      { ATA_JMB363, 0, 2, 1, ATA_SA300, "JMB363" },
      { ATA_JMB365, 0, 1, 2, ATA_SA300, "JMB365" },
      { ATA_JMB366, 0, 2, 2, ATA_SA300, "JMB366" },
+     { ATA_JMB368, 0, 0, 1, ATA_UDMA6, "JMB368" },
      { 0, 0, 0, 0, 0, 0}};
     char buffer[64];
 
@@ -2309,12 +2313,14 @@
     struct ata_pci_controller *ctlr = device_get_softc(dev);
     struct ata_chip_id *idx;
     static struct ata_chip_id ids[] =
-    {{ ATA_M88SX5040, 0, 4, MV5XXX, ATA_SA150, "88SX5040" },
-     { ATA_M88SX5041, 0, 4, MV5XXX, ATA_SA150, "88SX5041" },
-     { ATA_M88SX5080, 0, 8, MV5XXX, ATA_SA150, "88SX5080" },
-     { ATA_M88SX5081, 0, 8, MV5XXX, ATA_SA150, "88SX5081" },
-     { ATA_M88SX6041, 0, 4, MV6XXX, ATA_SA300, "88SX6041" },
-     { ATA_M88SX6081, 0, 8, MV6XXX, ATA_SA300, "88SX6081" },
+    {{ ATA_M88SX5040, 0, 4, MV50XX, ATA_SA150, "88SX5040" },
+     { ATA_M88SX5041, 0, 4, MV50XX, ATA_SA150, "88SX5041" },
+     { ATA_M88SX5080, 0, 8, MV50XX, ATA_SA150, "88SX5080" },
+     { ATA_M88SX5081, 0, 8, MV50XX, ATA_SA150, "88SX5081" },
+     { ATA_M88SX6041, 0, 4, MV60XX, ATA_SA300, "88SX6041" },
+     { ATA_M88SX6081, 0, 8, MV60XX, ATA_SA300, "88SX6081" },
+     { ATA_M88SX6101, 0, 1, MV61XX, ATA_UDMA6, "88SX6101" },
+     { ATA_M88SX6145, 0, 2, MV61XX, ATA_UDMA6, "88SX6145" },
      { 0, 0, 0, 0, 0, 0}};
     char buffer[64];
 
@@ -2325,12 +2331,62 @@
 	    idx->text, ata_mode2str(idx->max_dma));
     device_set_desc_copy(dev, buffer);
     ctlr->chip = idx;
-    ctlr->chipinit = ata_marvell_chipinit;
+    switch (ctlr->chip->cfg2) {
+    case MV50XX:
+    case MV60XX:
+	ctlr->chipinit = ata_marvell_edma_chipinit;
+	break;
+    case MV61XX:
+	ctlr->chipinit = ata_marvell_pata_chipinit;
+	break;
+    }
+    return 0;
+}
+
+static int
+ata_marvell_pata_chipinit(device_t dev)
+{
+    struct ata_pci_controller *ctlr = device_get_softc(dev);
+
+    if (ata_setup_interrupt(dev))
+	return ENXIO;
+
+    ctlr->allocate = ata_marvell_pata_allocate;
+    ctlr->setmode = ata_marvell_pata_setmode;
+    ctlr->channels = ctlr->chip->cfg1;
+    return 0;
+}
+
+static int
+ata_marvell_pata_allocate(device_t dev)
+{
+    struct ata_channel *ch = device_get_softc(dev);
+ 
+    /* setup the usual register normal pci style */
+    if (ata_pci_allocate(dev))
+	return ENXIO;
+ 
+    /* dont use 32 bit PIO transfers */
+	ch->flags |= ATA_USE_16BIT;
+
     return 0;
 }
 
+static void
+ata_marvell_pata_setmode(device_t dev, int mode)
+{
+    device_t gparent = GRANDPARENT(dev);
+    struct ata_pci_controller *ctlr = device_get_softc(gparent);
+    struct ata_device *atadev = device_get_softc(dev);
+
+    mode = ata_limit_mode(dev, mode, ctlr->chip->max_dma);
+    mode = ata_check_80pin(dev, mode);
+    if (!ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode))
+	atadev->mode = mode;
+}
+
 static int
-ata_marvell_chipinit(device_t dev)
+ata_marvell_edma_chipinit(device_t dev)
 {
     struct ata_pci_controller *ctlr = device_get_softc(dev);
 
@@ -2349,9 +2405,9 @@
     /* mask all PCI interrupts */
     ATA_OUTL(ctlr->r_res1, 0x01d5c, 0x00000000);
 
-    ctlr->allocate = ata_marvell_allocate;
-    ctlr->reset = ata_marvell_reset;
-    ctlr->dmainit = ata_marvell_dmainit;
+    ctlr->allocate = ata_marvell_edma_allocate;
+    ctlr->reset = ata_marvell_edma_reset;
+    ctlr->dmainit = ata_marvell_edma_dmainit;
     ctlr->setmode = ata_sata_setmode;
     ctlr->channels = ctlr->chip->cfg1;
 
@@ -2377,7 +2433,7 @@
 }
 
 static int
-ata_marvell_allocate(device_t dev)
+ata_marvell_edma_allocate(device_t dev)
 {
     struct ata_pci_controller *ctlr = device_get_softc(device_get_parent(dev));
     struct ata_channel *ch = device_get_softc(dev);
@@ -2399,7 +2455,7 @@
 
     /* set SATA resources */
     switch (ctlr->chip->cfg2) {
-    case MV5XXX:
+    case MV50XX:
 	ch->r_io[ATA_SSTATUS].res = ctlr->r_res1;
 	ch->r_io[ATA_SSTATUS].offset =  0x00100 + ATA_MV_HOST_BASE(ch);
 	ch->r_io[ATA_SERROR].res = ctlr->r_res1;
@@ -2407,7 +2463,7 @@
 	ch->r_io[ATA_SCONTROL].res = ctlr->r_res1;
 	ch->r_io[ATA_SCONTROL].offset = 0x00108 + ATA_MV_HOST_BASE(ch);
 	break;
-    case MV6XXX:
+    case MV60XX:
 	ch->r_io[ATA_SSTATUS].res = ctlr->r_res1;
 	ch->r_io[ATA_SSTATUS].offset =  0x02300 + ATA_MV_EDMA_BASE(ch);
 	ch->r_io[ATA_SERROR].res = ctlr->r_res1;
@@ -2422,9 +2478,9 @@
     ch->flags |= ATA_NO_SLAVE;
     ch->flags |= ATA_USE_16BIT; /* XXX SOS needed ? */
     ata_generic_hw(dev);
-    ch->hw.begin_transaction = ata_marvell_begin_transaction;
-    ch->hw.end_transaction = ata_marvell_end_transaction;
-    ch->hw.status = ata_marvell_status;
+    ch->hw.begin_transaction = ata_marvell_edma_begin_transaction;
+    ch->hw.end_transaction = ata_marvell_edma_end_transaction;
+    ch->hw.status = ata_marvell_edma_status;
 
     /* disable the EDMA machinery */
     ATA_OUTL(ctlr->r_res1, 0x02028 + ATA_MV_EDMA_BASE(ch), 0x00000002);
@@ -2467,7 +2523,7 @@
 }
 
 static int
-ata_marvell_status(device_t dev)
+ata_marvell_edma_status(device_t dev)
 {
     struct ata_pci_controller *ctlr = device_get_softc(device_get_parent(dev));
     struct ata_channel *ch = device_get_softc(dev);
@@ -2521,7 +2577,7 @@
 
 /* must be called with ATA channel locked and state_mtx held */
 static int
-ata_marvell_begin_transaction(struct ata_request *request)
+ata_marvell_edma_begin_transaction(struct ata_request *request)
 {
     struct ata_pci_controller *ctlr=device_get_softc(GRANDPARENT(request->dev));
     struct ata_channel *ch = device_get_softc(device_get_parent(request->dev));
@@ -2613,7 +2669,7 @@
 
 /* must be called with ATA channel locked and state_mtx held */
 static int
-ata_marvell_end_transaction(struct ata_request *request)
+ata_marvell_edma_end_transaction(struct ata_request *request)
 {
     struct ata_pci_controller *ctlr=device_get_softc(GRANDPARENT(request->dev));
     struct ata_channel *ch = device_get_softc(device_get_parent(request->dev));
@@ -2667,7 +2723,7 @@
 }
 
 static void
-ata_marvell_reset(device_t dev)
+ata_marvell_edma_reset(device_t dev)
 {
     struct ata_pci_controller *ctlr = device_get_softc(device_get_parent(dev));
     struct ata_channel *ch = device_get_softc(dev);
@@ -2694,7 +2750,8 @@
 }
 
 static void
-ata_marvell_dmasetprd(void *xsc, bus_dma_segment_t *segs, int nsegs, int error)
+ata_marvell_edma_dmasetprd(void *xsc, bus_dma_segment_t *segs, int nsegs,
+			   int error)
 {
     struct ata_dmasetprd_args *args = xsc;
     struct ata_marvell_dma_prdentry *prd = args->dmatab;
@@ -2712,14 +2769,14 @@
 }
 
 static void
-ata_marvell_dmainit(device_t dev)
+ata_marvell_edma_dmainit(device_t dev)
 {
     struct ata_channel *ch = device_get_softc(dev);
 
     ata_dmainit(dev);
     if (ch->dma) {
 	/* note start and stop are not used here */
-	ch->dma->setprd = ata_marvell_dmasetprd;
+	ch->dma->setprd = ata_marvell_edma_dmasetprd;
     }
 }
 

==== //depot/projects/linuxolator/src/sys/dev/ata/ata-pci.h#3 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2003 - 2006 Søren Schmidt <sos@FreeBSD.org>
+ * Copyright (c) 2003 - 2007 Søren Schmidt <sos@FreeBSD.org>
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,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/dev/ata/ata-pci.h,v 1.71 2006/09/11 19:48:30 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-pci.h,v 1.73 2007/01/04 16:09:11 sos Exp $
  */
 
 /* structure holding chipset config info */
@@ -179,6 +179,7 @@
 #define ATA_JMB363              0x2363197b
 #define ATA_JMB365              0x2365197b
 #define ATA_JMB366              0x2366197b
+#define ATA_JMB368              0x2368197b
 
 #define ATA_MARVELL_ID          0x11ab
 #define ATA_M88SX5040           0x504011ab
@@ -187,6 +188,8 @@
 #define ATA_M88SX5081           0x508111ab
 #define ATA_M88SX6041           0x604111ab
 #define ATA_M88SX6081           0x608111ab
+#define ATA_M88SX6101           0x610111ab
+#define ATA_M88SX6145           0x614511ab
 
 #define ATA_MICRON_ID           0x1042
 #define ATA_MICRON_RZ1000       0x10001042
@@ -364,8 +367,9 @@
 #define HPT374          3
 #define HPTOLD          0x01
 
-#define MV5XXX          5
-#define MV6XXX          6
+#define MV50XX          50
+#define MV60XX          60
+#define MV61XX          61
 
 #define PROLD           0
 #define PRNEW           1

==== //depot/projects/linuxolator/src/sys/dev/bktr/bktr_i2c.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bktr/bktr_i2c.c,v 1.28 2006/09/11 20:52:40 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bktr/bktr_i2c.c,v 1.29 2006/12/31 19:42:47 jmg Exp $");
 
 /*
  * I2C support for the bti2c chipset.
@@ -50,7 +50,6 @@
 #endif
 
 #if (__FreeBSD_version < 500000)
-#include <machine/clock.h>              /* for DELAY */
 #include <pci/pcivar.h>
 #include <pci/pcireg.h>
 #else
@@ -69,8 +68,6 @@
 #include <dev/smbus/smbconf.h>
 #include <dev/iicbus/iiconf.h>
 
-#define I2C_DELAY	40
-
 /* Compilation is void if BKTR_USE_FREEBSD_SMBUS is not
  * defined. This allows bktr owners to have smbus active for there

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



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