From owner-p4-projects@FreeBSD.ORG Sun Jan 7 21:06:48 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00F6A16A492; Sun, 7 Jan 2007 21:06:48 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CF48E16A47B for ; Sun, 7 Jan 2007 21:06:47 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id BD8D113C46A for ; Sun, 7 Jan 2007 21:06:47 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l07L6l2U040734 for ; Sun, 7 Jan 2007 21:06:47 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l07L6kWa040731 for perforce@freebsd.org; Sun, 7 Jan 2007 21:06:46 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sun, 7 Jan 2007 21:06:46 GMT Message-Id: <200701072106.l07L6kWa040731@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 112664 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Jan 2007 21:06:48 -0000 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 -__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 #include #include +#include +#include #include #include #include @@ -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 -__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 #include @@ -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 -__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 #include @@ -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 -__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 #include @@ -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 -__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 #include @@ -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 -__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 #include @@ -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 + * Copyright (c) 1998 - 2007 Søren Schmidt * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,7 +25,7 @@ */ #include -__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 @@ -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 + * Copyright (c) 2003 - 2007 Søren Schmidt * 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 -__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 /* for DELAY */ #include #include #else @@ -69,8 +68,6 @@ #include #include -#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) <<<