svn commit: r193227 - in projects/pnet/sys: . amd64/amd64 arm/arm
arm/xscale/ixp425 boot/common boot/uboot/lib
cddl/compat/opensolaris/kern
cddl/contrib/opensolaris/uts/common/fs cddl/contrib/opens...
Robert Watson
rwatson at FreeBSD.org
Mon Jun 1 12:29:30 UTC 2009
Author: rwatson
Date: Mon Jun 1 12:29:27 2009
New Revision: 193227
URL: http://svn.freebsd.org/changeset/base/193227
Log:
Merge r193031-r193225 from head to projects/pnet following netisr2 merge.
Added:
projects/pnet/sys/i386/include/xen/xen_clock_util.h
- copied unchanged from r193225, head/sys/i386/include/xen/xen_clock_util.h
projects/pnet/sys/i386/xen/xen_clock_util.c
- copied unchanged from r193225, head/sys/i386/xen/xen_clock_util.c
projects/pnet/sys/powerpc/cpufreq/
- copied from r193225, head/sys/powerpc/cpufreq/
projects/pnet/sys/powerpc/ofw/ofw_cpu.c
- copied unchanged from r193225, head/sys/powerpc/ofw/ofw_cpu.c
projects/pnet/sys/powerpc/powermac/vcoregpio.c
- copied unchanged from r193225, head/sys/powerpc/powermac/vcoregpio.c
Modified:
projects/pnet/sys/ (props changed)
projects/pnet/sys/amd64/amd64/dump_machdep.c
projects/pnet/sys/amd64/amd64/minidump_machdep.c
projects/pnet/sys/arm/arm/dump_machdep.c
projects/pnet/sys/arm/xscale/ixp425/if_npe.c
projects/pnet/sys/arm/xscale/ixp425/ixp425_qmgr.c
projects/pnet/sys/arm/xscale/ixp425/ixp425_qmgr.h
projects/pnet/sys/boot/common/boot.c
projects/pnet/sys/boot/uboot/lib/net.c
projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris.c
projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c
projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
projects/pnet/sys/compat/linux/linux_misc.c
projects/pnet/sys/compat/linux/linux_socket.c
projects/pnet/sys/compat/ndis/subr_usbd.c
projects/pnet/sys/compat/svr4/svr4_stat.c
projects/pnet/sys/conf/NOTES
projects/pnet/sys/conf/files.i386
projects/pnet/sys/conf/files.powerpc
projects/pnet/sys/conf/options
projects/pnet/sys/ddb/db_textdump.c
projects/pnet/sys/dev/ata/ (props changed)
projects/pnet/sys/dev/ata/ata-usb.c
projects/pnet/sys/dev/ata/chipsets/ata-intel.c
projects/pnet/sys/dev/bge/if_bge.c
projects/pnet/sys/dev/bwi/if_bwi.c
projects/pnet/sys/dev/dc/if_dc.c
projects/pnet/sys/dev/e1000/if_em.c
projects/pnet/sys/dev/firewire/firewire.c
projects/pnet/sys/dev/firewire/if_fwe.c
projects/pnet/sys/dev/firewire/if_fwip.c
projects/pnet/sys/dev/fxp/if_fxp.c
projects/pnet/sys/dev/if_ndis/if_ndisvar.h
projects/pnet/sys/dev/iwn/if_iwn.c
projects/pnet/sys/dev/ixgb/if_ixgb.c
projects/pnet/sys/dev/lmc/if_lmc.c
projects/pnet/sys/dev/lmc/if_lmc.h
projects/pnet/sys/dev/mge/if_mge.c
projects/pnet/sys/dev/nfe/if_nfe.c
projects/pnet/sys/dev/nge/if_nge.c
projects/pnet/sys/dev/ral/rt2560.c
projects/pnet/sys/dev/re/if_re.c
projects/pnet/sys/dev/sf/if_sf.c
projects/pnet/sys/dev/sis/if_sis.c
projects/pnet/sys/dev/smc/if_smc.c
projects/pnet/sys/dev/sound/usb/uaudio.c
projects/pnet/sys/dev/ste/if_ste.c
projects/pnet/sys/dev/stge/if_stge.c
projects/pnet/sys/dev/syscons/daemon/daemon_saver.c
projects/pnet/sys/dev/syscons/scterm-teken.c
projects/pnet/sys/dev/syscons/teken/sequences
projects/pnet/sys/dev/syscons/teken/teken.c
projects/pnet/sys/dev/syscons/teken/teken.h
projects/pnet/sys/dev/syscons/teken/teken_subr_compat.h
projects/pnet/sys/dev/tsec/if_tsec.c
projects/pnet/sys/dev/usb/controller/at91dci.c
projects/pnet/sys/dev/usb/controller/at91dci.h
projects/pnet/sys/dev/usb/controller/atmegadci.c
projects/pnet/sys/dev/usb/controller/atmegadci.h
projects/pnet/sys/dev/usb/controller/avr32dci.c
projects/pnet/sys/dev/usb/controller/avr32dci.h
projects/pnet/sys/dev/usb/controller/ehci.c
projects/pnet/sys/dev/usb/controller/ehci.h
projects/pnet/sys/dev/usb/controller/musb_otg.c
projects/pnet/sys/dev/usb/controller/musb_otg.h
projects/pnet/sys/dev/usb/controller/ohci.c
projects/pnet/sys/dev/usb/controller/ohci.h
projects/pnet/sys/dev/usb/controller/uhci.c
projects/pnet/sys/dev/usb/controller/uhci.h
projects/pnet/sys/dev/usb/controller/usb_controller.c
projects/pnet/sys/dev/usb/controller/uss820dci.c
projects/pnet/sys/dev/usb/controller/uss820dci.h
projects/pnet/sys/dev/usb/input/uhid.c
projects/pnet/sys/dev/usb/input/ukbd.c
projects/pnet/sys/dev/usb/input/ums.c
projects/pnet/sys/dev/usb/misc/udbp.c
projects/pnet/sys/dev/usb/misc/ufm.c
projects/pnet/sys/dev/usb/net/if_aue.c
projects/pnet/sys/dev/usb/net/if_axe.c
projects/pnet/sys/dev/usb/net/if_cdce.c
projects/pnet/sys/dev/usb/net/if_cue.c
projects/pnet/sys/dev/usb/net/if_kue.c
projects/pnet/sys/dev/usb/net/if_rue.c
projects/pnet/sys/dev/usb/net/if_udav.c
projects/pnet/sys/dev/usb/net/usb_ethernet.c
projects/pnet/sys/dev/usb/net/usb_ethernet.h
projects/pnet/sys/dev/usb/serial/u3g.c
projects/pnet/sys/dev/usb/serial/uark.c
projects/pnet/sys/dev/usb/serial/ubsa.c
projects/pnet/sys/dev/usb/serial/ubser.c
projects/pnet/sys/dev/usb/serial/uchcom.c
projects/pnet/sys/dev/usb/serial/ucycom.c
projects/pnet/sys/dev/usb/serial/ufoma.c
projects/pnet/sys/dev/usb/serial/uftdi.c
projects/pnet/sys/dev/usb/serial/ugensa.c
projects/pnet/sys/dev/usb/serial/uipaq.c
projects/pnet/sys/dev/usb/serial/ulpt.c
projects/pnet/sys/dev/usb/serial/umct.c
projects/pnet/sys/dev/usb/serial/umodem.c
projects/pnet/sys/dev/usb/serial/umoscom.c
projects/pnet/sys/dev/usb/serial/uplcom.c
projects/pnet/sys/dev/usb/serial/usb_serial.c
projects/pnet/sys/dev/usb/serial/uslcom.c
projects/pnet/sys/dev/usb/serial/uvisor.c
projects/pnet/sys/dev/usb/serial/uvscom.c
projects/pnet/sys/dev/usb/storage/umass.c
projects/pnet/sys/dev/usb/storage/urio.c
projects/pnet/sys/dev/usb/storage/ustorage_fs.c
projects/pnet/sys/dev/usb/template/usb_template.c
projects/pnet/sys/dev/usb/usb_bus.h
projects/pnet/sys/dev/usb/usb_busdma.c
projects/pnet/sys/dev/usb/usb_busdma.h
projects/pnet/sys/dev/usb/usb_compat_linux.c
projects/pnet/sys/dev/usb/usb_compat_linux.h
projects/pnet/sys/dev/usb/usb_controller.h
projects/pnet/sys/dev/usb/usb_core.h
projects/pnet/sys/dev/usb/usb_dev.c
projects/pnet/sys/dev/usb/usb_dev.h
projects/pnet/sys/dev/usb/usb_device.c
projects/pnet/sys/dev/usb/usb_device.h
projects/pnet/sys/dev/usb/usb_dynamic.c
projects/pnet/sys/dev/usb/usb_dynamic.h
projects/pnet/sys/dev/usb/usb_error.c
projects/pnet/sys/dev/usb/usb_generic.c
projects/pnet/sys/dev/usb/usb_handle_request.c
projects/pnet/sys/dev/usb/usb_hid.c
projects/pnet/sys/dev/usb/usb_hid.h
projects/pnet/sys/dev/usb/usb_hub.c
projects/pnet/sys/dev/usb/usb_hub.h
projects/pnet/sys/dev/usb/usb_lookup.c
projects/pnet/sys/dev/usb/usb_lookup.h
projects/pnet/sys/dev/usb/usb_mbuf.c
projects/pnet/sys/dev/usb/usb_mbuf.h
projects/pnet/sys/dev/usb/usb_msctest.c
projects/pnet/sys/dev/usb/usb_msctest.h
projects/pnet/sys/dev/usb/usb_process.c
projects/pnet/sys/dev/usb/usb_process.h
projects/pnet/sys/dev/usb/usb_request.c
projects/pnet/sys/dev/usb/usb_request.h
projects/pnet/sys/dev/usb/usb_transfer.c
projects/pnet/sys/dev/usb/usb_transfer.h
projects/pnet/sys/dev/usb/usb_util.c
projects/pnet/sys/dev/usb/usbdevs
projects/pnet/sys/dev/usb/wlan/if_rum.c
projects/pnet/sys/dev/usb/wlan/if_uath.c
projects/pnet/sys/dev/usb/wlan/if_upgt.c
projects/pnet/sys/dev/usb/wlan/if_ural.c
projects/pnet/sys/dev/usb/wlan/if_urtw.c
projects/pnet/sys/dev/usb/wlan/if_urtwvar.h
projects/pnet/sys/dev/usb/wlan/if_zyd.c
projects/pnet/sys/dev/vge/if_vge.c
projects/pnet/sys/dev/vr/if_vr.c
projects/pnet/sys/dev/xen/netfront/ (props changed)
projects/pnet/sys/dev/xen/xenpci/ (props changed)
projects/pnet/sys/dev/xl/if_xl.c
projects/pnet/sys/fs/cd9660/cd9660_rrip.c
projects/pnet/sys/fs/nfs/nfsport.h
projects/pnet/sys/fs/nfsclient/nfs_clbio.c
projects/pnet/sys/fs/nfsclient/nfs_clnode.c
projects/pnet/sys/fs/nfsclient/nfs_clstate.c
projects/pnet/sys/fs/nfsclient/nfs_clvfsops.c
projects/pnet/sys/fs/nfsclient/nfs_clvnops.c
projects/pnet/sys/fs/nfsserver/nfs_nfsdport.c
projects/pnet/sys/fs/nullfs/null_subr.c
projects/pnet/sys/fs/nullfs/null_vnops.c
projects/pnet/sys/fs/pseudofs/pseudofs_vnops.c
projects/pnet/sys/geom/label/g_label.c
projects/pnet/sys/geom/vinum/geom_vinum_create.c
projects/pnet/sys/geom/vinum/geom_vinum_drive.c
projects/pnet/sys/i386/i386/dump_machdep.c
projects/pnet/sys/i386/i386/minidump_machdep.c
projects/pnet/sys/i386/ibcs2/ibcs2_socksys.c
projects/pnet/sys/i386/include/apicvar.h
projects/pnet/sys/i386/xen/clock.c
projects/pnet/sys/i386/xen/mp_machdep.c
projects/pnet/sys/i386/xen/xen_rtc.c
projects/pnet/sys/ia64/ia64/dump_machdep.c
projects/pnet/sys/kern/kern_cpu.c
projects/pnet/sys/kern/kern_jail.c
projects/pnet/sys/kern/kern_mib.c
projects/pnet/sys/kern/kern_mutex.c
projects/pnet/sys/kern/kern_prot.c
projects/pnet/sys/kern/kern_rmlock.c
projects/pnet/sys/kern/kern_rwlock.c
projects/pnet/sys/kern/kern_shutdown.c
projects/pnet/sys/kern/kern_vimage.c
projects/pnet/sys/kern/kern_xxx.c
projects/pnet/sys/kern/uipc_syscalls.c
projects/pnet/sys/kern/vfs_bio.c
projects/pnet/sys/kern/vfs_cache.c
projects/pnet/sys/kern/vfs_default.c
projects/pnet/sys/kern/vfs_mount.c
projects/pnet/sys/kern/vfs_subr.c
projects/pnet/sys/kern/vnode_if.src
projects/pnet/sys/kgssapi/gsstest.c
projects/pnet/sys/modules/Makefile
projects/pnet/sys/modules/cpufreq/Makefile
projects/pnet/sys/modules/dtrace/dtnfsclient/ (props changed)
projects/pnet/sys/modules/geom/geom_part/geom_part_ebr/Makefile
projects/pnet/sys/modules/ip6_mroute_mod/ (props changed)
projects/pnet/sys/modules/ipmi/ipmi_linux/ (props changed)
projects/pnet/sys/modules/usb/Makefile
projects/pnet/sys/modules/zfs/Makefile
projects/pnet/sys/net/if.c
projects/pnet/sys/net/if.h
projects/pnet/sys/net/if_var.h
projects/pnet/sys/net80211/ieee80211_dfs.c
projects/pnet/sys/net80211/ieee80211_freebsd.c
projects/pnet/sys/net80211/ieee80211_ht.c
projects/pnet/sys/net80211/ieee80211_phy.h
projects/pnet/sys/net80211/ieee80211_superg.c
projects/pnet/sys/net80211/ieee80211_tdma.c
projects/pnet/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
projects/pnet/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c
projects/pnet/sys/netinet/in.h
projects/pnet/sys/netinet/in_pcb.c
projects/pnet/sys/netinet/in_pcb.h
projects/pnet/sys/netinet/ip_output.c
projects/pnet/sys/netinet/raw_ip.c
projects/pnet/sys/netinet/sctp_pcb.c
projects/pnet/sys/netinet/sctp_sysctl.c
projects/pnet/sys/netinet/sctp_sysctl.h
projects/pnet/sys/netinet/sctp_uio.h
projects/pnet/sys/netinet/sctputil.c
projects/pnet/sys/netinet6/icmp6.c
projects/pnet/sys/netinet6/in6.h
projects/pnet/sys/netinet6/in6_ifattach.c
projects/pnet/sys/netinet6/in6_pcb.c
projects/pnet/sys/netinet6/ip6_output.c
projects/pnet/sys/nfsclient/bootp_subr.c
projects/pnet/sys/nfsclient/nfs_bio.c
projects/pnet/sys/nfsclient/nfs_vfsops.c
projects/pnet/sys/nfsserver/nfs_srvkrpc.c
projects/pnet/sys/nlm/nlm_advlock.c
projects/pnet/sys/pci/if_rl.c
projects/pnet/sys/powerpc/aim/machdep.c
projects/pnet/sys/powerpc/booke/machdep.c
projects/pnet/sys/powerpc/conf/GENERIC
projects/pnet/sys/powerpc/conf/NOTES
projects/pnet/sys/powerpc/mpc85xx/atpic.c
projects/pnet/sys/powerpc/powermac/pmu.c
projects/pnet/sys/powerpc/powerpc/cpu.c
projects/pnet/sys/rpc/authunix_prot.c
projects/pnet/sys/rpc/xdr.h
projects/pnet/sys/sparc64/sparc64/dump_machdep.c
projects/pnet/sys/sun4v/sun4v/dump_machdep.c
projects/pnet/sys/sys/buf.h
projects/pnet/sys/sys/cpu.h
projects/pnet/sys/sys/jail.h
projects/pnet/sys/sys/kernel.h
projects/pnet/sys/sys/mount.h
projects/pnet/sys/sys/param.h
projects/pnet/sys/sys/priv.h
projects/pnet/sys/sys/sockio.h
projects/pnet/sys/sys/syscallsubr.h
projects/pnet/sys/sys/vimage.h
projects/pnet/sys/sys/vnode.h
projects/pnet/sys/vm/vm_page.c
projects/pnet/sys/vm/vm_page.h
projects/pnet/sys/xen/evtchn/evtchn.c
Modified: projects/pnet/sys/amd64/amd64/dump_machdep.c
==============================================================================
--- projects/pnet/sys/amd64/amd64/dump_machdep.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/amd64/amd64/dump_machdep.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$");
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/kerneldump.h>
-#include <sys/vimage.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/elf.h>
Modified: projects/pnet/sys/amd64/amd64/minidump_machdep.c
==============================================================================
--- projects/pnet/sys/amd64/amd64/minidump_machdep.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/amd64/amd64/minidump_machdep.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -34,7 +34,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/kerneldump.h>
#include <sys/msgbuf.h>
-#include <sys/vimage.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/atomic.h>
Modified: projects/pnet/sys/arm/arm/dump_machdep.c
==============================================================================
--- projects/pnet/sys/arm/arm/dump_machdep.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/arm/arm/dump_machdep.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/kerneldump.h>
-#include <sys/vimage.h>
#include <vm/vm.h>
#include <vm/pmap.h>
#include <machine/elf.h>
Modified: projects/pnet/sys/arm/xscale/ixp425/if_npe.c
==============================================================================
--- projects/pnet/sys/arm/xscale/ixp425/if_npe.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/arm/xscale/ixp425/if_npe.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -229,7 +229,7 @@ static void npe_getmac(struct npe_softc
static void npe_txdone(int qid, void *arg);
static int npe_rxbuf_init(struct npe_softc *, struct npebuf *,
struct mbuf *);
-static void npe_rxdone(int qid, void *arg);
+static int npe_rxdone(int qid, void *arg);
static void npeinit(void *);
static void npestart_locked(struct ifnet *);
static void npestart(struct ifnet *);
@@ -777,7 +777,7 @@ npe_activate(device_t dev)
*/
sc->rx_qid = npeconfig[sc->sc_npeid].rx_qid;
ixpqmgr_qconfig(sc->rx_qid, npe_rxbuf, 0, 1,
- IX_QMGR_Q_SOURCE_ID_NOT_E, npe_rxdone, sc);
+ IX_QMGR_Q_SOURCE_ID_NOT_E, (qconfig_hand_t *)npe_rxdone, sc);
sc->rx_freeqid = npeconfig[sc->sc_npeid].rx_freeqid;
ixpqmgr_qconfig(sc->rx_freeqid, npe_rxbuf, 0, npe_rxbuf/2, 0, NULL, sc);
/*
@@ -1091,7 +1091,7 @@ npe_rxbuf_init(struct npe_softc *sc, str
* from the hardware queue and pass the frames up the
* stack. Pass the rx buffers to the free list.
*/
-static void
+static int
npe_rxdone(int qid, void *arg)
{
#define P2V(a, dma) \
@@ -1099,6 +1099,7 @@ npe_rxdone(int qid, void *arg)
struct npe_softc *sc = arg;
struct npedma *dma = &sc->rxdma;
uint32_t entry;
+ int rx_npkts = 0;
while (ixpqmgr_qread(qid, &entry) == 0) {
struct npebuf *npe = P2V(NPE_QM_Q_ADDR(entry), dma);
@@ -1132,6 +1133,7 @@ npe_rxdone(int qid, void *arg)
ifp->if_ipackets++;
ifp->if_input(ifp, mrx);
+ rx_npkts++;
} else {
/* discard frame and re-use mbuf */
m = npe->ix_m;
@@ -1143,19 +1145,22 @@ npe_rxdone(int qid, void *arg)
/* XXX should not happen */
}
}
+ return rx_npkts;
#undef P2V
}
#ifdef DEVICE_POLLING
-static void
+static int
npe_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
{
struct npe_softc *sc = ifp->if_softc;
+ int rx_npkts = 0;
if (ifp->if_drv_flags & IFF_DRV_RUNNING) {
- npe_rxdone(sc->rx_qid, sc);
+ rx_npkts = npe_rxdone(sc->rx_qid, sc);
npe_txdone(sc->tx_doneqid, sc); /* XXX polls both NPE's */
}
+ return rx_npkts;
}
#endif /* DEVICE_POLLING */
Modified: projects/pnet/sys/arm/xscale/ixp425/ixp425_qmgr.c
==============================================================================
--- projects/pnet/sys/arm/xscale/ixp425/ixp425_qmgr.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/arm/xscale/ixp425/ixp425_qmgr.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -338,7 +338,7 @@ ixpqmgr_detach(device_t dev)
int
ixpqmgr_qconfig(int qId, int qEntries, int ne, int nf, int srcSel,
- void (*cb)(int, void *), void *cbarg)
+ qconfig_hand_t *cb, void *cbarg)
{
struct ixpqmgr_softc *sc = ixpqmgr_sc;
struct qmgrInfo *qi = &sc->qinfo[qId];
Modified: projects/pnet/sys/arm/xscale/ixp425/ixp425_qmgr.h
==============================================================================
--- projects/pnet/sys/arm/xscale/ixp425/ixp425_qmgr.h Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/arm/xscale/ixp425/ixp425_qmgr.h Mon Jun 1 12:29:27 2009 (r193227)
@@ -229,8 +229,10 @@
#define IX_QMGR_ENTRY2_OFFSET 1
#define IX_QMGR_ENTRY4_OFFSET 3
+typedef void qconfig_hand_t(int, void *);
+
int ixpqmgr_qconfig(int qId, int qSizeInWords, int ne, int nf, int srcSel,
- void (*cb)(int, void *), void *cbarg);
+ qconfig_hand_t *cb, void *cbarg);
int ixpqmgr_qwrite(int qId, uint32_t entry);
int ixpqmgr_qread(int qId, uint32_t *entry);
int ixpqmgr_qreadm(int qId, uint32_t n, uint32_t *p);
Modified: projects/pnet/sys/boot/common/boot.c
==============================================================================
--- projects/pnet/sys/boot/common/boot.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/boot/common/boot.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -287,7 +287,7 @@ getbootfile(int try)
int
getrootmount(char *rootdev)
{
- char lbuf[128], *cp, *ep, *dev, *fstyp;
+ char lbuf[128], *cp, *ep, *dev, *fstyp, *options;
int fd, error;
if (getenv("vfs.root.mountfrom") != NULL)
@@ -331,11 +331,30 @@ getrootmount(char *rootdev)
*cp = 0;
fstyp = strdup(ep);
- /* build the final result and save it */
+ /* skip whitespace up to mount options */
+ cp += 1;
+ while ((*cp != 0) && isspace(*cp))
+ cp++;
+ if (*cp == 0) /* misformatted */
+ continue;
+ /* skip text to end of mount options and delimit */
+ ep = cp;
+ while ((*cp != 0) && !isspace(*cp))
+ cp++;
+ *cp = 0;
+ options = strdup(ep);
+ /* Build the <fstype>:<device> and save it in vfs.root.mountfrom */
sprintf(lbuf, "%s:%s", fstyp, dev);
free(dev);
free(fstyp);
setenv("vfs.root.mountfrom", lbuf, 0);
+
+ /* Don't override vfs.root.mountfrom.options if it is already set */
+ if (getenv("vfs.root.mountfrom.options") == NULL) {
+ /* save mount options */
+ setenv("vfs.root.mountfrom.options", options, 0);
+ }
+ free(options);
error = 0;
break;
}
Modified: projects/pnet/sys/boot/uboot/lib/net.c
==============================================================================
--- projects/pnet/sys/boot/uboot/lib/net.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/boot/uboot/lib/net.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -46,12 +46,6 @@ __FBSDID("$FreeBSD$");
#include "glue.h"
#include "libuboot.h"
-#define NETIF_DEBUG
-#define NETIF_VERBOSE_DEBUG
-#undef NETIF_DEBUG
-#undef NETIF_VERBOSE_DEBUG
-
-
static int net_probe(struct netif *, void *);
static int net_match(struct netif *, void *);
static void net_init(struct iodesc *, void *);
@@ -138,7 +132,7 @@ net_put(struct iodesc *desc, void *pkt,
#if defined(NETIF_DEBUG)
struct ether_header *eh;
- printf("net_put: desc 0x%x, pkt 0x%x, len %d\n", desc, pkt, len);
+ printf("net_put: desc %p, pkt %p, len %d\n", desc, pkt, len);
eh = pkt;
printf("dst: %s ", ether_sprintf(eh->ether_dhost));
printf("src: %s ", ether_sprintf(eh->ether_shost));
@@ -175,7 +169,7 @@ net_get(struct iodesc *desc, void *pkt,
int err, rlen;
#if defined(NETIF_DEBUG)
- printf("net_get: pkt %x, len %d, timeout %d\n", pkt, len, timeout);
+ printf("net_get: pkt %p, len %d, timeout %d\n", pkt, len, timeout);
#endif
t = getsecs();
do {
Modified: projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris.c
==============================================================================
--- projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -31,11 +31,11 @@
#include <sys/conf.h>
#include <sys/cpuvar.h>
#include <sys/errno.h>
+#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/misc.h>
#include <sys/module.h>
#include <sys/mutex.h>
-#include <sys/vimage.h>
cpu_core_t cpu_core[MAXCPU];
kmutex_t cpu_lock;
@@ -83,7 +83,7 @@ opensolaris_modevent(module_t mod __unus
switch (type) {
case MOD_LOAD:
- utsname.nodename = G_hostname;
+ utsname.nodename = prison0.pr_host;
break;
case MOD_UNLOAD:
Modified: projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c
==============================================================================
--- projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_misc.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -28,6 +28,7 @@
__FBSDID("$FreeBSD$");
#include <sys/param.h>
+#include <sys/jail.h>
#include <sys/kernel.h>
#include <sys/libkern.h>
#include <sys/limits.h>
@@ -57,7 +58,7 @@ ddi_strtoul(const char *str, char **nptr
{
if (str == hw_serial) {
- *result = hostid;
+ *result = prison0.pr_hostid;
return (0);
}
Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -564,8 +564,13 @@ gfs_file_inactive(vnode_t *vp)
if (fp->gfs_parent == NULL || (vp->v_flag & V_XATTRDIR))
goto found;
- dp = fp->gfs_parent->v_data;
-
+ /*
+ * XXX cope with a FreeBSD-specific race wherein the parent's
+ * snapshot data can be freed before the parent is
+ */
+ if ((dp = fp->gfs_parent->v_data) == NULL)
+ return (NULL);
+
/*
* First, see if this vnode is cached in the parent.
*/
Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -2392,13 +2392,23 @@ vdev_set_state(vdev_t *vd, boolean_t iso
/*
* Check the vdev configuration to ensure that it's capable of supporting
- * a root pool. Currently, we do not support RAID-Z or partial configuration.
- * In addition, only a single top-level vdev is allowed and none of the leaves
- * can be wholedisks.
+ * a root pool.
+ *
+ * On Solaris, we do not support RAID-Z or partial configuration. In
+ * addition, only a single top-level vdev is allowed and none of the
+ * leaves can be wholedisks.
+ *
+ * For FreeBSD, we can boot from any configuration. There is a
+ * limitation that the boot filesystem must be either uncompressed or
+ * compresses with lzjb compression but I'm not sure how to enforce
+ * that here.
*/
boolean_t
vdev_is_bootable(vdev_t *vd)
{
+#ifdef __FreeBSD_version
+ return (B_TRUE);
+#else
int c;
if (!vd->vdev_ops->vdev_op_leaf) {
@@ -2420,4 +2430,5 @@ vdev_is_bootable(vdev_t *vd)
return (B_FALSE);
}
return (B_TRUE);
+#endif
}
Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -3121,3 +3121,4 @@ static moduledata_t zfs_mod = {
};
DECLARE_MODULE(zfsctrl, zfs_mod, SI_SUB_VFS, SI_ORDER_ANY);
MODULE_DEPEND(zfsctrl, opensolaris, 1, 1, 1);
+MODULE_DEPEND(zfsctrl, krpc, 1, 1, 1);
Modified: projects/pnet/sys/compat/linux/linux_misc.c
==============================================================================
--- projects/pnet/sys/compat/linux/linux_misc.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/compat/linux/linux_misc.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -64,7 +64,6 @@ __FBSDID("$FreeBSD$");
#include <sys/vnode.h>
#include <sys/wait.h>
#include <sys/cpuset.h>
-#include <sys/vimage.h>
#include <security/mac/mac_framework.h>
@@ -715,10 +714,10 @@ linux_times(struct thread *td, struct li
int
linux_newuname(struct thread *td, struct linux_newuname_args *args)
{
- INIT_VPROCG(TD_TO_VPROCG(td));
struct l_new_utsname utsname;
char osname[LINUX_MAX_UTSNAME];
char osrelease[LINUX_MAX_UTSNAME];
+ struct prison *pr;
char *p;
#ifdef DEBUG
@@ -741,9 +740,10 @@ linux_newuname(struct thread *td, struct
}
strlcpy(utsname.machine, linux_platform, LINUX_MAX_UTSNAME);
- mtx_lock(&hostname_mtx);
- strlcpy(utsname.domainname, V_domainname, LINUX_MAX_UTSNAME);
- mtx_unlock(&hostname_mtx);
+ pr = td->td_ucred->cr_prison;
+ mtx_lock(&pr->pr_mtx);
+ strlcpy(utsname.domainname, pr->pr_domain, LINUX_MAX_UTSNAME);
+ mtx_unlock(&pr->pr_mtx);
return (copyout(&utsname, args->buf, sizeof(utsname)));
}
Modified: projects/pnet/sys/compat/linux/linux_socket.c
==============================================================================
--- projects/pnet/sys/compat/linux/linux_socket.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/compat/linux/linux_socket.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -445,8 +445,6 @@ bsd_to_linux_cmsg_type(int cmsg_type)
return (-1);
}
-
-
static int
linux_to_bsd_msghdr(struct msghdr *bhdr, const struct l_msghdr *lhdr)
{
@@ -477,6 +475,24 @@ bsd_to_linux_msghdr(const struct msghdr
}
static int
+linux_set_socket_flags(struct thread *td, int s, int flags)
+{
+ int error;
+
+ if (flags & LINUX_SOCK_NONBLOCK) {
+ error = kern_fcntl(td, s, F_SETFL, O_NONBLOCK);
+ if (error)
+ return (error);
+ }
+ if (flags & LINUX_SOCK_CLOEXEC) {
+ error = kern_fcntl(td, s, F_SETFD, FD_CLOEXEC);
+ if (error)
+ return (error);
+ }
+ return (0);
+}
+
+static int
linux_sendit(struct thread *td, int s, struct msghdr *mp, int flags,
struct mbuf *control, enum uio_seg segflg)
{
@@ -610,21 +626,11 @@ linux_socket(struct thread *td, struct l
if (retval_socket)
return (retval_socket);
- if (socket_flags & LINUX_SOCK_NONBLOCK) {
- retval_socket = kern_fcntl(td, td->td_retval[0],
- F_SETFL, O_NONBLOCK);
- if (retval_socket) {
- (void)kern_close(td, td->td_retval[0]);
- goto out;
- }
- }
- if (socket_flags & LINUX_SOCK_CLOEXEC) {
- retval_socket = kern_fcntl(td, td->td_retval[0],
- F_SETFD, FD_CLOEXEC);
- if (retval_socket) {
- (void)kern_close(td, td->td_retval[0]);
- goto out;
- }
+ retval_socket = linux_set_socket_flags(td, td->td_retval[0],
+ socket_flags);
+ if (retval_socket) {
+ (void)kern_close(td, td->td_retval[0]);
+ goto out;
}
if (bsd_args.type == SOCK_RAW
@@ -878,12 +884,20 @@ linux_socketpair(struct thread *td, stru
int protocol;
int *rsv;
} */ bsd_args;
+ int error, socket_flags;
+ int sv[2];
bsd_args.domain = linux_to_bsd_domain(args->domain);
if (bsd_args.domain != PF_LOCAL)
return (EAFNOSUPPORT);
- bsd_args.type = args->type;
+ socket_flags = args->type & ~LINUX_SOCK_TYPE_MASK;
+ if (socket_flags & ~(LINUX_SOCK_CLOEXEC | LINUX_SOCK_NONBLOCK))
+ return (EINVAL);
+ bsd_args.type = args->type & LINUX_SOCK_TYPE_MASK;
+ if (bsd_args.type < 0 || bsd_args.type > LINUX_SOCK_MAX)
+ return (EINVAL);
+
if (args->protocol != 0 && args->protocol != PF_UNIX)
/*
@@ -896,7 +910,25 @@ linux_socketpair(struct thread *td, stru
else
bsd_args.protocol = 0;
bsd_args.rsv = (int *)PTRIN(args->rsv);
- return (socketpair(td, &bsd_args));
+ error = kern_socketpair(td, bsd_args.domain, bsd_args.type,
+ bsd_args.protocol, sv);
+ if (error)
+ return (error);
+ error = linux_set_socket_flags(td, sv[0], socket_flags);
+ if (error)
+ goto out;
+ error = linux_set_socket_flags(td, sv[1], socket_flags);
+ if (error)
+ goto out;
+
+ error = copyout(sv, bsd_args.rsv, 2 * sizeof(int));
+
+out:
+ if (error) {
+ (void)kern_close(td, sv[0]);
+ (void)kern_close(td, sv[1]);
+ }
+ return (error);
}
struct linux_send_args {
Modified: projects/pnet/sys/compat/ndis/subr_usbd.c
==============================================================================
--- projects/pnet/sys/compat/ndis/subr_usbd.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/compat/ndis/subr_usbd.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -76,8 +76,8 @@ __FBSDID("$FreeBSD$");
#include <dev/if_ndis/if_ndisvar.h>
static driver_object usbd_driver;
-static usb2_callback_t usbd_non_isoc_callback;
-static usb2_callback_t usbd_ctrl_callback;
+static usb_callback_t usbd_non_isoc_callback;
+static usb_callback_t usbd_ctrl_callback;
#define USBD_CTRL_READ_PIPE 0
#define USBD_CTRL_WRITE_PIPE 1
@@ -114,10 +114,10 @@ static int32_t usbd_func_bulkintr(irp
static int32_t usbd_func_vendorclass(irp *);
static int32_t usbd_func_selconf(irp *);
static int32_t usbd_func_abort_pipe(irp *);
-static usb2_error_t usbd_setup_endpoint(irp *, uint8_t,
+static usb_error_t usbd_setup_endpoint(irp *, uint8_t,
struct usb_endpoint_descriptor *);
-static usb2_error_t usbd_setup_endpoint_default(irp *, uint8_t);
-static usb2_error_t usbd_setup_endpoint_one(irp *, uint8_t,
+static usb_error_t usbd_setup_endpoint_default(irp *, uint8_t);
+static usb_error_t usbd_setup_endpoint_one(irp *, uint8_t,
struct ndisusb_ep *, struct usb_config *);
static int32_t usbd_func_getdesc(irp *);
static union usbd_urb *usbd_geturb(irp *);
@@ -353,7 +353,7 @@ usbd_urb2nt(status)
return (STATUS_FAILURE);
}
-/* Convert FreeBSD's usb2_error_t to USBD_STATUS */
+/* Convert FreeBSD's usb_error_t to USBD_STATUS */
static int32_t
usbd_usb2urb(int status)
{
@@ -463,7 +463,7 @@ usbd_func_getdesc(ip)
uint32_t len;
union usbd_urb *urb;
usb_config_descriptor_t *cdp;
- usb2_error_t status;
+ usb_error_t status;
urb = usbd_geturb(ip);
ctldesc = &urb->uu_ctldesc;
@@ -527,7 +527,7 @@ usbd_func_selconf(ip)
union usbd_urb *urb;
usb_config_descriptor_t *conf;
usb_endpoint_descriptor_t *edesc;
- usb2_error_t ret;
+ usb_error_t ret;
urb = usbd_geturb(ip);
@@ -592,7 +592,7 @@ usbd_func_selconf(ip)
return USBD_STATUS_SUCCESS;
}
-static usb2_error_t
+static usb_error_t
usbd_setup_endpoint_one(ip, ifidx, ne, epconf)
irp *ip;
uint8_t ifidx;
@@ -602,7 +602,7 @@ usbd_setup_endpoint_one(ip, ifidx, ne, e
device_t dev = IRP_NDIS_DEV(ip);
struct ndis_softc *sc = device_get_softc(dev);
struct usb_xfer *xfer;
- usb2_error_t status;
+ usb_error_t status;
InitializeListHead(&ne->ne_active);
InitializeListHead(&ne->ne_pending);
@@ -621,14 +621,14 @@ usbd_setup_endpoint_one(ip, ifidx, ne, e
return (status);
}
-static usb2_error_t
+static usb_error_t
usbd_setup_endpoint_default(ip, ifidx)
irp *ip;
uint8_t ifidx;
{
device_t dev = IRP_NDIS_DEV(ip);
struct ndis_softc *sc = device_get_softc(dev);
- usb2_error_t status;
+ usb_error_t status;
if (ifidx > 0)
device_printf(dev, "warning: ifidx > 0 isn't supported.\n");
@@ -643,7 +643,7 @@ usbd_setup_endpoint_default(ip, ifidx)
return (status);
}
-static usb2_error_t
+static usb_error_t
usbd_setup_endpoint(ip, ifidx, ep)
irp *ip;
uint8_t ifidx;
@@ -654,7 +654,7 @@ usbd_setup_endpoint(ip, ifidx, ep)
struct ndisusb_ep *ne;
struct usb_config cfg;
struct usb_xfer *xfer;
- usb2_error_t status;
+ usb_error_t status;
/* check for non-supported transfer types */
if (UE_GET_XFERTYPE(ep->bmAttributes) == UE_CONTROL ||
@@ -810,7 +810,7 @@ usbd_irpcancel(dobj, ip)
static void
usbd_xfer_complete(struct ndis_softc *sc, struct ndisusb_ep *ne,
- struct ndisusb_xfer *nx, usb2_error_t status)
+ struct ndisusb_xfer *nx, usb_error_t status)
{
struct ndisusb_xferdone *nd;
uint8_t irql;
@@ -1122,7 +1122,7 @@ usbd_xfertask(dobj, arg)
struct usbd_urb_bulk_or_intr_transfer *ubi;
struct usbd_urb_vendor_or_class_request *vcreq;
union usbd_urb *urb;
- usb2_error_t status;
+ usb_error_t status;
void *priv;
dev = sc->ndis_dev;
Modified: projects/pnet/sys/compat/svr4/svr4_stat.c
==============================================================================
--- projects/pnet/sys/compat/svr4/svr4_stat.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/compat/svr4/svr4_stat.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$");
#include <sys/sysctl.h>
#include <sys/sysproto.h>
#include <sys/un.h>
-#include <sys/vimage.h>
#include <vm/vm.h>
@@ -386,7 +385,7 @@ svr4_ustat(td, uap)
return 0;
}
-/*extern char ostype[], hostname[], osrelease[], version[], machine[];*/
+/*extern char ostype[], osrelease[], version[], machine[];*/
int
svr4_sys_uname(td, uap)
@@ -412,15 +411,12 @@ svr4_sys_systeminfo(td, uap)
struct thread *td;
struct svr4_sys_systeminfo_args *uap;
{
- INIT_VPROCG(TD_TO_VPROCG(td));
+ struct prison *pr;
char *str = NULL;
int error = 0;
register_t *retval = td->td_retval;
size_t len = 0;
- char buf[11]; /* XXX NetBSD uses 256, but we use 11
- here as that seems like awfully
- excessive kstack usage for hostid
- string... */
+ char buf[MAXHOSTNAMELEN];
u_int rlen = uap->len;
switch (uap->what) {
@@ -429,7 +425,8 @@ svr4_sys_systeminfo(td, uap)
break;
case SVR4_SI_HOSTNAME:
- str = V_hostname;
+ getcredhostname(td->td_ucred, buf, sizeof(buf));
+ str = buf;
break;
case SVR4_SI_RELEASE:
@@ -461,7 +458,10 @@ svr4_sys_systeminfo(td, uap)
break;
case SVR4_SI_HW_SERIAL:
- snprintf(buf, sizeof(buf), "%lu", hostid);
+ pr = td->td_ucred->cr_prison;
+ mtx_lock(&pr->pr_mtx);
+ snprintf(buf, sizeof(buf), "%lu", pr->pr_hostid);
+ mtx_unlock(&pr->pr_mtx);
str = buf;
break;
@@ -470,8 +470,11 @@ svr4_sys_systeminfo(td, uap)
break;
case SVR4_SI_SRPC_DOMAIN:
- /* XXXRW: locking? */
- str = V_domainname;
+ pr = td->td_ucred->cr_prison;
+ mtx_lock(&pr->pr_mtx);
+ strlcpy(buf, pr->pr_domain, sizeof(buf));
+ mtx_unlock(&pr->pr_mtx);
+ str = buf;
break;
case SVR4_SI_PLATFORM:
Modified: projects/pnet/sys/conf/NOTES
==============================================================================
--- projects/pnet/sys/conf/NOTES Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/conf/NOTES Mon Jun 1 12:29:27 2009 (r193227)
@@ -639,14 +639,6 @@ options ALTQ_PRIQ # Priority Queueing
options ALTQ_NOPCC # Required if the TSC is unusable
options ALTQ_DEBUG
-# IP optional behaviour.
-# IP_NONLOCALBIND disables the check that bind() usually makes that the
-# address is one that is assigned to an interface on this machine.
-# It allows transparent proxies to pretend to be other machines.
-# How the packet GET to that machine is a problem solved elsewhere,
-# smart routers, ipfw fwd, etc.
-options IP_NONLOCALBIND # Allow impersonation for proxies.
-
# netgraph(4). Enable the base netgraph code with the NETGRAPH option.
# Individual node types can be enabled with the corresponding option
# listed below; however, this is not strictly necessary as netgraph
Modified: projects/pnet/sys/conf/files.i386
==============================================================================
--- projects/pnet/sys/conf/files.i386 Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/conf/files.i386 Mon Jun 1 12:29:27 2009 (r193227)
@@ -327,6 +327,7 @@ i386/isa/atpic.c optional atpic
#i386/isa/atpic_vector.s standard
i386/isa/clock.c optional native
i386/xen/clock.c optional xen
+i386/xen/xen_clock_util.c optional xen
i386/xen/xen_rtc.c optional xen
i386/isa/dpms.c optional dpms
i386/isa/elcr.c standard
Modified: projects/pnet/sys/conf/files.powerpc
==============================================================================
--- projects/pnet/sys/conf/files.powerpc Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/conf/files.powerpc Mon Jun 1 12:29:27 2009 (r193227)
@@ -97,6 +97,7 @@ powerpc/booke/pmap.c optional e500
powerpc/booke/swtch.S optional e500
powerpc/booke/trap.c optional e500
powerpc/booke/vm_machdep.c optional e500
+powerpc/cpufreq/dfs.c optional cpufreq
powerpc/fpu/fpu_add.c optional fpu_emu
powerpc/fpu/fpu_compare.c optional fpu_emu
powerpc/fpu/fpu_div.c optional fpu_emu
@@ -114,6 +115,7 @@ powerpc/mpc85xx/nexus.c optional mpc85x
powerpc/mpc85xx/ocpbus.c optional mpc85xx
powerpc/mpc85xx/opic.c optional mpc85xx
powerpc/mpc85xx/pci_ocp.c optional pci mpc85xx
+powerpc/ofw/ofw_cpu.c optional aim
powerpc/ofw/ofw_pcibus.c optional pci aim
powerpc/ofw/ofw_pcib_pci.c optional pci aim
powerpc/ofw/ofw_real.c optional aim
@@ -133,6 +135,7 @@ powerpc/powermac/cuda.c optional powerm
powerpc/powermac/pmu.c optional powermac pmu
powerpc/powermac/macgpio.c optional powermac pci
powerpc/powermac/cpcht.c optional powermac pci
+powerpc/powermac/vcoregpio.c optional powermac
powerpc/powerpc/altivec.c optional aim
powerpc/powerpc/atomic.S standard
powerpc/powerpc/autoconf.c standard
Modified: projects/pnet/sys/conf/options
==============================================================================
--- projects/pnet/sys/conf/options Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/conf/options Mon Jun 1 12:29:27 2009 (r193227)
@@ -400,7 +400,6 @@ IPFIREWALL_VERBOSE opt_ipfw.h
IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h
IPSEC opt_ipsec.h
IPSEC_DEBUG opt_ipsec.h
-IP_NONLOCALBIND opt_inet.h
IPSEC_FILTERTUNNEL opt_ipsec.h
IPSTEALTH
IPX
Modified: projects/pnet/sys/ddb/db_textdump.c
==============================================================================
--- projects/pnet/sys/ddb/db_textdump.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/ddb/db_textdump.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -68,7 +68,6 @@ __FBSDID("$FreeBSD$");
#include <sys/msgbuf.h>
#include <sys/sysctl.h>
#include <sys/systm.h>
-#include <sys/vimage.h>
#include <ddb/ddb.h>
#include <ddb/db_lex.h>
Modified: projects/pnet/sys/dev/ata/ata-usb.c
==============================================================================
--- projects/pnet/sys/dev/ata/ata-usb.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/dev/ata/ata-usb.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -132,16 +132,16 @@ static device_probe_t atausb2_probe;
static device_attach_t atausb2_attach;
static device_detach_t atausb2_detach;
-static usb2_callback_t atausb2_t_bbb_reset1_callback;
-static usb2_callback_t atausb2_t_bbb_reset2_callback;
-static usb2_callback_t atausb2_t_bbb_reset3_callback;
-static usb2_callback_t atausb2_t_bbb_command_callback;
-static usb2_callback_t atausb2_t_bbb_data_read_callback;
-static usb2_callback_t atausb2_t_bbb_data_rd_cs_callback;
-static usb2_callback_t atausb2_t_bbb_data_write_callback;
-static usb2_callback_t atausb2_t_bbb_data_wr_cs_callback;
-static usb2_callback_t atausb2_t_bbb_status_callback;
-static usb2_callback_t atausb2_tr_error;
+static usb_callback_t atausb2_t_bbb_reset1_callback;
+static usb_callback_t atausb2_t_bbb_reset2_callback;
+static usb_callback_t atausb2_t_bbb_reset3_callback;
+static usb_callback_t atausb2_t_bbb_command_callback;
+static usb_callback_t atausb2_t_bbb_data_read_callback;
+static usb_callback_t atausb2_t_bbb_data_rd_cs_callback;
+static usb_callback_t atausb2_t_bbb_data_write_callback;
+static usb_callback_t atausb2_t_bbb_data_wr_cs_callback;
+static usb_callback_t atausb2_t_bbb_status_callback;
+static usb_callback_t atausb2_tr_error;
static void atausb2_cancel_request(struct atausb2_softc *sc);
static void atausb2_transfer_start(struct atausb2_softc *sc, uint8_t xfer_no);
Modified: projects/pnet/sys/dev/ata/chipsets/ata-intel.c
==============================================================================
--- projects/pnet/sys/dev/ata/chipsets/ata-intel.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/dev/ata/chipsets/ata-intel.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -104,9 +104,9 @@ ata_intel_probe(device_t dev)
{ ATA_I82801GB_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7" },
{ ATA_I82801GB_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7" },
{ ATA_I82801GB_AH, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7" },
- { ATA_I82801GBM_S1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7M" },
- { ATA_I82801GBM_R1, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7M" },
- { ATA_I82801GBM_AH, 0, INTEL_AHCI, 0, ATA_SA300, "ICH7M" },
+ { ATA_I82801GBM_S1, 0, INTEL_AHCI, 0, ATA_SA150, "ICH7M" },
+ { ATA_I82801GBM_R1, 0, INTEL_AHCI, 0, ATA_SA150, "ICH7M" },
+ { ATA_I82801GBM_AH, 0, INTEL_AHCI, 0, ATA_SA150, "ICH7M" },
{ ATA_I63XXESB2, 0, 0, 1, ATA_UDMA5, "63XXESB2" },
{ ATA_I63XXESB2_S1, 0, INTEL_AHCI, 0, ATA_SA300, "63XXESB2" },
{ ATA_I63XXESB2_S2, 0, INTEL_AHCI, 0, ATA_SA300, "63XXESB2" },
Modified: projects/pnet/sys/dev/bge/if_bge.c
==============================================================================
--- projects/pnet/sys/dev/bge/if_bge.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/dev/bge/if_bge.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -332,7 +332,7 @@ static int bge_get_eaddr_eeprom(struct b
static int bge_get_eaddr(struct bge_softc *, uint8_t[]);
static void bge_txeof(struct bge_softc *);
-static void bge_rxeof(struct bge_softc *);
+static int bge_rxeof(struct bge_softc *);
static void bge_asf_driver_up (struct bge_softc *);
static void bge_tick(void *);
@@ -390,7 +390,7 @@ static int bge_miibus_readreg(device_t,
static int bge_miibus_writereg(device_t, int, int, int);
static void bge_miibus_statchg(device_t);
#ifdef DEVICE_POLLING
-static void bge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count);
+static int bge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count);
#endif
#define BGE_RESET_START 1
@@ -3050,18 +3050,18 @@ bge_reset(struct bge_softc *sc)
* 2) the frame is from the standard receive ring
*/
-static void
+static int
bge_rxeof(struct bge_softc *sc)
{
struct ifnet *ifp;
- int stdcnt = 0, jumbocnt = 0;
+ int rx_npkts = 0, stdcnt = 0, jumbocnt = 0;
BGE_LOCK_ASSERT(sc);
/* Nothing to do. */
if (sc->bge_rx_saved_considx ==
sc->bge_ldata.bge_status_block->bge_idx[0].bge_rx_prod_idx)
- return;
+ return (rx_npkts);
ifp = sc->bge_ifp;
@@ -3193,9 +3193,10 @@ bge_rxeof(struct bge_softc *sc)
BGE_UNLOCK(sc);
(*ifp->if_input)(ifp, m);
BGE_LOCK(sc);
+ rx_npkts++;
if (!(ifp->if_drv_flags & IFF_DRV_RUNNING))
- return;
+ return (rx_npkts);
}
if (stdcnt > 0)
@@ -3219,6 +3220,7 @@ bge_rxeof(struct bge_softc *sc)
if (BGE_IS_5705_PLUS(sc))
ifp->if_ierrors += CSR_READ_4(sc, BGE_RXLP_LOCSTAT_IFIN_DROPS);
#endif
+ return (rx_npkts);
}
static void
@@ -3271,16 +3273,17 @@ bge_txeof(struct bge_softc *sc)
}
#ifdef DEVICE_POLLING
-static void
+static int
bge_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
{
struct bge_softc *sc = ifp->if_softc;
uint32_t statusword;
-
+ int rx_npkts = 0;
+
BGE_LOCK(sc);
if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
BGE_UNLOCK(sc);
- return;
+ return (rx_npkts);
}
bus_dmamap_sync(sc->bge_cdata.bge_status_tag,
@@ -3303,16 +3306,17 @@ bge_poll(struct ifnet *ifp, enum poll_cm
bge_link_upd(sc);
sc->rxcycles = count;
- bge_rxeof(sc);
+ rx_npkts = bge_rxeof(sc);
if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
BGE_UNLOCK(sc);
- return;
+ return (rx_npkts);
}
bge_txeof(sc);
if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd))
bge_start_locked(ifp);
BGE_UNLOCK(sc);
+ return (rx_npkts);
}
#endif /* DEVICE_POLLING */
Modified: projects/pnet/sys/dev/bwi/if_bwi.c
==============================================================================
--- projects/pnet/sys/dev/bwi/if_bwi.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/dev/bwi/if_bwi.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -3126,6 +3126,7 @@ bwi_encap_raw(struct bwi_softc *sc, int
{
struct ifnet *ifp = sc->sc_ifp;
struct ieee80211vap *vap = ni->ni_vap;
+ struct ieee80211com *ic = ni->ni_ic;
struct bwi_ring_data *rd = &sc->sc_tx_rdata[BWI_TX_DATA_RING];
struct bwi_txbuf_data *tbd = &sc->sc_tx_bdata[BWI_TX_DATA_RING];
struct bwi_txbuf *tb = &tbd->tbd_buf[idx];
@@ -3152,8 +3153,20 @@ bwi_encap_raw(struct bwi_softc *sc, int
* Find TX rate
*/
rate = params->ibp_rate0;
- rate_fb = (params->ibp_try1 != 0) ?
- params->ibp_rate1 : params->ibp_rate0;
+ if (!ieee80211_isratevalid(ic->ic_rt, rate)) {
+ /* XXX fall back to mcast/mgmt rate? */
+ m_freem(m);
+ return EINVAL;
+ }
+ if (params->ibp_try1 != 0) {
+ rate_fb = params->ibp_rate1;
+ if (!ieee80211_isratevalid(ic->ic_rt, rate_fb)) {
+ /* XXX fall back to rate0? */
+ m_freem(m);
+ return EINVAL;
+ }
+ } else
+ rate_fb = rate;
tb->tb_rate[0] = rate;
tb->tb_rate[1] = rate_fb;
sc->sc_tx_rate = rate;
Modified: projects/pnet/sys/dev/dc/if_dc.c
==============================================================================
--- projects/pnet/sys/dev/dc/if_dc.c Mon Jun 1 12:18:51 2009 (r193226)
+++ projects/pnet/sys/dev/dc/if_dc.c Mon Jun 1 12:29:27 2009 (r193227)
@@ -236,7 +236,7 @@ static int dc_newbuf(struct dc_softc *,
static int dc_encap(struct dc_softc *, struct mbuf **);
static void dc_pnic_rx_bug_war(struct dc_softc *, int);
static int dc_rx_resync(struct dc_softc *);
-static void dc_rxeof(struct dc_softc *);
+static int dc_rxeof(struct dc_softc *);
static void dc_txeof(struct dc_softc *);
static void dc_tick(void *);
static void dc_tx_underrun(struct dc_softc *);
@@ -2640,19 +2640,21 @@ dc_rx_resync(struct dc_softc *sc)
* A frame has been uploaded: pass the resulting mbuf chain up to
* the higher level protocols.
*/
-static void
+static int
dc_rxeof(struct dc_softc *sc)
{
struct mbuf *m, *m0;
struct ifnet *ifp;
struct dc_desc *cur_rx;
- int i, total_len = 0;
+ int i, total_len, rx_npkts;
u_int32_t rxstat;
DC_LOCK_ASSERT(sc);
ifp = sc->dc_ifp;
i = sc->dc_cdata.dc_rx_prod;
+ total_len = 0;
+ rx_npkts = 0;
bus_dmamap_sync(sc->dc_ltag, sc->dc_lmap, BUS_DMASYNC_POSTREAD);
while (!(le32toh(sc->dc_ldata->dc_rx_list[i].dc_status) &
@@ -2706,7 +2708,7 @@ dc_rxeof(struct dc_softc *sc)
continue;
} else {
dc_init_locked(sc);
- return;
+ return (rx_npkts);
}
}
}
@@ -2745,9 +2747,11 @@ dc_rxeof(struct dc_softc *sc)
DC_UNLOCK(sc);
(*ifp->if_input)(ifp, m);
DC_LOCK(sc);
+ rx_npkts++;
}
sc->dc_cdata.dc_rx_prod = i;
+ return (rx_npkts);
}
/*
@@ -2989,20 +2993,21 @@ dc_tx_underrun(struct dc_softc *sc)
#ifdef DEVICE_POLLING
static poll_handler_t dc_poll;
-static void
+static int
dc_poll(struct ifnet *ifp, enum poll_cmd cmd, int count)
{
struct dc_softc *sc = ifp->if_softc;
+ int rx_npkts = 0;
DC_LOCK(sc);
if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) {
DC_UNLOCK(sc);
- return;
+ return (rx_npkts);
}
sc->rxcycles = count;
- dc_rxeof(sc);
+ rx_npkts = dc_rxeof(sc);
dc_txeof(sc);
if (!IFQ_IS_EMPTY(&ifp->if_snd) &&
!(ifp->if_drv_flags & IFF_DRV_OACTIVE))
@@ -3017,7 +3022,7 @@ dc_poll(struct ifnet *ifp, enum poll_cmd
DC_ISR_BUS_ERR);
if (!status) {
DC_UNLOCK(sc);
- return;
+ return (rx_npkts);
}
/* ack what we have */
CSR_WRITE_4(sc, DC_ISR, status);
@@ -3043,6 +3048,7 @@ dc_poll(struct ifnet *ifp, enum poll_cmd
}
}
DC_UNLOCK(sc);
+ return (rx_npkts);
}
#endif /* DEVICE_POLLING */
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list