PERFORCE change 112664 for review
Roman Divacky
rdivacky at FreeBSD.org
Sun Jan 7 13:06:48 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=112664
Change 112664 by rdivacky at 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 at FreeBSD.org>
+ * Copyright (c) 1998 - 2007 Søren Schmidt <sos at 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 at FreeBSD.org>
+ * Copyright (c) 2003 - 2007 Søren Schmidt <sos at 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) <<<
More information about the p4-projects
mailing list