From owner-p4-projects@FreeBSD.ORG Thu Sep 10 11:19:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0C621065670; Thu, 10 Sep 2009 11:19:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93E75106566B for ; Thu, 10 Sep 2009 11:19:47 +0000 (UTC) (envelope-from zec@fer.hr) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 822088FC14 for ; Thu, 10 Sep 2009 11:19:47 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n8ABJlpt020660 for ; Thu, 10 Sep 2009 11:19:47 GMT (envelope-from zec@fer.hr) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n8ABJkHG020658 for perforce@freebsd.org; Thu, 10 Sep 2009 11:19:46 GMT (envelope-from zec@fer.hr) Date: Thu, 10 Sep 2009 11:19:46 GMT Message-Id: <200909101119.n8ABJkHG020658@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@fer.hr using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 168399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Sep 2009 11:19:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=168399 Change 168399 by zec@zec_nxlab on 2009/09/10 11:19:10 IFC @ 168393 Affected files ... .. //depot/projects/vimage/src/share/man/man4/Makefile#17 integrate .. //depot/projects/vimage/src/share/man/man4/dpms.4#1 branch .. //depot/projects/vimage/src/share/man/man4/ed.4#5 integrate .. //depot/projects/vimage/src/share/man/man4/ips.4#2 integrate .. //depot/projects/vimage/src/share/man/man4/man4.i386/Makefile#3 integrate .. //depot/projects/vimage/src/share/man/man4/man4.i386/dpms.4#2 delete .. //depot/projects/vimage/src/share/man/man4/mfi.4#3 integrate .. //depot/projects/vimage/src/share/man/man4/pts.4#4 integrate .. //depot/projects/vimage/src/share/man/man4/pty.4#2 integrate .. //depot/projects/vimage/src/share/man/man5/make.conf.5#2 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#23 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#35 integrate .. //depot/projects/vimage/src/sys/amd64/conf/NOTES#21 integrate .. //depot/projects/vimage/src/sys/amd64/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/amd64/include/param.h#10 integrate .. //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#13 integrate .. //depot/projects/vimage/src/sys/arm/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/arm/include/param.h#5 integrate .. //depot/projects/vimage/src/sys/cam/cam_xpt.c#22 integrate .. //depot/projects/vimage/src/sys/cam/cam_xpt_internal.h#2 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_cd.c#9 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_da.c#19 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/kern/opensolaris_kobj.c#5 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c#7 integrate .. //depot/projects/vimage/src/sys/cddl/compat/opensolaris/sys/proc.h#4 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c#7 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#3 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#8 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#9 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#7 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#15 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c#4 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#25 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#25 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#35 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#62 integrate .. //depot/projects/vimage/src/sys/conf/files#78 integrate .. //depot/projects/vimage/src/sys/conf/files.amd64#26 integrate .. //depot/projects/vimage/src/sys/conf/files.i386#34 integrate .. //depot/projects/vimage/src/sys/conf/files.ia64#11 integrate .. //depot/projects/vimage/src/sys/conf/files.powerpc#26 integrate .. //depot/projects/vimage/src/sys/conf/files.sparc64#18 integrate .. //depot/projects/vimage/src/sys/conf/options#58 integrate .. //depot/projects/vimage/src/sys/conf/options.amd64#9 integrate .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu.c#1 branch .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu.h#1 branch .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu_regs.h#1 branch .. //depot/projects/vimage/src/sys/contrib/x86emu/x86emu_util.c#1 branch .. //depot/projects/vimage/src/sys/dev/aac/aac.c#13 integrate .. //depot/projects/vimage/src/sys/dev/aac/aacvar.h#6 integrate .. //depot/projects/vimage/src/sys/dev/ae/if_ae.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ahci/ahci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/amr/amr.c#11 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-disk.c#13 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-dma.c#11 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-raid.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-acerlabs.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/chipsets/ata-marvell.c#9 integrate .. //depot/projects/vimage/src/sys/dev/ath/ah_osdep.c#10 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ah.c#10 integrate .. //depot/projects/vimage/src/sys/dev/ath/ath_hal/ah_eeprom_v3.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#44 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bce.c#25 integrate .. //depot/projects/vimage/src/sys/dev/coretemp/coretemp.c#6 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#30 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#28 integrate .. //depot/projects/vimage/src/sys/dev/dpms/dpms.c#1 branch .. //depot/projects/vimage/src/sys/dev/e1000/if_em.c#16 integrate .. //depot/projects/vimage/src/sys/dev/ep/if_ep.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ep/if_epreg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/fb/s3_pci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/fb/vesa.c#1 branch .. //depot/projects/vimage/src/sys/dev/fb/vesa.h#1 branch .. //depot/projects/vimage/src/sys/dev/fb/vga.c#4 integrate .. //depot/projects/vimage/src/sys/dev/firewire/fwcrom.c#2 integrate .. //depot/projects/vimage/src/sys/dev/firewire/fwdev.c#8 integrate .. //depot/projects/vimage/src/sys/dev/fxp/if_fxp.c#19 integrate .. //depot/projects/vimage/src/sys/dev/hptiop/hptiop.c#5 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_core.c#6 integrate .. //depot/projects/vimage/src/sys/dev/hwpmc/pmc_events.h#9 integrate .. //depot/projects/vimage/src/sys/dev/iir/iir.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.c#11 integrate .. //depot/projects/vimage/src/sys/dev/mpt/mpt_raid.c#9 integrate .. //depot/projects/vimage/src/sys/dev/msk/if_msk.c#21 integrate .. //depot/projects/vimage/src/sys/dev/mwl/if_mwl.c#4 integrate .. //depot/projects/vimage/src/sys/dev/null/null.c#2 integrate .. //depot/projects/vimage/src/sys/dev/pty/pty.c#2 integrate .. //depot/projects/vimage/src/sys/dev/rp/rp_pci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#39 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac_private.h#9 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac_reg.h#2 integrate .. //depot/projects/vimage/src/sys/dev/syscons/scterm-teken.c#7 integrate .. //depot/projects/vimage/src/sys/dev/syscons/scvesactl.c#4 integrate .. //depot/projects/vimage/src/sys/dev/syscons/teken/Makefile#2 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/gensequences#2 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/sequences#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken.c#7 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken.h#5 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_demo.c#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_scs.h#2 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_stress.c#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_subr.h#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_subr_compat.h#3 delete .. //depot/projects/vimage/src/sys/dev/syscons/teken/teken_wcwidth.h#2 delete .. //depot/projects/vimage/src/sys/dev/txp/if_txp.c#8 integrate .. //depot/projects/vimage/src/sys/dev/usb/storage/umass.c#12 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rum.c#11 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_rumreg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_urtw.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/wlan/if_zyd.c#15 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#19 integrate .. //depot/projects/vimage/src/sys/dev/xen/blkfront/blkfront.c#9 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_conv.c#5 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clnode.c#4 integrate .. //depot/projects/vimage/src/sys/fs/nfsclient/nfs_clport.c#4 integrate .. //depot/projects/vimage/src/sys/fs/pseudofs/pseudofs_vncache.c#10 integrate .. //depot/projects/vimage/src/sys/fs/pseudofs/pseudofs_vnops.c#15 integrate .. //depot/projects/vimage/src/sys/geom/geom_dev.c#11 integrate .. //depot/projects/vimage/src/sys/geom/geom_disk.c#10 integrate .. //depot/projects/vimage/src/sys/geom/geom_io.c#9 integrate .. //depot/projects/vimage/src/sys/geom/geom_vfs.c#6 integrate .. //depot/projects/vimage/src/sys/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/vimage/src/sys/geom/stripe/g_stripe.c#4 integrate .. //depot/projects/vimage/src/sys/i386/conf/NOTES#34 integrate .. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#23 integrate .. //depot/projects/vimage/src/sys/i386/i386/machdep.c#26 integrate .. //depot/projects/vimage/src/sys/i386/i386/pmap.c#32 integrate .. //depot/projects/vimage/src/sys/i386/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/i386/include/param.h#8 integrate .. //depot/projects/vimage/src/sys/i386/include/pc/vesa.h#4 delete .. //depot/projects/vimage/src/sys/i386/include/pcpu.h#8 integrate .. //depot/projects/vimage/src/sys/i386/include/pmap.h#14 integrate .. //depot/projects/vimage/src/sys/i386/isa/dpms.c#2 delete .. //depot/projects/vimage/src/sys/i386/isa/vesa.c#5 delete .. //depot/projects/vimage/src/sys/i386/xen/locore.s#4 integrate .. //depot/projects/vimage/src/sys/i386/xen/pmap.c#12 integrate .. //depot/projects/vimage/src/sys/ia64/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/ia64/include/param.h#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_exec.c#26 integrate .. //depot/projects/vimage/src/sys/kern/kern_fork.c#33 integrate .. //depot/projects/vimage/src/sys/kern/kern_jail.c#37 integrate .. //depot/projects/vimage/src/sys/kern/kern_kthread.c#8 integrate .. //depot/projects/vimage/src/sys/kern/kern_linker.c#32 integrate .. //depot/projects/vimage/src/sys/kern/kern_lock.c#21 integrate .. //depot/projects/vimage/src/sys/kern/kern_mutex.c#18 integrate .. //depot/projects/vimage/src/sys/kern/kern_proc.c#29 integrate .. //depot/projects/vimage/src/sys/kern/kern_sx.c#19 integrate .. //depot/projects/vimage/src/sys/kern/kern_thr.c#18 integrate .. //depot/projects/vimage/src/sys/kern/kern_thread.c#24 integrate .. //depot/projects/vimage/src/sys/kern/subr_bus.c#23 integrate .. //depot/projects/vimage/src/sys/kern/subr_witness.c#27 integrate .. //depot/projects/vimage/src/sys/kern/sys_generic.c#17 integrate .. //depot/projects/vimage/src/sys/kern/tty_pts.c#20 integrate .. //depot/projects/vimage/src/sys/kern/vfs_subr.c#33 integrate .. //depot/projects/vimage/src/sys/kern/vfs_syscalls.c#33 integrate .. //depot/projects/vimage/src/sys/kern/vfs_vnops.c#29 integrate .. //depot/projects/vimage/src/sys/mips/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/mips/include/param.h#5 integrate .. //depot/projects/vimage/src/sys/modules/Makefile#55 integrate .. //depot/projects/vimage/src/sys/modules/dpms/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/vesa/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/x86emu/Makefile#1 branch .. //depot/projects/vimage/src/sys/net/if_arp.h#2 integrate .. //depot/projects/vimage/src/sys/net/if_llatbl.c#10 integrate .. //depot/projects/vimage/src/sys/net/if_vlan.c#24 integrate .. //depot/projects/vimage/src/sys/net/route.h#12 integrate .. //depot/projects/vimage/src/sys/net/rtsock.c#45 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_action.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_dfs.c#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.h#22 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_sta.c#17 integrate .. //depot/projects/vimage/src/sys/netinet/if_ether.c#50 integrate .. //depot/projects/vimage/src/sys/netinet/if_ether.h#5 integrate .. //depot/projects/vimage/src/sys/netinet/in.c#43 integrate .. //depot/projects/vimage/src/sys/netinet/in.h#12 integrate .. //depot/projects/vimage/src/sys/netinet/in_mcast.c#33 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fastfwd.c#22 integrate .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#51 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.c#45 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#41 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#35 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.h#18 integrate .. //depot/projects/vimage/src/sys/netipsec/key.c#48 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_node.c#8 integrate .. //depot/projects/vimage/src/sys/nfsserver/nfs_serv.c#18 integrate .. //depot/projects/vimage/src/sys/opencrypto/cryptodev.c#10 integrate .. //depot/projects/vimage/src/sys/pc98/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/pc98/include/pc/vesa.h#2 delete .. //depot/projects/vimage/src/sys/powerpc/conf/GENERIC#26 integrate .. //depot/projects/vimage/src/sys/powerpc/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/powerpc/include/param.h#6 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm_token.c#15 integrate .. //depot/projects/vimage/src/sys/sparc64/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/sparc64/include/param.h#7 integrate .. //depot/projects/vimage/src/sys/sun4v/include/_align.h#1 branch .. //depot/projects/vimage/src/sys/sun4v/include/param.h#5 integrate .. //depot/projects/vimage/src/sys/sys/_sockaddr_storage.h#1 branch .. //depot/projects/vimage/src/sys/sys/bus.h#9 integrate .. //depot/projects/vimage/src/sys/sys/imgact_aout.h#2 integrate .. //depot/projects/vimage/src/sys/sys/ioctl_compat.h#6 integrate .. //depot/projects/vimage/src/sys/sys/param.h#62 integrate .. //depot/projects/vimage/src/sys/sys/proc.h#38 integrate .. //depot/projects/vimage/src/sys/sys/socket.h#10 integrate .. //depot/projects/vimage/src/sys/sys/syscallsubr.h#12 integrate .. //depot/projects/vimage/src/sys/sys/sysproto.h#15 integrate .. //depot/projects/vimage/src/sys/sys/tty.h#12 integrate .. //depot/projects/vimage/src/sys/sys/ttycom.h#5 integrate .. //depot/projects/vimage/src/sys/teken/Makefile#1 branch .. //depot/projects/vimage/src/sys/teken/gensequences#1 branch .. //depot/projects/vimage/src/sys/teken/sequences#1 branch .. //depot/projects/vimage/src/sys/teken/teken.c#1 branch .. //depot/projects/vimage/src/sys/teken/teken.h#1 branch .. //depot/projects/vimage/src/sys/teken/teken_demo.c#1 branch .. //depot/projects/vimage/src/sys/teken/teken_scs.h#1 branch .. //depot/projects/vimage/src/sys/teken/teken_stress.c#1 branch .. //depot/projects/vimage/src/sys/teken/teken_subr.h#1 branch .. //depot/projects/vimage/src/sys/teken/teken_subr_compat.h#1 branch .. //depot/projects/vimage/src/sys/teken/teken_wcwidth.h#1 branch .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_softdep.c#17 integrate .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_vfsops.c#24 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_acl.c#5 integrate .. //depot/projects/vimage/src/sys/vm/vm_extern.h#9 integrate .. //depot/projects/vimage/src/sys/vm/vm_glue.c#12 integrate Differences ... ==== //depot/projects/vimage/src/share/man/man4/Makefile#17 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.460 2009/07/26 12:20:07 bz Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.461 2009/09/09 09:50:31 delphij Exp $ MAN= aac.4 \ acpi.4 \ @@ -85,6 +85,7 @@ digi.4 \ disc.4 \ divert.4 \ + ${_dpms.4} \ dpt.4 \ dummynet.4 \ ed.4 \ @@ -611,6 +612,7 @@ _asmc.4= asmc.4 _coretemp.4= coretemp.4 _cpuctl.4= cpuctl.4 +_dpms.4= dpms.4 _hptiop.4= hptiop.4 _hptmv.4= hptmv.4 _hptrr.4= hptrr.4 ==== //depot/projects/vimage/src/share/man/man4/ed.4#5 (text+ko) ==== @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ed.4,v 1.61 2009/04/18 04:21:04 imp Exp $ +.\" $FreeBSD: src/share/man/man4/ed.4,v 1.63 2009/09/09 21:51:54 brooks Exp $ .\" .Dd April 9, 2009 .Dt ED 4 @@ -425,3 +425,21 @@ .Pp PC Card attachment supports the D-Link DMF650TX LAN/Modem card's Ethernet port only at this time. +.Pp +Some devices supported by +.Nm +do not generate the link state change events used by +.Xr devd 8 +to start +.Xr dhclinet 8 . +If you have problems with +.Xr dhclient 8 +not starting and the device is always attached to the network it may +be possible to work around this by changing +.Dq Li DHCP +to +.Dq Li SYNCDHCP +in the +.Va ifconfig_ed0 +entry in +.Pa /etc/rc.conf . ==== //depot/projects/vimage/src/share/man/man4/ips.4#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/ips.4,v 1.7 2006/11/05 08:55:21 maxim Exp $ +.\" $FreeBSD: src/share/man/man4/ips.4,v 1.9 2009/09/07 20:57:01 trasz Exp $ .\" -.Dd November 4, 2006 +.Dd August 7, 2009 .Dt IPS 4 .Os .Sh NAME @@ -92,6 +92,12 @@ .It ServeRAID 7t/7k/7M .El +.Pp +Newer ServeRAID controllers are supported by the +.Xr aac 4 +or +.Xr mfi 4 +driver. .Sh DIAGNOSTICS Several error codes may be shown when the card initializes the .Tn IBM @@ -180,6 +186,8 @@ .Tn SCSI subsystem. .Sh SEE ALSO +.Xr aac 4 , +.Xr mfi 4 , .Xr ch 4 , .Xr da 4 , .Xr sysctl 8 ==== //depot/projects/vimage/src/share/man/man4/man4.i386/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man4/man4.i386/Makefile,v 1.194 2009/04/16 11:09:59 rwatson Exp $ +# $FreeBSD: src/share/man/man4/man4.i386/Makefile,v 1.195 2009/09/09 14:17:07 bz Exp $ MAN= aic.4 \ alpm.4 \ @@ -10,7 +10,6 @@ cs.4 \ ct.4 \ ctau.4 \ - dpms.4 \ cx.4 \ ep.4 \ ex.4 \ ==== //depot/projects/vimage/src/share/man/man4/mfi.4#3 (text) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.8 2009/08/15 11:47:05 trasz Exp $ +.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.9 2009/08/31 16:19:06 trasz Exp $ .\" .Dd August 15, 2009 .Dt MFI 4 @@ -102,9 +102,9 @@ An attempt was made to remove a mounted volume. .El .Sh SEE ALSO -.Xr mfiutil 1 , .Xr amr 4 , -.Xr pci 4 +.Xr pci 4 , +.Xr mfiutil 8 .Sh HISTORY The .Nm ==== //depot/projects/vimage/src/share/man/man4/pts.4#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)pty.4 8.2 (Berkeley) 11/30/93 -.\" $FreeBSD: src/share/man/man4/pts.4,v 1.4 2009/06/20 16:30:32 ed Exp $ +.\" $FreeBSD: src/share/man/man4/pts.4,v 1.5 2009/09/06 10:27:45 ed Exp $ .\" .Dd August 20, 2008 .Dt PTS 4 @@ -147,15 +147,6 @@ pseudo-terminals implementation are: .Pp .Bl -tag -width ".Pa /dev/pts/[num]" -.It Pa /dev/ptmx -Control device, returns a file descriptor to a new master -pseudo-terminal when opened. -This device should not be opened directly. -It's only available for binary compatibility. -New devices should only be allocated with -.Xr posix_openpt 2 -and -.Xr openpty 3 . .It Pa /dev/pts/[num] Pseudo-terminal slave devices. .El ==== //depot/projects/vimage/src/share/man/man4/pty.4#2 (text+ko) ==== @@ -25,14 +25,14 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/pty.4,v 1.20 2008/08/20 08:31:58 ed Exp $ +.\" $FreeBSD: src/share/man/man4/pty.4,v 1.21 2009/09/06 10:27:45 ed Exp $ .\" .Dd August 20, 2008 .Dt PTY 4 .Os .Sh NAME .Nm pty -.Nd BSD-style compatibility pseudo-terminal driver +.Nd BSD-style and System V-style compatibility pseudo-terminal driver .Sh SYNOPSIS .Cd "device pty" .Sh DESCRIPTION @@ -48,6 +48,12 @@ A device node for this terminal shall be created, which has the name .Pa /dev/ttyXX . .Pp +The +.Nm +driver also provides a cloning System V +.Pa /dev/ptmx +device. +.Pp New code should not try to allocate pseudo-terminals using this interface. It is only provided for compatibility with older C libraries @@ -63,6 +69,9 @@ Pseudo-terminal master devices. .It Pa /dev/tty[l-sL-S][0-9a-v] Pseudo-terminal slave devices. +.It Pa /dev/ptmx +Control device, returns a file descriptor to a new master +pseudo-terminal when opened. .El .Sh DIAGNOSTICS None. @@ -75,7 +84,7 @@ pseudo-terminal driver appeared in .Bx 4.2 . .Sh BUGS -Unlike previous implementations, the master slave device nodes are +Unlike previous implementations, the master and slave device nodes are destroyed when the PTY becomes unused. A call to .Xr stat 2 ==== //depot/projects/vimage/src/share/man/man5/make.conf.5#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/share/man/man5/make.conf.5,v 1.140 2007/06/15 03:21:20 gshapiro Exp $ +.\" $FreeBSD: src/share/man/man5/make.conf.5,v 1.141 2009/09/01 05:55:10 maxim Exp $ .\" -.Dd September 5, 2006 +.Dd September 1, 2009 .Dt MAKE.CONF 5 .Os .Sh NAME @@ -466,6 +466,12 @@ and allow access over FireWire(IEEE1394) using .Xr dconschat 8 . Currently, only i386 and amd64 are supported. +.It Va MALLOC_PRODUCTION +.Pq Vt bool +Set this to disable assertions and statistics gathering in +.Xr malloc 3 . +It also defaults the A and J runtime options to off. +Disabled by default on -CURRENT. .It Va MODULES_WITH_WORLD .Pq Vt bool Set to build modules with the system instead of the kernel. ==== //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#23 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.60 2009/08/14 21:05:08 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.61 2009/09/02 00:39:59 jhb Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_kdtrace.h" @@ -990,18 +990,21 @@ * we don't lose an interrupt delivery race. */ td = curthread; - thread_lock(td); - if (sched_is_bound(td)) - panic("apic_free_vector: Thread already bound.\n"); - sched_bind(td, apic_cpuid(apic_id)); - thread_unlock(td); + if (!rebooting) { + thread_lock(td); + if (sched_is_bound(td)) + panic("apic_free_vector: Thread already bound.\n"); + sched_bind(td, apic_cpuid(apic_id)); + thread_unlock(td); + } mtx_lock_spin(&icu_lock); lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1; mtx_unlock_spin(&icu_lock); - thread_lock(td); - sched_unbind(td); - thread_unlock(td); - + if (!rebooting) { + thread_lock(td); + sched_unbind(td); + thread_unlock(td); + } } /* Map an IDT vector (APIC) to an IRQ (interrupt source). */ ==== //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#35 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.669 2009/08/29 16:01:21 rnoland Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.672 2009/09/02 16:47:10 jkim Exp $"); /* * Manages physical address maps. @@ -178,6 +178,8 @@ vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS; pt_entry_t pg_nx; +static int pat_works = 0; /* Is page attribute table sane? */ + SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); static int pg_ps_enabled = 1; @@ -590,20 +592,56 @@ pmap_init_pat(void) { uint64_t pat_msr; + char *sysenv; + static int pat_tested = 0; /* Bail if this CPU doesn't implement PAT. */ if (!(cpu_feature & CPUID_PAT)) panic("no PAT??"); /* - * Leave the indices 0-3 at the default of WB, WT, UC, and UC-. - * Program 4 and 5 as WP and WC. - * Leave 6 and 7 as UC and UC-. + * Some Apple Macs based on nVidia chipsets cannot enter ACPI mode + * via SMI# when we use upper 4 PAT entries for unknown reason. */ - pat_msr = rdmsr(MSR_PAT); - pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); - pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | - PAT_VALUE(5, PAT_WRITE_COMBINING); + if (!pat_tested) { + pat_works = 1; + sysenv = getenv("smbios.system.product"); + if (sysenv != NULL) { + if (strncmp(sysenv, "MacBook5,1", 10) == 0 || + strncmp(sysenv, "MacBookPro5,5", 13) == 0 || + strncmp(sysenv, "Macmini3,1", 10) == 0) + pat_works = 0; + freeenv(sysenv); + } + pat_tested = 1; + } + + /* Initialize default PAT entries. */ + pat_msr = PAT_VALUE(0, PAT_WRITE_BACK) | + PAT_VALUE(1, PAT_WRITE_THROUGH) | + PAT_VALUE(2, PAT_UNCACHED) | + PAT_VALUE(3, PAT_UNCACHEABLE) | + PAT_VALUE(4, PAT_WRITE_BACK) | + PAT_VALUE(5, PAT_WRITE_THROUGH) | + PAT_VALUE(6, PAT_UNCACHED) | + PAT_VALUE(7, PAT_UNCACHEABLE); + + if (pat_works) { + /* + * Leave the indices 0-3 at the default of WB, WT, UC-, and UC. + * Program 4 and 5 as WP and WC. + * Leave 6 and 7 as UC- and UC. + */ + pat_msr &= ~(PAT_MASK(4) | PAT_MASK(5)); + pat_msr |= PAT_VALUE(4, PAT_WRITE_PROTECTED) | + PAT_VALUE(5, PAT_WRITE_COMBINING); + } else { + /* + * Just replace PAT Index 2 with WC instead of UC-. + */ + pat_msr &= ~PAT_MASK(2); + pat_msr |= PAT_VALUE(2, PAT_WRITE_COMBINING); + } wrmsr(MSR_PAT, pat_msr); } @@ -754,27 +792,48 @@ pat_flag = is_pde ? PG_PDE_PAT : PG_PTE_PAT; /* Map the caching mode to a PAT index. */ - switch (mode) { - case PAT_UNCACHEABLE: - pat_index = 3; - break; - case PAT_WRITE_THROUGH: - pat_index = 1; - break; - case PAT_WRITE_BACK: - pat_index = 0; - break; - case PAT_UNCACHED: - pat_index = 2; - break; - case PAT_WRITE_COMBINING: - pat_index = 5; - break; - case PAT_WRITE_PROTECTED: - pat_index = 4; - break; - default: - panic("Unknown caching mode %d\n", mode); + if (pat_works) { + switch (mode) { + case PAT_UNCACHEABLE: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_UNCACHED: + pat_index = 2; + break; + case PAT_WRITE_COMBINING: + pat_index = 5; + break; + case PAT_WRITE_PROTECTED: + pat_index = 4; + break; + default: + panic("Unknown caching mode %d\n", mode); + } + } else { + switch (mode) { + case PAT_UNCACHED: + case PAT_UNCACHEABLE: + case PAT_WRITE_PROTECTED: + pat_index = 3; + break; + case PAT_WRITE_THROUGH: + pat_index = 1; + break; + case PAT_WRITE_BACK: + pat_index = 0; + break; + case PAT_WRITE_COMBINING: + pat_index = 2; + break; + default: + panic("Unknown caching mode %d\n", mode); + } } /* Map the 3-bit index value into the PAT, PCD, and PWT bits. */ @@ -4476,7 +4535,8 @@ if (base < DMAP_MIN_ADDRESS) return (EINVAL); - cache_bits_pde = cache_bits_pte = -1; + cache_bits_pde = pmap_cache_bits(mode, 1); + cache_bits_pte = pmap_cache_bits(mode, 0); changed = FALSE; /* @@ -4493,8 +4553,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 1GB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_1gpage(tmpva) + NBPDP; continue; @@ -4522,8 +4580,6 @@ * memory type, then we need not demote this page. Just * increment tmpva to the next 2MB page frame. */ - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) == cache_bits_pde) { tmpva = trunc_2mpage(tmpva) + NBPDR; continue; @@ -4557,12 +4613,9 @@ for (tmpva = base; tmpva < base + size; ) { pdpe = pmap_pdpe(kernel_pmap, tmpva); if (*pdpe & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pdpe & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pdpe, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4588,12 +4641,9 @@ } pde = pmap_pdpe_to_pde(pdpe, tmpva); if (*pde & PG_PS) { - if (cache_bits_pde < 0) - cache_bits_pde = pmap_cache_bits(mode, 1); if ((*pde & PG_PDE_CACHE) != cache_bits_pde) { pmap_pde_attr(pde, cache_bits_pde); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { @@ -4616,13 +4666,10 @@ } tmpva = trunc_2mpage(tmpva) + NBPDR; } else { - if (cache_bits_pte < 0) - cache_bits_pte = pmap_cache_bits(mode, 0); pte = pmap_pde_to_pte(pde, tmpva); if ((*pte & PG_PTE_CACHE) != cache_bits_pte) { pmap_pte_attr(pte, cache_bits_pte); - if (!changed) - changed = TRUE; + changed = TRUE; } if (tmpva >= VM_MIN_KERNEL_ADDRESS) { if (pa_start == pa_end) { ==== //depot/projects/vimage/src/sys/amd64/conf/NOTES#21 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.92 2009/08/13 17:09:45 attilio Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.93 2009/09/09 09:50:31 delphij Exp $ # # @@ -154,6 +154,12 @@ ##################################################################### # HARDWARE DEVICE CONFIGURATION +# To include support for VGA VESA video modes (depends on X86EMU) +options VESA + +# Turn on extra debugging checks and output for VESA support. +options VESA_DEBUG + # # Optional devices: # ==== //depot/projects/vimage/src/sys/amd64/include/param.h#10 (text+ko) ==== @@ -36,33 +36,23 @@ * SUCH DAMAGE. * * @(#)param.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/amd64/include/param.h,v 1.30 2009/07/05 17:45:48 sam Exp $ + * $FreeBSD: src/sys/amd64/include/param.h,v 1.32 2009/09/08 20:45:40 phk Exp $ */ + +#ifndef _AMD64_INCLUDE_PARAM_H_ +#define _AMD64_INCLUDE_PARAM_H_ + +#include + /* * Machine dependent constants for AMD64. */ -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is u_long and - * must be cast to any desired pointer type. - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES (sizeof(long) - 1) -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((u_long)(p) + _ALIGNBYTES) &~ _ALIGNBYTES) -#endif - -#ifndef _NO_NAMESPACE_POLLUTION #define __HAVE_ACPI #define __PCI_REROUTE_INTERRUPT -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - #ifndef MACHINE #define MACHINE "amd64" #endif @@ -150,5 +140,4 @@ #define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024)) -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ +#endif /* !_AMD64_INCLUDE_PARAM_H_ */ ==== //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#13 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.42 2009/08/29 21:53:08 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.43 2009/09/01 11:41:51 kib Exp $"); #include #include @@ -119,9 +119,6 @@ #ifdef __XSCALE__ #ifndef CPU_XSCALE_CORE3 pmap_use_minicache(td2->td_kstack, td2->td_kstack_pages * PAGE_SIZE); - if (td2->td_altkstack) - pmap_use_minicache(td2->td_altkstack, td2->td_altkstack_pages * - PAGE_SIZE); #endif #endif td2->td_pcb = pcb2; ==== //depot/projects/vimage/src/sys/arm/include/param.h#5 (text+ko) ==== @@ -35,35 +35,23 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $FreeBSD: src/sys/arm/include/param.h,v 1.16 2009/07/05 17:45:48 sam Exp $ + * $FreeBSD: src/sys/arm/include/param.h,v 1.17 2009/09/08 20:45:40 phk Exp $ */ +#ifndef _ARM_INCLUDE_PARAM_H_ +#define _ARM_INCLUDE_PARAM_H_ + /* * Machine dependent constants for StrongARM */ -/* - * Round p (pointer or byte index) up to a correctly-aligned value - * for all data types (int, long, ...). The result is unsigned int - * and must be cast to any desired pointer type. - */ -#ifndef _ALIGNBYTES -#define _ALIGNBYTES (sizeof(int) - 1) -#endif -#ifndef _ALIGN -#define _ALIGN(p) (((unsigned)(p) + _ALIGNBYTES) & ~_ALIGNBYTES) -#endif +#include #define STACKALIGNBYTES (8 - 1) #define STACKALIGN(p) ((u_int)(p) & ~STACKALIGNBYTES) -#ifndef _NO_NAMESPACE_POLLUTION - #define __PCI_REROUTE_INTERRUPT -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - #ifndef MACHINE #define MACHINE "arm" #endif @@ -136,5 +124,4 @@ #define pgtok(x) ((x) * (PAGE_SIZE / 1024)) -#endif /* !_MACHINE_PARAM_H_ */ -#endif /* !_NO_NAMESPACE_POLLUTION */ +#endif /* !_ARM_INCLUDE_PARAM_H_ */ ==== //depot/projects/vimage/src/sys/cam/cam_xpt.c#22 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.218 2009/08/18 08:46:54 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.223 2009/09/06 19:06:50 mav Exp $"); #include #include @@ -1033,11 +1033,12 @@ * To ensure that this is printed in one piece, * mask out CAM interrupts. */ - printf("%s%d at %s%d bus %d target %d lun %d\n", + printf("%s%d at %s%d bus %d scbus%d target %d lun %d\n", periph->periph_name, periph->unit_number, path->bus->sim->sim_name, path->bus->sim->unit_number, path->bus->sim->bus_id, + path->bus->path_id, path->target->target_id, path->device->lun_id); printf("%s%d: ", periph->periph_name, periph->unit_number); @@ -2471,7 +2472,7 @@ path = start_ccb->ccb_h.path; cam_ccbq_insert_ccb(&path->device->ccbq, start_ccb); - if (path->device->qfrozen_cnt == 0) + if (path->device->ccbq.queue.qfrozen_cnt == 0) runq = xpt_schedule_dev_sendq(path->bus, path->device); else runq = 0; @@ -2930,7 +2931,7 @@ xpt_release_devq(crs->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - start_ccb->crs.qfrozen_cnt = dev->qfrozen_cnt; + start_ccb->crs.qfrozen_cnt = dev->ccbq.queue.qfrozen_cnt; start_ccb->ccb_h.status = CAM_REQ_CMP; break; } @@ -3226,7 +3227,7 @@ * If the device has been "frozen", don't attempt * to run it. */ - if (device->qfrozen_cnt > 0) { + if (device->ccbq.queue.qfrozen_cnt > 0) { continue; } @@ -3249,7 +3250,7 @@ * the device queue until we have a slot * available. */ - device->qfrozen_cnt++; + device->ccbq.queue.qfrozen_cnt++; STAILQ_INSERT_TAIL(&xsoftc.highpowerq, &work_ccb->ccb_h, xpt_links.stqe); @@ -3281,7 +3282,7 @@ * The client wants to freeze the queue * after this CCB is sent. */ - device->qfrozen_cnt++; + device->ccbq.queue.qfrozen_cnt++; } /* In Target mode, the peripheral driver knows best... */ @@ -4030,7 +4031,7 @@ mtx_assert(path->bus->sim->mtx, MA_OWNED); - path->device->qfrozen_cnt += count; + path->device->ccbq.queue.qfrozen_cnt += count; /* * Mark the last CCB in the queue as needing @@ -4048,7 +4049,7 @@ ccbh = TAILQ_LAST(&path->device->ccbq.active_ccbs, ccb_hdr_tailq); if (ccbh && ccbh->status == CAM_REQ_INPROG) ccbh->status = CAM_REQUEUE_REQ; - return (path->device->qfrozen_cnt); + return (path->device->ccbq.queue.qfrozen_cnt); } u_int32_t @@ -4092,11 +4093,12 @@ int rundevq; rundevq = 0; - if (dev->qfrozen_cnt > 0) { + if (dev->ccbq.queue.qfrozen_cnt > 0) { - count = (count > dev->qfrozen_cnt) ? dev->qfrozen_cnt : count; - dev->qfrozen_cnt -= count; - if (dev->qfrozen_cnt == 0) { + count = (count > dev->ccbq.queue.qfrozen_cnt) ? + dev->ccbq.queue.qfrozen_cnt : count; >>> TRUNCATED FOR MAIL (1000 lines) <<<