PERFORCE change 107873 for review
Roman Divacky
rdivacky at FreeBSD.org
Sat Oct 14 03:24:36 PDT 2006
http://perforce.freebsd.org/chv.cgi?CH=107873
Change 107873 by rdivacky at rdivacky_witten on 2006/10/14 10:24:16
IFC
Affected files ...
.. //depot/projects/linuxolator/src/sys/amd64/amd64/intr_machdep.c#3 integrate
.. //depot/projects/linuxolator/src/sys/amd64/amd64/machdep.c#4 integrate
.. //depot/projects/linuxolator/src/sys/boot/common/help.common#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/common/loader.8#2 integrate
.. //depot/projects/linuxolator/src/sys/boot/forth/support.4th#2 integrate
.. //depot/projects/linuxolator/src/sys/conf/NOTES#5 integrate
.. //depot/projects/linuxolator/src/sys/conf/kern.post.mk#2 integrate
.. //depot/projects/linuxolator/src/sys/conf/kern.pre.mk#3 integrate
.. //depot/projects/linuxolator/src/sys/conf/kmod.mk#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/bce/if_bce.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/bce/if_bcereg.h#2 integrate
.. //depot/projects/linuxolator/src/sys/dev/ipmi/ipmi.c#4 integrate
.. //depot/projects/linuxolator/src/sys/dev/sound/pci/hda/hdac.c#4 integrate
.. //depot/projects/linuxolator/src/sys/kern/kern_conf.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netgraph/ng_nat.c#2 integrate
.. //depot/projects/linuxolator/src/sys/netinet6/in6_ifattach.c#3 integrate
.. //depot/projects/linuxolator/src/sys/netinet6/in6_proto.c#2 integrate
.. //depot/projects/linuxolator/src/sys/nfsclient/nfs_vnops.c#4 integrate
.. //depot/projects/linuxolator/src/sys/sun4v/conf/NOTES#3 integrate
.. //depot/projects/linuxolator/src/sys/sun4v/sun4v/genassym.c#2 delete
.. //depot/projects/linuxolator/src/sys/sun4v/sun4v/hvcons.c#2 integrate
.. //depot/projects/linuxolator/src/sys/sys/rwlock.h#2 integrate
Differences ...
==== //depot/projects/linuxolator/src/sys/amd64/amd64/intr_machdep.c#3 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.21 2006/10/10 23:23:11 jhb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.24 2006/10/13 17:31:57 jhb Exp $
*/
/*
@@ -56,6 +56,13 @@
#include <ddb/ddb.h>
#endif
+#ifndef DEV_ATPIC
+#include <machine/segments.h>
+#include <dev/ic/i8259.h>
+#include <amd64/isa/icu.h>
+#include <amd64/isa/isa.h>
+#endif
+
#define MAX_STRAY_LOG 5
typedef void (*mask_fn)(void *);
==== //depot/projects/linuxolator/src/sys/amd64/amd64/machdep.c#4 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.655 2006/10/10 23:23:11 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.656 2006/10/12 12:48:21 jhb Exp $");
#include "opt_atalk.h"
#include "opt_atpic.h"
@@ -125,9 +125,11 @@
#include <machine/smp.h>
#endif
-#include <dev/ic/i8259.h>
+#ifdef DEV_ATPIC
#include <amd64/isa/icu.h>
+#else
#include <machine/apicvar.h>
+#endif
#include <isa/isareg.h>
#include <isa/rtc.h>
==== //depot/projects/linuxolator/src/sys/boot/common/help.common#2 (text+ko) ====
@@ -44,7 +44,7 @@
bcachestat
- Displays statistics about disk cache usage. For depuration only.
+ Displays statistics about disk cache usage. For debugging only.
################################################################################
# Techo DEcho arguments
==== //depot/projects/linuxolator/src/sys/boot/common/loader.8#2 (text+ko) ====
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.88 2006/08/20 09:31:17 ru Exp $
+.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.89 2006/10/13 20:48:17 ru Exp $
.\"
.Dd August 18, 2006
.Dt LOADER 8
@@ -159,7 +159,7 @@
.Pp
.It Ic bcachestat
Displays statistics about disk cache usage.
-For depuration only.
+For debugging only.
.Pp
.It Ic boot
.It Ic boot Ar kernelname Op Cm ...
==== //depot/projects/linuxolator/src/sys/boot/forth/support.4th#2 (text+ko) ====
@@ -22,7 +22,7 @@
\ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
\ SUCH DAMAGE.
\
-\ $FreeBSD: src/sys/boot/forth/support.4th,v 1.15 2002/05/24 02:28:58 gordon Exp $
+\ $FreeBSD: src/sys/boot/forth/support.4th,v 1.16 2006/10/13 20:48:17 ru Exp $
\ Loader.rc support functions:
\
@@ -1012,7 +1012,7 @@
." ^" cr
;
-\ Depuration support functions
+\ Debugging support functions
only forth definitions also support-functions
==== //depot/projects/linuxolator/src/sys/conf/NOTES#5 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1387 2006/10/06 10:43:40 ru Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1389 2006/10/13 21:44:57 jb Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -2044,7 +2044,6 @@
# rc: RISCom/8 multiport card
# rp: Comtrol Rocketport(ISA/PCI) - single card
# si: Specialix SI/XIO 4-32 port terminal multiplexor
-# nmdm: nullmodem terminal driver (see nmdm(4))
# Notes on the Comtrol Rocketport driver:
#
@@ -2100,7 +2099,6 @@
hint.si.0.at="isa"
hint.si.0.maddr="0xd0000"
hint.si.0.irq="12"
-device nmdm
#
# The 'bktr' device is a PCI video capture device using the Brooktree
==== //depot/projects/linuxolator/src/sys/conf/kern.post.mk#2 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.post.mk,v 1.96 2006/08/14 13:28:52 des Exp $
+# $FreeBSD: src/sys/conf/kern.post.mk,v 1.97 2006/10/13 22:28:14 ru Exp $
# Part of a unified Makefile for building kernels. This part includes all
# the definitions that need to be after all the % directives except %RULES
@@ -121,7 +121,7 @@
linterrs makelinks tags vers.c \
vnode_if.c vnode_if.h vnode_if_newproto.h vnode_if_typedef.h \
${MFILES:T:S/.m$/.c/} ${MFILES:T:S/.m$/.h/} \
- ${CLEAN} ${_ILINKS}
+ ${CLEAN}
lint: ${LNFILES}
${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC} 2>&1 | \
@@ -153,7 +153,7 @@
SRCS= assym.s vnode_if.h ${BEFORE_DEPEND} ${CFILES} \
${SYSTEM_CFILES} ${GEN_CFILES} ${SFILES} \
${MFILES:T:S/.m$/.h/}
-.depend: ${SRCS}
+.depend: .PRECIOUS ${SRCS}
rm -f .newdep
${MAKE} -V CFILES -V SYSTEM_CFILES -V GEN_CFILES | \
MKDEP_CPP="${CC} -E" CC="${CC}" xargs mkdep -a -f .newdep ${CFLAGS}
@@ -184,8 +184,9 @@
${ECHO} ${.TARGET} "->" $$path ; \
ln -s $$path ${.TARGET}
+# .depend needs include links so we remove them only together.
kernel-cleandepend:
- rm -f .depend
+ rm -f .depend ${_ILINKS}
links:
egrep '#if' ${CFILES} | sed -f $S/conf/defines | \
==== //depot/projects/linuxolator/src/sys/conf/kern.pre.mk#3 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.78 2006/09/18 16:49:14 sam Exp $
+# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.79 2006/10/13 22:29:06 ru Exp $
# Part of a unified Makefile for building kernels. This part contains all
# of the definitions that need to be before %BEFORE_DEPEND.
@@ -46,6 +46,7 @@
. endif
.endif
.if ${CC} == "icc"
+C_DIALECT=
NOSTDINC= -X
.else
C_DIALECT= -std=c99
==== //depot/projects/linuxolator/src/sys/conf/kmod.mk#2 (text+ko) ====
@@ -1,5 +1,5 @@
# From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91
-# $FreeBSD: src/sys/conf/kmod.mk,v 1.210 2006/08/14 13:28:52 des Exp $
+# $FreeBSD: src/sys/conf/kmod.mk,v 1.211 2006/10/13 22:28:14 ru Exp $
#
# The include file <bsd.kmod.mk> handles building and installing loadable
# kernel modules.
@@ -246,7 +246,7 @@
${ECHO} ${.TARGET} "->" $$path ; \
ln -sf $$path ${.TARGET}
-CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS} ${_ILINKS}
+CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS}
.if defined(DEBUG_FLAGS)
CLEANFILES+= ${FULLPROG} ${PROG}.symbols
@@ -435,6 +435,11 @@
.include <bsd.dep.mk>
+cleandepend: cleanilinks
+# .depend needs include links so we remove them only together.
+cleanilinks:
+ rm -f ${_ILINKS}
+
.if !exists(${.OBJDIR}/${DEPENDFILE})
${OBJS}: ${SRCS:M*.h}
.endif
==== //depot/projects/linuxolator/src/sys/dev/bce/if_bce.c#4 (text) ====
@@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.9 2006/09/20 18:55:16 ambrisko Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.13 2006/10/14 05:30:12 scottl Exp $");
/*
* The following controllers are supported by this driver:
@@ -300,7 +300,7 @@
static void bce_free_rx_chain (struct bce_softc *);
static void bce_free_tx_chain (struct bce_softc *);
-static int bce_tx_encap (struct bce_softc *, struct mbuf *, u16 *, u16 *, u32 *);
+static int bce_tx_encap (struct bce_softc *, struct mbuf *, u16 *);
static void bce_start_locked (struct ifnet *);
static void bce_start (struct ifnet *);
static int bce_ioctl (struct ifnet *, u_long, caddr_t);
@@ -468,10 +468,10 @@
/* Allocate PCI memory resources. */
rid = PCIR_BAR(0);
sc->bce_res = bus_alloc_resource_any(
- dev, /* dev */
- SYS_RES_MEMORY, /* type */
- &rid, /* rid */
- RF_ACTIVE | PCI_RF_DENSE); /* flags */
+ dev, /* dev */
+ SYS_RES_MEMORY, /* type */
+ &rid, /* rid */
+ RF_ACTIVE | PCI_RF_DENSE); /* flags */
if (sc->bce_res == NULL) {
BCE_PRINTF(sc, "%s(%d): PCI memory allocation failed\n",
@@ -2220,7 +2220,7 @@
* the mbuf.
*/
- txbd = &map_arg->tx_chain[TX_PAGE(chain_prod)][TX_IDX(chain_prod)];
+ txbd = &sc->tx_bd_chain[TX_PAGE(chain_prod)][TX_IDX(chain_prod)];
/* Setup the first tx_bd for the first segment. */
txbd->tx_bd_haddr_lo = htole32(BCE_ADDR_LO(segs[i].ds_addr));
@@ -2235,7 +2235,7 @@
prod = NEXT_TX_BD(prod);
chain_prod = TX_CHAIN_IDX(prod);
- txbd = &map_arg->tx_chain[TX_PAGE(chain_prod)][TX_IDX(chain_prod)];
+ txbd = &sc->tx_bd_chain[TX_PAGE(chain_prod)][TX_IDX(chain_prod)];
txbd->tx_bd_haddr_lo = htole32(BCE_ADDR_LO(segs[i].ds_addr));
txbd->tx_bd_haddr_hi = htole32(BCE_ADDR_HI(segs[i].ds_addr));
@@ -2287,18 +2287,18 @@
* Allocate the parent bus DMA tag appropriate for PCI.
*/
if (bus_dma_tag_create(NULL, /* parent */
- BCE_DMA_ALIGN, /* alignment */
- BCE_DMA_BOUNDARY, /* boundary */
- sc->max_bus_addr, /* lowaddr */
- BUS_SPACE_MAXADDR, /* highaddr */
- NULL, /* filterfunc */
- NULL, /* filterarg */
- MAXBSIZE, /* maxsize */
- BUS_SPACE_UNRESTRICTED, /* nsegments */
- BUS_SPACE_MAXSIZE_32BIT, /* maxsegsize */
- 0, /* flags */
- NULL, /* locfunc */
- NULL, /* lockarg */
+ BCE_DMA_ALIGN, /* alignment */
+ BCE_DMA_BOUNDARY, /* boundary */
+ sc->max_bus_addr, /* lowaddr */
+ BUS_SPACE_MAXADDR, /* highaddr */
+ NULL, /* filterfunc */
+ NULL, /* filterarg */
+ MAXBSIZE, /* maxsize */
+ BUS_SPACE_UNRESTRICTED, /* nsegments */
+ BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
+ 0, /* flags */
+ NULL, /* locfunc */
+ NULL, /* lockarg */
&sc->parent_tag)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate parent DMA tag!\n",
__FILE__, __LINE__);
@@ -2312,19 +2312,19 @@
* address of the block.
*/
if (bus_dma_tag_create(
- sc->parent_tag, /* parent */
+ sc->parent_tag, /* parent */
BCE_DMA_ALIGN, /* alignment */
BCE_DMA_BOUNDARY, /* boundary */
sc->max_bus_addr, /* lowaddr */
BUS_SPACE_MAXADDR, /* highaddr */
- NULL, /* filterfunc */
- NULL, /* filterarg */
+ NULL, /* filterfunc */
+ NULL, /* filterarg */
BCE_STATUS_BLK_SZ, /* maxsize */
- 1, /* nsegments */
+ 1, /* nsegments */
BCE_STATUS_BLK_SZ, /* maxsegsize */
- 0, /* flags */
- NULL, /* lockfunc */
- NULL, /* lockarg */
+ 0, /* flags */
+ NULL, /* lockfunc */
+ NULL, /* lockarg */
&sc->status_tag)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate status block DMA tag!\n",
__FILE__, __LINE__);
@@ -2333,9 +2333,9 @@
}
if(bus_dmamem_alloc(
- sc->status_tag, /* dmat */
+ sc->status_tag, /* dmat */
(void **)&sc->status_block, /* vaddr */
- BUS_DMA_NOWAIT, /* flags */
+ BUS_DMA_NOWAIT, /* flags */
&sc->status_map)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate status block DMA memory!\n",
__FILE__, __LINE__);
@@ -2349,12 +2349,12 @@
map_arg.maxsegs = 1;
error = bus_dmamap_load(
- sc->status_tag, /* dmat */
+ sc->status_tag, /* dmat */
sc->status_map, /* map */
sc->status_block, /* buf */
BCE_STATUS_BLK_SZ, /* buflen */
bce_dma_map_addr, /* callback */
- &map_arg, /* callbackarg */
+ &map_arg, /* callbackarg */
BUS_DMA_NOWAIT); /* flags */
if(error || (map_arg.maxsegs == 0)) {
@@ -2375,19 +2375,19 @@
* address of the block.
*/
if (bus_dma_tag_create(
- sc->parent_tag, /* parent */
+ sc->parent_tag, /* parent */
BCE_DMA_ALIGN, /* alignment */
BCE_DMA_BOUNDARY, /* boundary */
sc->max_bus_addr, /* lowaddr */
BUS_SPACE_MAXADDR, /* highaddr */
- NULL, /* filterfunc */
- NULL, /* filterarg */
+ NULL, /* filterfunc */
+ NULL, /* filterarg */
BCE_STATS_BLK_SZ, /* maxsize */
- 1, /* nsegments */
+ 1, /* nsegments */
BCE_STATS_BLK_SZ, /* maxsegsize */
- 0, /* flags */
- NULL, /* lockfunc */
- NULL, /* lockarg */
+ 0, /* flags */
+ NULL, /* lockfunc */
+ NULL, /* lockarg */
&sc->stats_tag)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate statistics block DMA tag!\n",
__FILE__, __LINE__);
@@ -2396,9 +2396,9 @@
}
if (bus_dmamem_alloc(
- sc->stats_tag, /* dmat */
+ sc->stats_tag, /* dmat */
(void **)&sc->stats_block, /* vaddr */
- BUS_DMA_NOWAIT, /* flags */
+ BUS_DMA_NOWAIT, /* flags */
&sc->stats_map)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate statistics block DMA memory!\n",
__FILE__, __LINE__);
@@ -2412,12 +2412,12 @@
map_arg.maxsegs = 1;
error = bus_dmamap_load(
- sc->stats_tag, /* dmat */
+ sc->stats_tag, /* dmat */
sc->stats_map, /* map */
sc->stats_block, /* buf */
BCE_STATS_BLK_SZ, /* buflen */
bce_dma_map_addr, /* callback */
- &map_arg, /* callbackarg */
+ &map_arg, /* callbackarg */
BUS_DMA_NOWAIT); /* flags */
if(error || (map_arg.maxsegs == 0)) {
@@ -2438,19 +2438,19 @@
* physical address of the block.
*/
if(bus_dma_tag_create(
- sc->parent_tag, /* parent */
- BCM_PAGE_SIZE, /* alignment */
- BCE_DMA_BOUNDARY, /* boundary */
- sc->max_bus_addr, /* lowaddr */
- BUS_SPACE_MAXADDR, /* highaddr */
- NULL, /* filterfunc */
- NULL, /* filterarg */
- BCE_TX_CHAIN_PAGE_SZ, /* maxsize */
- 1, /* nsegments */
- BCE_TX_CHAIN_PAGE_SZ, /* maxsegsize */
- 0, /* flags */
- NULL, /* lockfunc */
- NULL, /* lockarg */
+ sc->parent_tag, /* parent */
+ BCM_PAGE_SIZE, /* alignment */
+ BCE_DMA_BOUNDARY, /* boundary */
+ sc->max_bus_addr, /* lowaddr */
+ BUS_SPACE_MAXADDR, /* highaddr */
+ NULL, /* filterfunc */
+ NULL, /* filterarg */
+ BCE_TX_CHAIN_PAGE_SZ, /* maxsize */
+ 1, /* nsegments */
+ BCE_TX_CHAIN_PAGE_SZ, /* maxsegsize */
+ 0, /* flags */
+ NULL, /* lockfunc */
+ NULL, /* lockarg */
&sc->tx_bd_chain_tag)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate TX descriptor chain DMA tag!\n",
__FILE__, __LINE__);
@@ -2461,9 +2461,9 @@
for (i = 0; i < TX_PAGES; i++) {
if(bus_dmamem_alloc(
- sc->tx_bd_chain_tag, /* tag */
+ sc->tx_bd_chain_tag, /* tag */
(void **)&sc->tx_bd_chain[i], /* vaddr */
- BUS_DMA_NOWAIT, /* flags */
+ BUS_DMA_NOWAIT, /* flags */
&sc->tx_bd_chain_map[i])) {
BCE_PRINTF(sc, "%s(%d): Could not allocate TX descriptor "
"chain DMA memory!\n", __FILE__, __LINE__);
@@ -2475,13 +2475,13 @@
map_arg.sc = sc;
error = bus_dmamap_load(
- sc->tx_bd_chain_tag, /* dmat */
- sc->tx_bd_chain_map[i], /* map */
- sc->tx_bd_chain[i], /* buf */
- BCE_TX_CHAIN_PAGE_SZ, /* buflen */
- bce_dma_map_addr, /* callback */
- &map_arg, /* callbackarg */
- BUS_DMA_NOWAIT); /* flags */
+ sc->tx_bd_chain_tag, /* dmat */
+ sc->tx_bd_chain_map[i], /* map */
+ sc->tx_bd_chain[i], /* buf */
+ BCE_TX_CHAIN_PAGE_SZ, /* buflen */
+ bce_dma_map_addr, /* callback */
+ &map_arg, /* callbackarg */
+ BUS_DMA_NOWAIT); /* flags */
if(error || (map_arg.maxsegs == 0)) {
BCE_PRINTF(sc, "%s(%d): Could not map TX descriptor chain DMA memory!\n",
@@ -2499,19 +2499,19 @@
/* Create a DMA tag for TX mbufs. */
if (bus_dma_tag_create(
sc->parent_tag, /* parent */
- BCE_DMA_ALIGN, /* alignment */
- BCE_DMA_BOUNDARY, /* boundary */
+ BCE_DMA_ALIGN, /* alignment */
+ BCE_DMA_BOUNDARY, /* boundary */
sc->max_bus_addr, /* lowaddr */
BUS_SPACE_MAXADDR, /* highaddr */
- NULL, /* filterfunc */
- NULL, /* filterarg */
+ NULL, /* filterfunc */
+ NULL, /* filterarg */
MCLBYTES * BCE_MAX_SEGMENTS, /* maxsize */
BCE_MAX_SEGMENTS, /* nsegments */
- MCLBYTES, /* maxsegsize */
- 0, /* flags */
- NULL, /* lockfunc */
- NULL, /* lockarg */
- &sc->tx_mbuf_tag)) {
+ MCLBYTES, /* maxsegsize */
+ 0, /* flags */
+ NULL, /* lockfunc */
+ NULL, /* lockarg */
+ &sc->tx_mbuf_tag)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate TX mbuf DMA tag!\n",
__FILE__, __LINE__);
rc = ENOMEM;
@@ -2536,18 +2536,18 @@
*/
if (bus_dma_tag_create(
sc->parent_tag, /* parent */
- BCM_PAGE_SIZE, /* alignment */
- BCE_DMA_BOUNDARY, /* boundary */
+ BCM_PAGE_SIZE, /* alignment */
+ BCE_DMA_BOUNDARY, /* boundary */
BUS_SPACE_MAXADDR, /* lowaddr */
sc->max_bus_addr, /* lowaddr */
- NULL, /* filter */
- NULL, /* filterarg */
- BCE_RX_CHAIN_PAGE_SZ, /* maxsize */
- 1, /* nsegments */
- BCE_RX_CHAIN_PAGE_SZ, /* maxsegsize */
- 0, /* flags */
- NULL, /* lockfunc */
- NULL, /* lockarg */
+ NULL, /* filter */
+ NULL, /* filterarg */
+ BCE_RX_CHAIN_PAGE_SZ, /* maxsize */
+ 1, /* nsegments */
+ BCE_RX_CHAIN_PAGE_SZ, /* maxsegsize */
+ 0, /* flags */
+ NULL, /* lockfunc */
+ NULL, /* lockarg */
&sc->rx_bd_chain_tag)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate RX descriptor chain DMA tag!\n",
__FILE__, __LINE__);
@@ -2558,9 +2558,9 @@
for (i = 0; i < RX_PAGES; i++) {
if (bus_dmamem_alloc(
- sc->rx_bd_chain_tag, /* tag */
+ sc->rx_bd_chain_tag, /* tag */
(void **)&sc->rx_bd_chain[i], /* vaddr */
- BUS_DMA_NOWAIT, /* flags */
+ BUS_DMA_NOWAIT, /* flags */
&sc->rx_bd_chain_map[i])) {
BCE_PRINTF(sc, "%s(%d): Could not allocate RX descriptor chain "
"DMA memory!\n", __FILE__, __LINE__);
@@ -2574,13 +2574,13 @@
map_arg.sc = sc;
error = bus_dmamap_load(
- sc->rx_bd_chain_tag, /* dmat */
+ sc->rx_bd_chain_tag, /* dmat */
sc->rx_bd_chain_map[i], /* map */
- sc->rx_bd_chain[i], /* buf */
+ sc->rx_bd_chain[i], /* buf */
BCE_RX_CHAIN_PAGE_SZ, /* buflen */
- bce_dma_map_addr, /* callback */
- &map_arg, /* callbackarg */
- BUS_DMA_NOWAIT); /* flags */
+ bce_dma_map_addr, /* callback */
+ &map_arg, /* callbackarg */
+ BUS_DMA_NOWAIT); /* flags */
if(error || (map_arg.maxsegs == 0)) {
BCE_PRINTF(sc, "%s(%d): Could not map RX descriptor chain DMA memory!\n",
@@ -2599,19 +2599,19 @@
* Create a DMA tag for RX mbufs.
*/
if (bus_dma_tag_create(
- sc->parent_tag, /* parent */
- BCE_DMA_ALIGN, /* alignment */
- BCE_DMA_BOUNDARY, /* boundary */
- sc->max_bus_addr, /* lowaddr */
- BUS_SPACE_MAXADDR, /* highaddr */
- NULL, /* filterfunc */
- NULL, /* filterarg */
- MJUM9BYTES, /* maxsize */
- BCE_MAX_SEGMENTS, /* nsegments */
- MJUM9BYTES, /* maxsegsize */
- 0, /* flags */
- NULL, /* lockfunc */
- NULL, /* lockarg */
+ sc->parent_tag, /* parent */
+ BCE_DMA_ALIGN, /* alignment */
+ BCE_DMA_BOUNDARY, /* boundary */
+ sc->max_bus_addr, /* lowaddr */
+ BUS_SPACE_MAXADDR, /* highaddr */
+ NULL, /* filterfunc */
+ NULL, /* filterarg */
+ MJUM9BYTES, /* maxsize */
+ BCE_MAX_SEGMENTS, /* nsegments */
+ MJUM9BYTES, /* maxsegsize */
+ 0, /* flags */
+ NULL, /* lockfunc */
+ NULL, /* lockarg */
&sc->rx_mbuf_tag)) {
BCE_PRINTF(sc, "%s(%d): Could not allocate RX mbuf DMA tag!\n",
__FILE__, __LINE__);
@@ -4639,13 +4639,13 @@
/* 0 for success, positive value for failure. */
/****************************************************************************/
static int
-bce_tx_encap(struct bce_softc *sc, struct mbuf *m_head, u16 *prod,
- u16 *chain_prod, u32 *prod_bseq)
+bce_tx_encap(struct bce_softc *sc, struct mbuf *m_head, u16 *prod)
{
u32 vlan_tag_flags = 0;
+ u16 chain_prod;
struct bce_dmamap_arg map_arg;
bus_dmamap_t map;
- int i, error, rc = 0;
+ int error, rc = 0;
/* Transfer any checksum offload flags to the bd. */
if (m_head->m_pkthdr.csum_flags) {
@@ -4661,20 +4661,18 @@
(m_head->m_pkthdr.ether_vtag << 16));
/* Map the mbuf into DMAable memory. */
- map = sc->tx_mbuf_map[*chain_prod];
+ chain_prod = TX_CHAIN_IDX(*prod);
+ map = sc->tx_mbuf_map[chain_prod];
map_arg.sc = sc;
map_arg.prod = *prod;
- map_arg.chain_prod = *chain_prod;
- map_arg.prod_bseq = *prod_bseq;
+ map_arg.chain_prod = chain_prod;
+ map_arg.prod_bseq = sc->tx_prod_bseq;
map_arg.tx_flags = vlan_tag_flags;
map_arg.maxsegs = USABLE_TX_BD - sc->used_tx_bd -
BCE_TX_SLACK_SPACE;
KASSERT(map_arg.maxsegs > 0, ("Invalid TX maxsegs value!"));
- for (i = 0; i < TX_PAGES; i++)
- map_arg.tx_chain[i] = sc->tx_bd_chain[i];
-
/* Map the mbuf into our DMA address space. */
error = bus_dmamap_load_mbuf(sc->tx_mbuf_tag, map, m_head,
bce_dma_map_tx_desc, &map_arg, BUS_DMA_NOWAIT);
@@ -4717,7 +4715,7 @@
* delete the map before all of the segments
* have been freed.
*/
- sc->tx_mbuf_map[*chain_prod] =
+ sc->tx_mbuf_map[chain_prod] =
sc->tx_mbuf_map[map_arg.chain_prod];
sc->tx_mbuf_map[map_arg.chain_prod] = map;
sc->tx_mbuf_ptr[map_arg.chain_prod] = m_head;
@@ -4728,13 +4726,12 @@
DBRUNIF(1, sc->tx_mbuf_alloc++);
- DBRUN(BCE_VERBOSE_SEND, bce_dump_tx_mbuf_chain(sc, *chain_prod,
+ DBRUN(BCE_VERBOSE_SEND, bce_dump_tx_mbuf_chain(sc, chain_prod,
map_arg.maxsegs));
/* prod still points the last used tx_bd at this point. */
*prod = map_arg.prod;
- *chain_prod = map_arg.chain_prod;
- *prod_bseq = map_arg.prod_bseq;
+ sc->tx_prod_bseq = map_arg.prod_bseq;
bce_tx_encap_exit:
@@ -4755,7 +4752,6 @@
struct mbuf *m_head = NULL;
int count = 0;
u16 tx_prod, tx_chain_prod;
- u32 tx_prod_bseq;
/* If there's no link or the transmit queue is empty then just exit. */
if (!sc->bce_link || IFQ_DRV_IS_EMPTY(&ifp->if_snd)) {
@@ -4767,12 +4763,11 @@
/* prod points to the next free tx_bd. */
tx_prod = sc->tx_prod;
tx_chain_prod = TX_CHAIN_IDX(tx_prod);
- tx_prod_bseq = sc->tx_prod_bseq;
DBPRINT(sc, BCE_INFO_SEND,
"%s(): Start: tx_prod = 0x%04X, tx_chain_prod = %04X, "
"tx_prod_bseq = 0x%08X\n",
- __FUNCTION__, tx_prod, tx_chain_prod, tx_prod_bseq);
+ __FUNCTION__, tx_prod, tx_chain_prod, sc->tx_prod_bseq);
/* Keep adding entries while there is space in the ring. */
while(sc->tx_mbuf_ptr[tx_chain_prod] == NULL) {
@@ -4788,7 +4783,7 @@
* head of the queue and set the OACTIVE flag
* to wait for the NIC to drain the chain.
*/
- if (bce_tx_encap(sc, m_head, &tx_prod, &tx_chain_prod, &tx_prod_bseq)) {
+ if (bce_tx_encap(sc, m_head, &tx_prod)) {
IFQ_DRV_PREPEND(&ifp->if_snd, m_head);
ifp->if_drv_flags |= IFF_DRV_OACTIVE;
DBPRINT(sc, BCE_INFO_SEND,
@@ -4803,7 +4798,6 @@
BPF_MTAP(ifp, m_head);
tx_prod = NEXT_TX_BD(tx_prod);
- tx_chain_prod = TX_CHAIN_IDX(tx_prod);
}
if (count == 0) {
@@ -4815,12 +4809,12 @@
/* Update the driver's counters. */
sc->tx_prod = tx_prod;
- sc->tx_prod_bseq = tx_prod_bseq;
+ tx_chain_prod = TX_CHAIN_IDX(tx_prod);
DBPRINT(sc, BCE_INFO_SEND,
"%s(): End: tx_prod = 0x%04X, tx_chain_prod = 0x%04X, "
"tx_prod_bseq = 0x%08X\n",
- __FUNCTION__, tx_prod, tx_chain_prod, tx_prod_bseq);
+ __FUNCTION__, tx_prod, tx_chain_prod, sc->tx_prod_bseq);
/* Start the transmit. */
REG_WR16(sc, MB_TX_CID_ADDR + BCE_L2CTX_TX_HOST_BIDX, sc->tx_prod);
==== //depot/projects/linuxolator/src/sys/dev/bce/if_bcereg.h#2 (text) ====
@@ -26,7 +26,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/dev/bce/if_bcereg.h,v 1.5 2006/05/16 14:36:23 phk Exp $
+ * $FreeBSD: src/sys/dev/bce/if_bcereg.h,v 1.6 2006/10/14 03:58:59 scottl Exp $
*/
#ifndef _BCE_H_DEFINED
@@ -4658,7 +4658,6 @@
u16 chain_prod;
int maxsegs; /* Max segments supported for this mapped memory */
u32 prod_bseq;
- struct tx_bd *tx_chain[TX_PAGES];
};
==== //depot/projects/linuxolator/src/sys/dev/ipmi/ipmi.c#4 (text) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ipmi/ipmi.c,v 1.5 2006/09/26 15:48:13 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ipmi/ipmi.c,v 1.6 2006/10/12 16:26:42 jhb Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -584,9 +584,9 @@
ipmi_polled_enqueue_request(struct ipmi_softc *sc, struct ipmi_request *req)
{
- IPMI_LOCK(sc);
+ IPMI_LOCK_ASSERT(sc);
+
TAILQ_INSERT_TAIL(&sc->ipmi_pending_requests, req, ir_link);
- IPMI_UNLOCK(sc);
cv_signal(&sc->ipmi_request_added);
return (0);
}
==== //depot/projects/linuxolator/src/sys/dev/sound/pci/hda/hdac.c#4 (text+ko) ====
@@ -80,10 +80,10 @@
#include "mixer_if.h"
-#define HDA_DRV_TEST_REV "20061009_0031"
+#define HDA_DRV_TEST_REV "20061013_0032"
#define HDA_WIDGET_PARSER_REV 1
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.6 2006/10/12 04:19:37 ariff Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/hda/hdac.c,v 1.7 2006/10/12 15:37:43 ariff Exp $");
#undef HDA_DEBUG_ENABLED
#define HDA_DEBUG_ENABLED 1
@@ -188,6 +188,7 @@
/* Asus */
#define ASUS_VENDORID 0x1043
#define ASUS_M5200_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1993)
+#define ASUS_U5F_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0x1263)
#define ASUS_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(ASUS, 0xffff)
/* IBM / Lenovo */
@@ -222,6 +223,7 @@
#define HDA_QUIRK_SOFTPCMVOL (1 << 15)
#define HDA_QUIRK_FIXEDRATE (1 << 16)
#define HDA_QUIRK_FORCESTEREO (1 << 17)
+#define HDA_QUIRK_EAPDINV (1 << 18)
static const struct {
char *key;
@@ -233,6 +235,7 @@
{ "softpcmvol", HDA_QUIRK_SOFTPCMVOL },
{ "fixedrate", HDA_QUIRK_FIXEDRATE },
{ "forcestereo", HDA_QUIRK_FORCESTEREO },
+ { "eapdinv", HDA_QUIRK_EAPDINV },
};
#define HDAC_QUIRKS_TAB_LEN \
(sizeof(hdac_quirks_tab) / sizeof(hdac_quirks_tab[0]))
@@ -2686,6 +2689,7 @@
hdac_lock(sc);
if (dev == SOUND_MIXER_OGAIN) {
uint32_t orig;
+ int set;
/*if (left != right || !(left == 0 || left == 1)) {
hdac_unlock(sc);
return (-1);
@@ -2709,7 +2713,10 @@
return (-1);
}
orig = w->param.eapdbtl;
- if (left == 0)
+ set = (left != 0) ? 1 : 0;
+ if (devinfo->function.audio.quirks & HDA_QUIRK_EAPDINV)
+ set ^= 1;
+ if (set == 0)
w->param.eapdbtl &= ~HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD;
else
w->param.eapdbtl |= HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD;
@@ -3231,6 +3238,8 @@
HDA_QUIRK_GPIO1, 0 },
{ ASUS_M5200_SUBVENDOR, HDA_CODEC_ALC880,
HDA_QUIRK_GPIO1, 0 },
+ { ASUS_U5F_SUBVENDOR, HDA_CODEC_AD1986A,
+ HDA_QUIRK_EAPDINV, 0 },
{ HDA_MATCH_ALL, HDA_CODEC_CXVENICE,
0, HDA_QUIRK_FORCESTEREO },
{ HDA_MATCH_ALL, HDA_CODEC_STACXXXX,
@@ -3912,11 +3921,22 @@
w->wclass.pin.ctrl), cad);
}
if ((cfl & HDA_COMMIT_EAPD) &&
- w->param.eapdbtl != HDAC_INVALID)
+ w->param.eapdbtl != HDAC_INVALID) {
+ if (devinfo->function.audio.quirks &
+ HDA_QUIRK_EAPDINV) {
+ if (w->param.eapdbtl &
+ HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD)
+ w->param.eapdbtl &=
+ ~HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD;
+ else
+ w->param.eapdbtl |=
+ HDA_CMD_SET_EAPD_BTL_ENABLE_EAPD;
+ }
hdac_command(sc,
HDA_CMD_SET_EAPD_BTL_ENABLE(cad, w->nid,
w->param.eapdbtl), cad);
+ }
DELAY(1000);
}
}
==== //depot/projects/linuxolator/src/sys/kern/kern_conf.c#2 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/kern_conf.c,v 1.198 2006/05/17 06:37:14 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/kern_conf.c,v 1.199 2006/10/13 20:49:24 tegge Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -658,6 +658,7 @@
dev->si_flags &= ~SI_CLONELIST;
}
+ dev->si_refcount++; /* Avoid race with dev_rel() */
csw = dev->si_devsw;
dev->si_devsw = NULL; /* already NULL for SI_ALIAS */
while (csw != NULL && csw->d_purge != NULL && dev->si_threadcount) {
@@ -667,6 +668,10 @@
printf("Still %lu threads in %s\n",
dev->si_threadcount, devtoname(dev));
}
+ while (dev->si_threadcount != 0) {
+ /* Use unique dummy wait ident */
+ msleep(&csw, &devmtx, PRIBIO, "devdrn", hz / 10);
+ }
dev->si_drv1 = 0;
dev->si_drv2 = 0;
@@ -681,6 +686,7 @@
fini_cdevsw(csw);
}
dev->si_flags &= ~SI_ALIAS;
+ dev->si_refcount--; /* Avoid race with dev_rel() */
if (dev->si_refcount > 0) {
LIST_INSERT_HEAD(&dead_cdevsw.d_devs, dev, si_list);
==== //depot/projects/linuxolator/src/sys/netgraph/ng_nat.c#2 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/netgraph/ng_nat.c,v 1.4 2005/06/27 07:39:13 glebius Exp $
+ * $FreeBSD: src/sys/netgraph/ng_nat.c,v 1.5 2006/10/13 09:11:12 glebius Exp $
*/
#include <sys/param.h>
@@ -86,14 +86,14 @@
MODULE_DEPEND(ng_nat, libalias, 1, 1, 1);
/* Information we store for each node. */
-struct ng_priv_priv {
+struct ng_nat_priv {
node_p node; /* back pointer to node */
hook_p in; /* hook for demasquerading */
hook_p out; /* hook for masquerading */
struct libalias *lib; /* libalias handler */
uint32_t flags; /* status flags */
};
-typedef struct ng_priv_priv *priv_p;
+typedef struct ng_nat_priv *priv_p;
/* Values of flags */
#define NGNAT_READY 0x1 /* We have everything to work */
==== //depot/projects/linuxolator/src/sys/netinet6/in6_ifattach.c#3 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/netinet6/in6_ifattach.c,v 1.34 2006/10/02 10:13:30 gnn Exp $ */
+/* $FreeBSD: src/sys/netinet6/in6_ifattach.c,v 1.35 2006/10/13 12:41:36 ume Exp $ */
/* $KAME: in6_ifattach.c,v 1.118 2001/05/24 07:44:00 itojun Exp $ */
/*-
@@ -63,7 +63,7 @@
#ifdef IP6_AUTO_LINKLOCAL
int ip6_auto_linklocal = IP6_AUTO_LINKLOCAL;
#else
-int ip6_auto_linklocal = 0; /* disable by default */
+int ip6_auto_linklocal = 1; /* enable by default */
#endif
struct callout in6_tmpaddrtimer_ch;
==== //depot/projects/linuxolator/src/sys/netinet6/in6_proto.c#2 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/netinet6/in6_proto.c,v 1.38 2006/08/04 21:27:38 brooks Exp $ */
+/* $FreeBSD: src/sys/netinet6/in6_proto.c,v 1.39 2006/10/13 12:45:53 ume Exp $ */
/* $KAME: in6_proto.c,v 1.91 2001/05/27 13:28:35 itojun Exp $ */
/*-
@@ -500,6 +500,7 @@
sysctl_ip6_tempvltime, "I", "");
SYSCTL_INT(_net_inet6_ip6, IPV6CTL_V6ONLY,
v6only, CTLFLAG_RW, &ip6_v6only, 0, "");
+TUNABLE_INT("net.inet6.ip6.auto_linklocal", &ip6_auto_linklocal);
SYSCTL_INT(_net_inet6_ip6, IPV6CTL_AUTO_LINKLOCAL,
auto_linklocal, CTLFLAG_RW, &ip6_auto_linklocal, 0, "");
SYSCTL_STRUCT(_net_inet6_ip6, IPV6CTL_RIP6STATS, rip6stats, CTLFLAG_RD,
==== //depot/projects/linuxolator/src/sys/nfsclient/nfs_vnops.c#4 (text+ko) ====
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.269 2006/09/26 04:15:58 tegge Exp $");
+__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.270 2006/10/14 07:25:11 bde Exp $");
/*
* vnode op calls for Sun NFS version 2 and 3
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list