Date: Tue, 22 Aug 2006 19:12:05 GMT From: Alexander Leidinger <netchild@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 104792 for review Message-ID: <200608221912.k7MJC5Gn016225@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=104792 Change 104792 by netchild@netchild_magellan on 2006/08/22 19:12:04 Final IFC to generate the diff of "the rest". The SoC is over now. Affected files ... .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux.h#7 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_machdep.c#10 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/boot/arm/Makefile#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/boot/arm/at91/boot0/Makefile#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/boot/common/help.common#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/boot/common/loader.8#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/soc2006/rdivacky_linuxolator/boot/forth/loader.conf#4 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/cam/scsi/scsi_all.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_misc.c#25 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_signal.c#10 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/conf/files.pc98#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/ata/ata-chipset.c#9 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/bge/if_bge.c#6 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/em/if_em.c#9 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/if_ic.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iicbb.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_ioctl.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_pci.c#5 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux.h#22 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/sys_process.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_socket.c#7 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/modules/Makefile#8 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/ip_fw.h#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netinet/ip_fw2.c#7 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netsmb/smb_crypt.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netsmb/smb_iod.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netsmb/smb_rq.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/netsmb/smb_rq.h#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/pci/agp_amd64.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/pci/nfsmb.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/sys/sysctl.h#5 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ufs/ffs/ffs_snapshot.c#2 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_object.c#7 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_page.c#8 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_pageq.c#3 integrate .. //depot/projects/soc2006/rdivacky_linuxolator/vm/vm_zeroidle.c#2 integrate Differences ... ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux.h#7 (text+ko) ==== @@ -27,7 +27,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/amd64/linux32/linux.h,v 1.4 2006/08/16 18:54:50 netchild Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.5 2006/08/19 15:13:01 netchild Exp $ */ #ifndef _AMD64_LINUX_LINUX_H_ ==== //depot/projects/soc2006/rdivacky_linuxolator/amd64/linux32/linux32_machdep.c#10 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.14 2006/08/16 18:54:50 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.15 2006/08/20 13:50:27 netchild Exp $"); #include <sys/param.h> #include <sys/kernel.h> ==== //depot/projects/soc2006/rdivacky_linuxolator/boot/arm/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/sys/boot/arm/Makefile,v 1.1 2006/08/10 06:29:15 imp Exp $ +# $FreeBSD: src/sys/boot/arm/Makefile,v 1.2 2006/08/18 21:37:27 imp Exp $ -SUBDIR= +SUBDIR=at91 .include <bsd.subdir.mk> ==== //depot/projects/soc2006/rdivacky_linuxolator/boot/arm/at91/boot0/Makefile#2 (text) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.3 2006/04/19 17:16:48 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/boot0/Makefile,v 1.4 2006/08/18 20:26:54 imp Exp $ P=boot0 FILES=${P} SRCS=arm_init.s main.c NO_MAN= -LDFLAGS=-e 0 -T linker.cfg +LDFLAGS=-e 0 -T ${.CURDIR}/linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} .include <bsd.prog.mk> ==== //depot/projects/soc2006/rdivacky_linuxolator/boot/common/help.common#2 (text+ko) ==== @@ -294,7 +294,7 @@ Various kernel tunable parameters can be overridden by specifying new values in the environment. - set kern.ipc.nmbclusters=<value> NMBCLUSTERS + set kern.ipc.nmbclusters=<value> Set the number of mbuf clusters to be allocated. The value cannot be set below the default determined when the kernel ==== //depot/projects/soc2006/rdivacky_linuxolator/boot/common/loader.8#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" 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.85 2006/05/12 04:09:52 jhb Exp $ +.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.88 2006/08/20 09:31:17 ru Exp $ .\" -.Dd September 22, 2005 +.Dd August 18, 2006 .Dt LOADER 8 .Os .Sh NAME @@ -428,7 +428,7 @@ process. The first matching binary is used. The default list is -.Dq Li /sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall . +.Dq Li /sbin/init:/sbin/oinit:/sbin/init.bak:\:/rescue/init:/stand/sysinstall . .It Va interpret Has the value .Dq Li OK @@ -509,8 +509,6 @@ Set the number of mbuf clusters to be allocated. The value cannot be set below the default determined when the kernel was compiled. -Modifies -.Dv NMBCLUSTERS . .It Va kern.ipc.nsfbufs Set the number of .Xr sendfile 2 @@ -534,7 +532,7 @@ this parameter if you need to greatly extend the KVM reservation for other resources such as the buffer cache or -.Dv NMBCLUSTERS . +.Va kern.ipc.nmbclusters . Modifies .Dv VM_SWZONE_SIZE_MAX . .It Va kern.maxbcache @@ -547,7 +545,7 @@ Only mess around with this parameter if you need to greatly extend the KVM reservation for other resources such as the swap zone or -.Dv NMBCLUSTERS . +.Va kern.ipc.nmbclusters . Note that the NBUF parameter will override this limit. Modifies ==== //depot/projects/soc2006/rdivacky_linuxolator/boot/forth/loader.conf#4 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.109 2006/08/14 18:04:01 brueffer Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.111 2006/08/18 19:03:28 brueffer Exp $ ############################################################## ### Basic configuration options ############################ @@ -131,6 +131,7 @@ nullfs_load="NO" # Null filesystem portalfs_load="NO" # Portal filesystem procfs_load="NO" # Process filesystem +reiserfs_load="NO" # ReiserFS #umapfs_load="NO" # User-id map filesystem unionfs_load="NO" # Union filesystem xfs_load="NO" # XFS @@ -228,12 +229,13 @@ if_ie_load="NO" # Intel 82586 if_ipw_load="NO" # Intel PRO/Wireless 2100 wireless if_iwi_load="NO" # Intel PRO/Wireless 2200BG/2225BG/2915ABG wireless +if_ixgb_load="NO" # Intel PRO/10Gb Ethernet if_le_load="NO" # AMD Am7900 LANCE and Am79C9xx PCnet if_lge_load="NO" # Level 1 LXT1001 NetCellerator PCI Gigabit Ethernet -if_mxge_load="NO" # Myricom Myri10GE 10 Gigabit Ethernet +if_mxge_load="NO" # Myricom Myri10GE 10Gb Ethernet if_my_load="NO" # Myson PCI Fast Ethernet +if_nfe_load="NO" # NVIDIA nForce MCP Networking Adapter if_nge_load="NO" # National Semiconductor PCI Gigabit Ethernet -if_nfe_load="NO" # NVIDIA nForce MCP Networking Adapter if_nve_load="NO" # NVIDIA nForce MCP Networking Adapter if_oltr_load="NO" # Olicom if_pcn_load="NO" # AMD PCnet PCI ==== //depot/projects/soc2006/rdivacky_linuxolator/cam/scsi/scsi_all.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_all.c,v 1.48 2005/04/14 03:52:50 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_all.c,v 1.49 2006/08/21 13:24:50 ken Exp $"); #include <sys/param.h> @@ -2749,8 +2749,9 @@ void scsi_report_luns(struct ccb_scsiio *csio, u_int32_t retries, void (*cbfcnp)(struct cam_periph *, union ccb *), - u_int8_t tag_action, struct scsi_report_luns_data *rpl_buf, - u_int32_t alloc_len, u_int8_t sense_len, u_int32_t timeout) + u_int8_t tag_action, u_int8_t select_report, + struct scsi_report_luns_data *rpl_buf, u_int32_t alloc_len, + u_int8_t sense_len, u_int32_t timeout) { struct scsi_report_luns *scsi_cmd; @@ -2767,7 +2768,8 @@ scsi_cmd = (struct scsi_report_luns *)&csio->cdb_io.cdb_bytes; bzero(scsi_cmd, sizeof(*scsi_cmd)); scsi_cmd->opcode = REPORT_LUNS; - scsi_ulto4b(alloc_len, scsi_cmd->addr); + scsi_cmd->select_report = select_report; + scsi_ulto4b(alloc_len, scsi_cmd->length); } /* ==== //depot/projects/soc2006/rdivacky_linuxolator/cam/scsi/scsi_all.h#3 (text+ko) ==== @@ -14,7 +14,7 @@ * * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992 * - * $FreeBSD: src/sys/cam/scsi/scsi_all.h,v 1.25 2006/05/30 22:44:00 mjacob Exp $ + * $FreeBSD: src/sys/cam/scsi/scsi_all.h,v 1.26 2006/08/21 13:24:50 ken Exp $ */ /* @@ -708,11 +708,16 @@ struct scsi_report_luns { - u_int8_t opcode; - u_int8_t byte2; - u_int8_t unused[3]; - u_int8_t addr[4]; - u_int8_t control; + uint8_t opcode; + uint8_t reserved1; +#define RPL_REPORT_DEFAULT 0x00 +#define RPL_REPORT_WELLKNOWN 0x01 +#define RPL_REPORT_ALL 0x02 + uint8_t select_report; + uint8_t reserved2[3]; + uint8_t length[4]; + uint8_t reserved3; + uint8_t control; }; struct scsi_report_luns_data { @@ -723,10 +728,22 @@ */ struct { u_int8_t lundata[8]; - } luns[1]; + } luns[0]; }; +#define RPL_LUNDATA_PERIPH_BUS_MASK 0x3f +#define RPL_LUNDATA_FLAT_LUN_MASK 0x3f +#define RPL_LUNDATA_LUN_TARG_MASK 0x3f +#define RPL_LUNDATA_LUN_BUS_MASK 0xe0 +#define RPL_LUNDATA_LUN_LUN_MASK 0x1f +#define RPL_LUNDATA_EXT_LEN_MASK 0x30 +#define RPL_LUNDATA_EXT_EAM_MASK 0x0f +#define RPL_LUNDATA_EXT_EAM_WK 0x01 +#define RPL_LUNDATA_EXT_EAM_NOT_SPEC 0x0f #define RPL_LUNDATA_ATYP_MASK 0xc0 /* MBZ for type 0 lun */ -#define RPL_LUNDATA_T0LUN 1 /* @ lundata[1] */ +#define RPL_LUNDATA_ATYP_PERIPH 0x00 +#define RPL_LUNDATA_ATYP_FLAT 0x40 +#define RPL_LUNDATA_ATYP_LUN 0x80 +#define RPL_LUNDATA_ATYP_EXTLUN 0xc0 struct scsi_sense_data @@ -1035,11 +1052,12 @@ uint32_t timeout); void scsi_report_luns(struct ccb_scsiio *csio, u_int32_t retries, - void (*cbfcnp)(struct cam_periph *, - union ccb *), u_int8_t tag_action, - struct scsi_report_luns_data *, - u_int32_t alloc_len, u_int8_t sense_len, - u_int32_t timeout); + void (*cbfcnp)(struct cam_periph *, + union ccb *), u_int8_t tag_action, + u_int8_t select_report, + struct scsi_report_luns_data *rpl_buf, + u_int32_t alloc_len, u_int8_t sense_len, + u_int32_t timeout); void scsi_synchronize_cache(struct ccb_scsiio *csio, u_int32_t retries, ==== //depot/projects/soc2006/rdivacky_linuxolator/compat/linux/linux_misc.c#25 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.184 2006/08/17 21:21:30 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.185 2006/08/20 13:50:26 netchild Exp $"); #include "opt_compat.h" #include "opt_mac.h" ==== //depot/projects/soc2006/rdivacky_linuxolator/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.58 2006/08/17 21:06:48 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_signal.c,v 1.59 2006/08/19 15:13:01 netchild Exp $"); #include <sys/param.h> #include <sys/systm.h> ==== //depot/projects/soc2006/rdivacky_linuxolator/conf/files.pc98#3 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.344 2006/07/29 18:38:53 marcel Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.345 2006/08/18 15:46:38 netchild Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -55,7 +55,9 @@ # compat/linprocfs/linprocfs.c optional linprocfs compat/linsysfs/linsysfs.c optional linsysfs +compat/linux/linux_emul.c optional compat_linux compat/linux/linux_file.c optional compat_linux +compat/linux/linux_futex.c optional compat_linux compat/linux/linux_getcwd.c optional compat_linux compat/linux/linux_ioctl.c optional compat_linux compat/linux/linux_ipc.c optional compat_linux @@ -65,6 +67,7 @@ compat/linux/linux_socket.c optional compat_linux compat/linux/linux_stats.c optional compat_linux compat/linux/linux_sysctl.c optional compat_linux +compat/linux/linux_time.c optional compat_linux compat/linux/linux_uid16.c optional compat_linux compat/linux/linux_util.c optional compat_linux compat/pecoff/imgact_pecoff.c optional pecoff_support ==== //depot/projects/soc2006/rdivacky_linuxolator/dev/ata/ata-chipset.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.170 2006/08/18 00:01:29 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.171 2006/08/18 09:56:12 sos Exp $"); #include "opt_ata.h" #include <sys/param.h> @@ -2147,8 +2147,13 @@ if (!(idx = ata_match_chip(dev, ids))) return ENXIO; - sprintf(buffer, "JMicron %s %s controller", - idx->text, ata_mode2str(idx->max_dma)); + if ((pci_read_config(dev, 0xdf, 1) & 0x40) && + (pci_get_function(dev) == (pci_read_config(dev, 0x40, 1) & 0x02 >> 1))) + sprintf(buffer, "JMicron %s %s controller", + idx->text, ata_mode2str(ATA_UDMA6)); + else + sprintf(buffer, "JMicron %s %s controller", + idx->text, ata_mode2str(idx->max_dma)); device_set_desc_copy(dev, buffer); ctlr->chip = idx; ctlr->chipinit = ata_jmicron_chipinit; @@ -2164,25 +2169,43 @@ if (ata_setup_interrupt(dev)) return ENXIO; - /* set controller configuration to a setup we support */ - pci_write_config(dev, 0x40, 0x80c0a131, 4); - pci_write_config(dev, 0x80, 0x01200000, 4); + /* do we have multiple PCI functions ? */ + if (pci_read_config(dev, 0xdf, 1) & 0x40) { + /* if we have a memory BAR(5) we are on the AHCI part */ + ctlr->r_type2 = SYS_RES_MEMORY; + ctlr->r_rid2 = PCIR_BAR(5); + if ((ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2, + &ctlr->r_rid2, RF_ACTIVE))) + return ata_ahci_chipinit(dev); + + /* otherwise we are on the PATA part */ + ctlr->allocate = ata_pci_allocate; + ctlr->reset = ata_generic_reset; + ctlr->dmainit = ata_pci_dmainit; + ctlr->setmode = ata_jmicron_setmode; + ctlr->channels = ctlr->chip->cfg2; + } + else { + /* set controller configuration to a combined setup we support */ + pci_write_config(dev, 0x40, 0x80c0a131, 4); + pci_write_config(dev, 0x80, 0x01200000, 4); + + ctlr->r_type2 = SYS_RES_MEMORY; + ctlr->r_rid2 = PCIR_BAR(5); + if ((ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2, + &ctlr->r_rid2, RF_ACTIVE))){ + if ((error = ata_ahci_chipinit(dev))) + return error; + } - ctlr->allocate = ata_jmicron_allocate; - ctlr->reset = ata_jmicron_reset; - ctlr->dmainit = ata_jmicron_dmainit; - ctlr->setmode = ata_jmicron_setmode; + ctlr->allocate = ata_jmicron_allocate; + ctlr->reset = ata_jmicron_reset; + ctlr->dmainit = ata_jmicron_dmainit; + ctlr->setmode = ata_jmicron_setmode; - ctlr->r_type2 = SYS_RES_MEMORY; - ctlr->r_rid2 = PCIR_BAR(5); - if ((ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2, - &ctlr->r_rid2, RF_ACTIVE))) { - if ((error = ata_ahci_chipinit(dev))) - return error; + /* set the number of HW channels */ + ctlr->channels = ctlr->chip->cfg1 + ctlr->chip->cfg2; } - - /* set the number of HW channels */ - ctlr->channels = ctlr->chip->cfg1 + ctlr->chip->cfg2; return 0; } @@ -2233,7 +2256,7 @@ struct ata_pci_controller *ctlr = device_get_softc(GRANDPARENT(dev)); struct ata_channel *ch = device_get_softc(device_get_parent(dev)); - if (ch->unit >= ctlr->chip->cfg1) { + if (pci_read_config(dev, 0xdf, 1) & 0x40 || ch->unit >= ctlr->chip->cfg1) { struct ata_device *atadev = device_get_softc(dev); /* check for 80pin cable present */ ==== //depot/projects/soc2006/rdivacky_linuxolator/dev/bge/if_bge.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.137 2006/08/17 09:53:04 glebius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.138 2006/08/18 13:53:53 glebius Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -2905,6 +2905,25 @@ uint16_t csum_flags; int nsegs, i, error; + csum_flags = 0; + if (m->m_pkthdr.csum_flags) { + if (m->m_pkthdr.csum_flags & CSUM_IP) + csum_flags |= BGE_TXBDFLAG_IP_CSUM; + if (m->m_pkthdr.csum_flags & (CSUM_TCP | CSUM_UDP)) { + csum_flags |= BGE_TXBDFLAG_TCP_UDP_CSUM; + if (m->m_pkthdr.len < ETHER_MIN_NOPAD && + (error = bge_cksum_pad(m)) != 0) { + m_freem(m); + *m_head = NULL; + return (error); + } + } + if (m->m_flags & M_LASTFRAG) + csum_flags |= BGE_TXBDFLAG_IP_FRAG_END; + else if (m->m_flags & M_FRAG) + csum_flags |= BGE_TXBDFLAG_IP_FRAG; + } + map = sc->bge_cdata.bge_tx_dmamap[idx]; error = bus_dmamap_load_mbuf_sg(sc->bge_cdata.bge_mtag, map, m, segs, &nsegs, BUS_DMA_NOWAIT); @@ -2935,26 +2954,6 @@ return (ENOBUFS); } - csum_flags = 0; - if (m->m_pkthdr.csum_flags) { - if (m->m_pkthdr.csum_flags & CSUM_IP) - csum_flags |= BGE_TXBDFLAG_IP_CSUM; - if (m->m_pkthdr.csum_flags & (CSUM_TCP | CSUM_UDP)) { - csum_flags |= BGE_TXBDFLAG_TCP_UDP_CSUM; - if (m->m_pkthdr.len < ETHER_MIN_NOPAD && - (error = bge_cksum_pad(m)) != 0) { - bus_dmamap_unload(sc->bge_cdata.bge_mtag, map); - m_freem(m); - *m_head = NULL; - return (error); - } - } - if (m->m_flags & M_LASTFRAG) - csum_flags |= BGE_TXBDFLAG_IP_FRAG_END; - else if (m->m_flags & M_FRAG) - csum_flags |= BGE_TXBDFLAG_IP_FRAG; - } - bus_dmamap_sync(sc->bge_cdata.bge_mtag, map, BUS_DMASYNC_PREWRITE); for (i = 0; ; i++) { ==== //depot/projects/soc2006/rdivacky_linuxolator/dev/em/if_em.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ ***************************************************************************/ -/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.132 2006/08/16 23:55:34 yongari Exp $*/ +/*$FreeBSD: src/sys/dev/em/if_em.c,v 1.133 2006/08/22 02:32:48 yongari Exp $*/ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -946,6 +946,18 @@ return; } + /* + * Reclaim first as there is a possibility of losing Tx completion + * interrupts. Possible cause of missing Tx completion interrupts + * comes from Tx interrupt moderation mechanism(delayed interrupts) + * or chipset bug. + */ + em_txeof(adapter); + if (adapter->num_tx_desc_avail == adapter->num_tx_desc) { + EM_UNLOCK(adapter); + return; + } + if (em_check_for_link(&adapter->hw) == 0) device_printf(adapter->dev, "watchdog timeout -- resetting\n"); ==== //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/if_ic.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/iicbus/if_ic.c,v 1.25 2006/04/04 19:30:47 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iicbus/if_ic.c,v 1.26 2006/08/21 17:32:50 imp Exp $"); /* * I2C bus IP driver @@ -267,7 +267,7 @@ * icintr() */ static void -icintr (device_t dev, int event, char *ptr) +icintr(device_t dev, int event, char *ptr) { struct ic_softc *sc = (struct ic_softc *)device_get_softc(dev); int unit = device_get_unit(dev); @@ -340,8 +340,8 @@ * icoutput() */ static int -icoutput(struct ifnet *ifp, struct mbuf *m, - struct sockaddr *dst, struct rtentry *rt) +icoutput(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, + struct rtentry *rt) { device_t icdev = devclass_get_device(ic_devclass, ifp->if_dunit); device_t parent = device_get_parent(icdev); ==== //depot/projects/soc2006/rdivacky_linuxolator/dev/iicbus/iicbb.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbb.c,v 1.14 2006/04/04 23:29:17 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iicbus/iicbb.c,v 1.15 2006/08/21 17:32:50 imp Exp $"); /* * Generic I2C bit-banging code @@ -104,14 +104,16 @@ devclass_t iicbb_devclass; -static int iicbb_probe(device_t dev) +static int +iicbb_probe(device_t dev) { device_set_desc(dev, "I2C bit-banging driver"); return (0); } -static int iicbb_attach(device_t dev) +static int +iicbb_attach(device_t dev) { struct iicbb_softc *sc = (struct iicbb_softc *)device_get_softc(dev); @@ -123,7 +125,8 @@ return (0); } -static int iicbb_detach(device_t dev) +static int +iicbb_detach(device_t dev) { struct iicbb_softc *sc = (struct iicbb_softc *)device_get_softc(dev); @@ -188,7 +191,8 @@ printf(format, args); \ } while (0) -static void iicbb_setscl(device_t dev, int val, int timeout) +static void +iicbb_setscl(device_t dev, int val, int timeout) { int k = 0; @@ -203,7 +207,8 @@ return; } -static void iicbb_one(device_t dev, int timeout) +static void +iicbb_one(device_t dev, int timeout) { I2C_SET(dev,0,1); I2C_SET(dev,1,1); @@ -211,7 +216,8 @@ return; } -static void iicbb_zero(device_t dev, int timeout) +static void +iicbb_zero(device_t dev, int timeout) { I2C_SET(dev,0,0); I2C_SET(dev,1,0); @@ -233,7 +239,8 @@ * When the SLAVE has pulled this line low the MASTER will take the CLOCK * line low and then the SLAVE will release the SDA (data) line. */ -static int iicbb_ack(device_t dev, int timeout) +static int +iicbb_ack(device_t dev, int timeout) { int noack; int k = 0; @@ -254,7 +261,8 @@ return (noack); } -static void iicbb_sendbyte(device_t dev, u_char data, int timeout) +static void +iicbb_sendbyte(device_t dev, u_char data, int timeout) { int i; @@ -269,7 +277,8 @@ return; } -static u_char iicbb_readbyte(device_t dev, int last, int timeout) +static u_char +iicbb_readbyte(device_t dev, int last, int timeout) { int i; unsigned char data=0; @@ -291,17 +300,20 @@ return data; } -static int iicbb_callback(device_t dev, int index, caddr_t data) +static int +iicbb_callback(device_t dev, int index, caddr_t data) { return (IICBB_CALLBACK(device_get_parent(dev), index, data)); } -static int iicbb_reset(device_t dev, u_char speed, u_char addr, u_char *oldaddr) +static int +iicbb_reset(device_t dev, u_char speed, u_char addr, u_char *oldaddr) { return (IICBB_RESET(device_get_parent(dev), speed, addr, oldaddr)); } -static int iicbb_start(device_t dev, u_char slave, int timeout) +static int +iicbb_start(device_t dev, u_char slave, int timeout) { int error; @@ -327,7 +339,8 @@ return (error); } -static int iicbb_stop(device_t dev) +static int +iicbb_stop(device_t dev) { I2C_SET(dev,0,0); I2C_SET(dev,1,0); @@ -336,8 +349,8 @@ return (0); } -static int iicbb_write(device_t dev, char * buf, int len, int *sent, - int timeout) +static int +iicbb_write(device_t dev, char * buf, int len, int *sent, int timeout) { int bytes, error = 0; @@ -360,8 +373,8 @@ return (error); } -static int iicbb_read(device_t dev, char * buf, int len, int *read, - int last, int delay) +static int +iicbb_read(device_t dev, char * buf, int len, int *read, int last, int delay) { int bytes; ==== //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_ioctl.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_ioctl.h,v 1.17 2006/08/04 20:14:03 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_ioctl.h,v 1.18 2006/08/21 00:46:10 mjacob Exp $ */ /*- * * Copyright (c) 1997-2006 by Matthew Jacob @@ -61,9 +61,6 @@ #define ISP_ROLE_TARGET 0x1 #define ISP_ROLE_INITIATOR 0x2 #define ISP_ROLE_BOTH (ISP_ROLE_TARGET|ISP_ROLE_INITIATOR) -#ifndef ISP_DEFAULT_ROLES -#define ISP_DEFAULT_ROLES ISP_ROLE_BOTH -#endif /* * Get the current adapter role ==== //depot/projects/soc2006/rdivacky_linuxolator/dev/isp/isp_pci.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * FreeBSD Version. */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.119 2006/08/14 05:36:26 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.120 2006/08/21 00:46:10 mjacob Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -509,6 +509,12 @@ } } #endif + bitmap = 0; + if (getenv_int("role", &bitmap)) { + isp->isp_role = bitmap; + } else { + isp->isp_role = ISP_DEFAULT_ROLES; + } } static void ==== //depot/projects/soc2006/rdivacky_linuxolator/i386/linux/linux.h#22 (text+ko) ==== @@ -25,7 +25,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/i386/linux/linux.h,v 1.67 2006/08/16 18:54:50 netchild Exp $ + * $FreeBSD: src/sys/i386/linux/linux.h,v 1.68 2006/08/19 15:13:01 netchild Exp $ */ #ifndef _I386_LINUX_LINUX_H_ ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/sys_process.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.137 2006/02/22 18:57:50 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sys_process.c,v 1.138 2006/08/20 10:29:08 cperciva Exp $"); #include "opt_compat.h" @@ -934,7 +934,7 @@ break; case PT_LWPINFO: - if (data == 0 || data > sizeof(*pl)) { + if (data <= 0 || data > sizeof(*pl)) { error = EINVAL; break; } ==== //depot/projects/soc2006/rdivacky_linuxolator/kern/uipc_socket.c#7 (text+ko) ==== @@ -94,7 +94,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.279 2006/08/11 23:03:10 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_socket.c,v 1.280 2006/08/18 14:05:13 gnn Exp $"); #include "opt_inet.h" #include "opt_mac.h" @@ -1575,10 +1575,10 @@ } cm = cmn; } - if (so->so_rcv.sb_mb) + if (m != NULL) nextrecord = so->so_rcv.sb_mb->m_nextpkt; else - nextrecord = NULL; + nextrecord = so->so_rcv.sb_mb; orig_resid = 0; } if (m != NULL) { ==== //depot/projects/soc2006/rdivacky_linuxolator/modules/Makefile#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/Makefile,v 1.506 2006/08/01 22:19:00 sobomax Exp $ +# $FreeBSD: src/sys/modules/Makefile,v 1.507 2006/08/18 10:20:15 brueffer Exp $ .include <bsd.own.mk> @@ -124,6 +124,7 @@ isp \ ispfw \ ${_iwi} \ + ${_ixgb} \ joy \ kbdmux \ kue \ @@ -416,6 +417,7 @@ _ips= ips _ipw= ipw _iwi= iwi +_ixgb= ixgb _mly= mly _mxge= mxge _nfe= nfe @@ -465,6 +467,7 @@ _ips= ips _ipw= ipw _iwi= iwi +_ixgb= ixgb _linprocfs= linprocfs _linsysfs= linsysfs _linux= linux ==== //depot/projects/soc2006/rdivacky_linuxolator/netinet/ip_fw.h#3 (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/netinet/ip_fw.h,v 1.107 2006/08/17 22:49:50 julian Exp $ + * $FreeBSD: src/sys/netinet/ip_fw.h,v 1.108 2006/08/18 22:36:04 julian Exp $ */ #ifndef _IPFW2_H @@ -522,7 +522,6 @@ struct _ip6dn_args dummypar; /* dummynet->ip6_output */ struct sockaddr_in hopstore; /* store here if cannot use a pointer */ - }; /* ==== //depot/projects/soc2006/rdivacky_linuxolator/netinet/ip_fw2.c#7 (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/netinet/ip_fw2.c,v 1.143 2006/08/17 22:49:50 julian Exp $ + * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.144 2006/08/18 22:36:04 julian Exp $ */ #define DEB(x) @@ -2791,7 +2791,8 @@ case O_LOG: if (fw_verbose) - ipfw_log(f, hlen, args, m, oif, offset, tablearg); + ipfw_log(f, hlen, args, m, + oif, offset, tablearg); match = 1; break; @@ -3156,15 +3157,17 @@ if (sa->sin_addr.s_addr == INADDR_ANY) { bcopy(sa, &args->hopstore, sizeof(*sa)); - args->hopstore.sin_addr.s_addr = htonl(tablearg); - args->next_hop = &args->hopstore; + args->hopstore.sin_addr.s_addr = + htonl(tablearg); + args->next_hop = + &args->hopstore; } else { args->next_hop = sa; } } retval = IP_FW_PASS; - } - goto done; + } + goto done; case O_NETGRAPH: case O_NGTEE: ==== //depot/projects/soc2006/rdivacky_linuxolator/netsmb/smb_crypt.c#2 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netsmb/smb_crypt.c,v 1.9 2006/03/05 22:52:17 yar Exp $"); +__FBSDID("$FreeBSD: src/sys/netsmb/smb_crypt.c,v 1.10 2006/08/22 03:05:51 marcel Exp $"); #include <sys/param.h> #include <sys/malloc.h> @@ -241,8 +241,8 @@ } /* Initialize sec. signature field to sequence number + zeros. */ - *(u_int32_t *)rqp->sr_rqsig = htole32(rqp->sr_seqno); - *(u_int32_t *)(rqp->sr_rqsig + 4) = 0; + le32enc(rqp->sr_rqsig, rqp->sr_seqno); + le32enc(rqp->sr_rqsig + 4, 0); /* * Compute HMAC-MD5 of packet data, keyed by MAC key. ==== //depot/projects/soc2006/rdivacky_linuxolator/netsmb/smb_iod.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netsmb/smb_iod.c,v 1.16 2005/01/07 01:45:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/netsmb/smb_iod.c,v 1.17 2006/08/22 03:05:51 marcel Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -244,8 +244,8 @@ if (vcp->vc_maxmux != 0 && iod->iod_muxcnt >= vcp->vc_maxmux) return 0; #endif - *rqp->sr_rqtid = htole16(ssp ? ssp->ss_tid : SMB_TID_UNKNOWN); - *rqp->sr_rquid = htole16(vcp ? vcp->vc_smbuid : 0); + le16enc(rqp->sr_rqtid, ssp ? ssp->ss_tid : SMB_TID_UNKNOWN); + le16enc(rqp->sr_rquid, vcp ? vcp->vc_smbuid : 0); mb_fixhdr(&rqp->sr_rq); if (vcp->vc_hflags2 & SMB_FLAGS2_SECURITY_SIGNATURE) smb_rq_sign(rqp); ==== //depot/projects/soc2006/rdivacky_linuxolator/netsmb/smb_rq.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/netsmb/smb_rq.c,v 1.16 2005/01/07 01:45:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/netsmb/smb_rq.c,v 1.17 2006/08/22 03:05:51 marcel Exp $"); >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608221912.k7MJC5Gn016225>