From owner-p4-projects@FreeBSD.ORG Mon Jul 2 13:08:49 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E39D116A46D; Mon, 2 Jul 2007 13:08:48 +0000 (UTC) X-Original-To: perforce@FreeBSD.org Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9A4D116A46B for ; Mon, 2 Jul 2007 13:08:48 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 884BB13C468 for ; Mon, 2 Jul 2007 13:08:48 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l62D8mwL032851 for ; Mon, 2 Jul 2007 13:08:48 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l62D8iNW032847 for perforce@freebsd.org; Mon, 2 Jul 2007 13:08:44 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 2 Jul 2007 13:08:44 GMT Message-Id: <200707021308.l62D8iNW032847@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 122716 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: Mon, 02 Jul 2007 13:08:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=122716 Change 122716 by zec@zec_tca51 on 2007/07/02 13:08:09 IFC @ 112714 Affected files ... .. //depot/projects/vimage/src/sys/Makefile#4 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#8 integrate .. //depot/projects/vimage/src/sys/amd64/conf/GENERIC#8 integrate .. //depot/projects/vimage/src/sys/amd64/conf/NOTES#4 integrate .. //depot/projects/vimage/src/sys/boot/forth/loader.conf#6 integrate .. //depot/projects/vimage/src/sys/cam/cam_xpt.c#9 integrate .. //depot/projects/vimage/src/sys/cam/scsi/scsi_da.c#10 integrate .. //depot/projects/vimage/src/sys/conf/NOTES#10 integrate .. //depot/projects/vimage/src/sys/conf/files#12 integrate .. //depot/projects/vimage/src/sys/conf/options#12 integrate .. //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#4 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi.c#7 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpiio.h#2 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-all.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-chipset.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-disk.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-pci.h#4 integrate .. //depot/projects/vimage/src/sys/dev/ata/ata-usb.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#10 integrate .. //depot/projects/vimage/src/sys/dev/ipw/if_ipw.c#4 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp.c#8 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_pci.c#9 integrate .. //depot/projects/vimage/src/sys/dev/iwi/if_iwi.c#5 integrate .. //depot/projects/vimage/src/sys/dev/nxge/if_nxge.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/if_nxge.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/build-version.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/version.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-debug.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-defs.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-list.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-os-pal.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-os-template.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xge-queue.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-channel.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-config.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-device.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-driver.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-event.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-fifo.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-mgmt.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-mgmtaux.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-mm.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-regs.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-ring.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-stats.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal-types.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/include/xgehal.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xge-osdep.h#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xge-queue.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-channel-fp.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-channel.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-config.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-device-fp.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-device.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-driver.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-fifo-fp.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-fifo.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-mgmt.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-mgmtaux.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-mm.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-ring-fp.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-ring.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgehal/xgehal-stats.c#1 branch .. //depot/projects/vimage/src/sys/dev/nxge/xgell-version.h#1 branch .. //depot/projects/vimage/src/sys/dev/ral/rt2560.c#7 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2661.c#6 integrate .. //depot/projects/vimage/src/sys/dev/rp/rp.c#2 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#11 integrate .. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac_private.h#5 integrate .. //depot/projects/vimage/src/sys/dev/sound/pcm/ac97_patch.c#5 integrate .. //depot/projects/vimage/src/sys/dev/sound/usb/uaudio.c#5 integrate .. //depot/projects/vimage/src/sys/dev/sym/sym_hipd.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehci_pci.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/hid.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_aue.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_axe.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_axereg.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_cdce.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_cue.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_kue.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_rue.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_rum.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_udav.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_ural.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/ohci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ohci_pci.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/uark.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ubsa.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/ubser.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/ucom.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ucycom.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/udbp.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ufm.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ufoma.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uftdi.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/ugen.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/uhci_pci.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uhid.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uhub.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uipaq.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ukbd.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/ulpt.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/umass.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/umodem.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ums.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/uplcom.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/urio.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_mem.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_port.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_quirks.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_quirks.h#2 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb_subr.c#5 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdi.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdi_util.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/uscanner.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/uvisor.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/uvscom.c#4 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#6 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs.h#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_fifoops.c#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_fifoops.h#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_uma.c#2 delete .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_uma.h#2 delete .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.c#2 integrate .. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.h#2 integrate .. //depot/projects/vimage/src/sys/fs/umapfs/umap.h#2 delete .. //depot/projects/vimage/src/sys/fs/umapfs/umap_subr.c#3 delete .. //depot/projects/vimage/src/sys/fs/umapfs/umap_vfsops.c#3 delete .. //depot/projects/vimage/src/sys/fs/umapfs/umap_vnops.c#4 delete .. //depot/projects/vimage/src/sys/i386/acpica/acpi_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/i386/conf/GENERIC#10 integrate .. //depot/projects/vimage/src/sys/i386/conf/NOTES#9 integrate .. //depot/projects/vimage/src/sys/i386/i386/pmap.c#8 integrate .. //depot/projects/vimage/src/sys/kern/Make.tags.inc#4 integrate .. //depot/projects/vimage/src/sys/kern/Makefile#2 integrate .. //depot/projects/vimage/src/sys/kern/kern_conf.c#4 integrate .. //depot/projects/vimage/src/sys/kern/kern_malloc.c#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_rwlock.c#6 integrate .. //depot/projects/vimage/src/sys/kern/kern_timeout.c#4 integrate .. //depot/projects/vimage/src/sys/kern/subr_unit.c#2 integrate .. //depot/projects/vimage/src/sys/kern/tty.c#8 integrate .. //depot/projects/vimage/src/sys/kern/uipc_syscalls.c#11 integrate .. //depot/projects/vimage/src/sys/modules/Makefile#8 integrate .. //depot/projects/vimage/src/sys/modules/acpi/acpi_video/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/ath_rate_amrr/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/ath_rate_onoe/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/i2c/controllers/alpm/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/i2c/controllers/viapm/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/nxge/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/slhci/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/tmpfs/Makefile#2 integrate .. //depot/projects/vimage/src/sys/modules/umapfs/Makefile#2 delete .. //depot/projects/vimage/src/sys/net/bridgestp.c#5 integrate .. //depot/projects/vimage/src/sys/net/if_gre.c#4 integrate .. //depot/projects/vimage/src/sys/net80211/_ieee80211.h#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.h#5 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_input.c#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_radiotap.h#4 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_scan.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_scan.h#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/vimage/src/sys/netatalk/aarp.h#3 integrate .. //depot/projects/vimage/src/sys/netatalk/ddp.h#3 integrate .. //depot/projects/vimage/src/sys/netatm/atm_cm.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/ipatm/ipatm_event.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/spans/spans_proto.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/sscf_uni_lower.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/uniarp.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/uniarp_timer.c#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/unisig_decode.h#2 integrate .. //depot/projects/vimage/src/sys/netatm/uni/unisig_proto.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate .. //depot/projects/vimage/src/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_parse.c#2 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.h#9 integrate .. //depot/projects/vimage/src/sys/netinet/in_proto.c#5 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#16 integrate .. //depot/projects/vimage/src/sys/netinet/ip_icmp.c#6 integrate .. //depot/projects/vimage/src/sys/netinet/ip_input.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#3 integrate .. //depot/projects/vimage/src/sys/netinet/ip_output.c#9 integrate .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.h#7 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#10 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_uio.h#10 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_output.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#19 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#12 integrate .. //depot/projects/vimage/src/sys/netinet6/ah.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah6.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah_aesxcbcmac.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah_aesxcbcmac.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah_core.c#3 delete .. //depot/projects/vimage/src/sys/netinet6/ah_input.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ah_output.c#3 delete .. //depot/projects/vimage/src/sys/netinet6/esp.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp6.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_aesctr.c#3 delete .. //depot/projects/vimage/src/sys/netinet6/esp_aesctr.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_camellia.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_camellia.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_core.c#3 delete .. //depot/projects/vimage/src/sys/netinet6/esp_input.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_rijndael.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/esp_rijndael.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#10 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.h#3 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#10 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#7 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_forward.c#5 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#11 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.c#1 branch .. //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.h#1 branch .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#7 integrate .. //depot/projects/vimage/src/sys/netinet6/ipcomp.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipcomp6.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipcomp_core.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipcomp_input.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipcomp_output.c#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipsec.c#4 delete .. //depot/projects/vimage/src/sys/netinet6/ipsec.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/ipsec6.h#2 delete .. //depot/projects/vimage/src/sys/netinet6/nd6.c#13 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#7 integrate .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#10 integrate .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#12 integrate .. //depot/projects/vimage/src/sys/netinet6/udp6_output.c#6 integrate .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#10 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#5 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.h#2 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec6.h#2 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_mbuf.c#2 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_output.c#3 integrate .. //depot/projects/vimage/src/sys/netipsec/key.c#3 integrate .. //depot/projects/vimage/src/sys/netipsec/key_debug.c#2 integrate .. //depot/projects/vimage/src/sys/netipsec/keysock.c#2 integrate .. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#2 integrate .. //depot/projects/vimage/src/sys/netkey/key.c#2 delete .. //depot/projects/vimage/src/sys/netkey/key.h#2 delete .. //depot/projects/vimage/src/sys/netkey/key_debug.c#2 delete .. //depot/projects/vimage/src/sys/netkey/key_debug.h#2 delete .. //depot/projects/vimage/src/sys/netkey/key_var.h#2 delete .. //depot/projects/vimage/src/sys/netkey/keydb.c#2 delete .. //depot/projects/vimage/src/sys/netkey/keydb.h#2 delete .. //depot/projects/vimage/src/sys/netkey/keysock.c#2 delete .. //depot/projects/vimage/src/sys/netkey/keysock.h#2 delete .. //depot/projects/vimage/src/sys/powerpc/powerpc/busdma_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/security/audit/audit.c#6 integrate .. //depot/projects/vimage/src/sys/security/audit/audit.h#4 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_arg.c#6 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm.c#4 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_bsm_token.c#5 integrate .. //depot/projects/vimage/src/sys/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_audit.c#2 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_framework.h#5 integrate .. //depot/projects/vimage/src/sys/security/mac/mac_policy.h#5 integrate .. //depot/projects/vimage/src/sys/security/mac_stub/mac_stub.c#6 integrate .. //depot/projects/vimage/src/sys/security/mac_test/mac_test.c#5 integrate .. //depot/projects/vimage/src/sys/sys/_rwlock.h#3 integrate .. //depot/projects/vimage/src/sys/sys/rwlock.h#4 integrate .. //depot/projects/vimage/src/sys/ufs/ffs/ffs_softdep.c#5 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/dir.h#2 integrate .. //depot/projects/vimage/src/sys/ufs/ufs/ufs_inode.c#2 integrate .. //depot/projects/vimage/src/sys/vm/swap_pager.c#7 integrate .. //depot/projects/vimage/src/sys/vm/vm_pageout.c#6 integrate Differences ... ==== //depot/projects/vimage/src/sys/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.42 2007/04/14 16:29:15 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.43 2007/07/01 11:38:26 gnn Exp $ .include @@ -10,7 +10,7 @@ # Directories to include in cscope name file and TAGS. CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ - netgraph netinet netinet6 netipx netkey netnatm netncp \ + netgraph netinet netinet6 netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ufs vm ${ARCHDIR} ==== //depot/projects/vimage/src/sys/amd64/amd64/pmap.c#8 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.588 2007/06/17 04:27:45 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.589 2007/07/01 07:08:25 alc Exp $"); /* * Manages physical address maps. @@ -210,7 +210,8 @@ vm_page_t m, vm_prot_t prot, vm_page_t mpte); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva, pd_entry_t ptepde, vm_page_t *free); -static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde); +static void pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, + vm_page_t *free); static void pmap_remove_entry(struct pmap *pmap, vm_page_t m, vm_offset_t va); static void pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t m); @@ -1895,10 +1896,9 @@ * Remove a single page from a process address space */ static void -pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde) +pmap_remove_page(pmap_t pmap, vm_offset_t va, pd_entry_t *pde, vm_page_t *free) { pt_entry_t *pte; - vm_page_t free = NULL; PMAP_LOCK_ASSERT(pmap, MA_OWNED); if ((*pde & PG_V) == 0) @@ -1906,9 +1906,8 @@ pte = pmap_pde_to_pte(pde, va); if ((*pte & PG_V) == 0) return; - pmap_remove_pte(pmap, pte, va, *pde, &free); + pmap_remove_pte(pmap, pte, va, *pde, free); pmap_invalidate_page(pmap, va); - pmap_free_zero_pages(free); } /* @@ -1947,7 +1946,7 @@ if (sva + PAGE_SIZE == eva) { pde = pmap_pde(pmap, sva); if (pde && (*pde & PG_PS) == 0) { - pmap_remove_page(pmap, sva, pde); + pmap_remove_page(pmap, sva, pde, &free); goto out; } } @@ -2018,12 +2017,11 @@ } } out: - if (anyvalid) { + if (anyvalid) pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); - } vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* @@ -3003,9 +3001,9 @@ } } pmap_invalidate_all(pmap); - pmap_free_zero_pages(free); vm_page_unlock_queues(); PMAP_UNLOCK(pmap); + pmap_free_zero_pages(free); } /* ==== //depot/projects/vimage/src/sys/amd64/conf/GENERIC#8 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.482 2007/06/14 17:14:25 delphij Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.483 2007/07/01 21:47:45 njl Exp $ cpu HAMMER ident GENERIC @@ -75,6 +75,9 @@ # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel +# CPU frequency control +device cpufreq + # Bus support. device acpi device pci ==== //depot/projects/vimage/src/sys/amd64/conf/NOTES#4 (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.65 2007/05/09 15:55:45 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.67 2007/07/01 22:19:20 njl Exp $ # # ==== //depot/projects/vimage/src/sys/boot/forth/loader.conf#6 (text+ko) ==== @@ -6,7 +6,7 @@ # # All arguments must be in double quotes. # -# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.120 2007/04/09 22:09:09 pjd Exp $ +# $FreeBSD: src/sys/boot/forth/loader.conf,v 1.121 2007/06/25 05:06:55 rafan Exp $ ############################################################## ### Basic configuration options ############################ @@ -135,7 +135,6 @@ 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 zfs_load="NO" # ZFS ==== //depot/projects/vimage/src/sys/cam/cam_xpt.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.189 2007/06/17 05:55:53 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.190 2007/06/30 14:58:56 imp Exp $"); #include #include @@ -620,6 +620,18 @@ CAM_QUIRK_NOLUNS, /*mintags*/0, /*maxtags*/0 }, { + /* + * Western Digital My Book 250GB (USB) + * hangs upon serial number probing. + * PR: 107495 + */ + { + T_DIRECT, SIP_MEDIA_FIXED, "WD", + "2500JB External", "*" + }, + CAM_QUIRK_NOSERIAL, /*mintags*/0, /*maxtags*/0 + }, + { /* Default tagged queuing parameters for all devices */ { T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED, ==== //depot/projects/vimage/src/sys/cam/scsi/scsi_da.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.215 2007/06/16 18:22:19 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.224 2007/07/01 17:42:07 imp Exp $"); #include @@ -457,6 +457,14 @@ }, { /* + * iRiver U10 MP3 player + * PR: usb/92306 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "iriver", "U10*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* * X-Micro Flash Disk * PR: usb/96901 */ @@ -471,6 +479,62 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "EM732X", "MP3 Player*", "1.0"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, + { + /* + * Denver MP3 player + * PR: usb/107101 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "DENVER", "MP3 PLAYER", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * Philips USB Key Audio KEY013 + * PR: usb/68412 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "PHILIPS", "Key*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE | DA_Q_NO_PREVENT + }, + { + /* + * JNC MP3 Player + * PR: usb/94439 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "JNC*" , "MP3 Player*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * SAMSUNG MP0402H + * PR: usb/108427 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "SAMSUNG", "MP0402H", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * I/O Magic USB flash - Giga Bank + * PR: usb/108810 + */ + {T_DIRECT, SIP_MEDIA_FIXED, "GS-Magic", "stor*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * JoyFly 128mb USB Flash Drive + * PR: 96133 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB 2.0", "Flash Disk*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * ChipsBnk usb stick + * PR: 103702 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "ChipsBnk", "USB*", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, }; static disk_strategy_t dastrategy; ==== //depot/projects/vimage/src/sys/conf/NOTES#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1434 2007/06/16 04:57:03 alc Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1439 2007/07/01 11:38:26 gnn Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -495,9 +495,9 @@ # options INET #Internet communications protocols options INET6 #IPv6 communications protocols -options IPSEC #IP security -options IPSEC_ESP #IP security (crypto; define w/ IPSEC) -options IPSEC_DEBUG #debug for IP security +#options IPSEC #IP security +#options IPSEC_ESP #IP security (crypto; define w/ IPSEC) +#options IPSEC_DEBUG #debug for IP security # # Set IPSEC_FILTERGIF to force packets coming through a gif tunnel # to be processed by any configured packet filtering (ipfw, ipf). @@ -509,7 +509,7 @@ # #options IPSEC_FILTERGIF #filter ipsec packets from a tunnel -#options FAST_IPSEC #new IPsec (cannot define w/ IPSEC) +options FAST_IPSEC #new IPsec (cannot define w/ IPSEC) options IPX #IPX/SPX communications protocols @@ -938,10 +938,12 @@ # currently be demand-loaded.) Some people still prefer to statically # compile other filesystems as well. # -# NB: The NULL, PORTAL, UMAP and UNION filesystems are known to be -# buggy, and WILL panic your system if you attempt to do anything with -# them. They are included here as an incentive for some enterprising -# soul to sit down and fix them. +# NB: The PORTAL filesystem is known to be buggy, and WILL panic your +# system if you attempt to do anything with it. It is included here +# as an incentive for some enterprising soul to sit down and fix it. +# The UNION filesystem was known to be buggy in the past. It is now +# being actively maintained, although there are still some issues being +# resolved. # # One of these is mandatory: @@ -964,8 +966,6 @@ options PSEUDOFS_TRACE #Debugging support for PSEUDOFS options SMBFS #SMB/CIFS filesystem options UDF #Universal Disk Format -# Broken (seriously (functionally) broken): -#options UMAPFS #UID map filesystem options UNIONFS #Union filesystem # The xFS_ROOT options REQUIRE the associated ``options xFS'' options NFS_ROOT #NFS usable as root device @@ -1905,6 +1905,7 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device le # AMD Am7900 LANCE and Am79C9xx PCnet +device nxge # Neterion Xframe 10GbE Server/Storage Adapter device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') ==== //depot/projects/vimage/src/sys/conf/files#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1222 2007/06/16 04:57:04 alc Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1227 2007/07/01 12:42:37 gnn Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -811,6 +811,17 @@ dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard dev/nge/if_nge.c optional nge +dev/nxge/if_nxge.c optional nxge +dev/nxge/xgehal/xgehal-device.c optional nxge +dev/nxge/xgehal/xgehal-mm.c optional nxge +dev/nxge/xgehal/xge-queue.c optional nxge +dev/nxge/xgehal/xgehal-driver.c optional nxge +dev/nxge/xgehal/xgehal-ring.c optional nxge +dev/nxge/xgehal/xgehal-channel.c optional nxge +dev/nxge/xgehal/xgehal-fifo.c optional nxge +dev/nxge/xgehal/xgehal-stats.c optional nxge +dev/nxge/xgehal/xgehal-config.c optional nxge +dev/nxge/xgehal/xgehal-mgmt.c optional nxge dev/nmdm/nmdm.c optional nmdm dev/nsp/nsp.c optional nsp dev/nsp/nsp_pccard.c optional nsp pccard @@ -1199,9 +1210,6 @@ fs/udf/udf_iconv.c optional udf_iconv fs/udf/udf_vfsops.c optional udf fs/udf/udf_vnops.c optional udf -fs/umapfs/umap_subr.c optional umapfs -fs/umapfs/umap_vfsops.c optional umapfs -fs/umapfs/umap_vnops.c optional umapfs fs/unionfs/union_subr.c optional unionfs fs/unionfs/union_vfsops.c optional unionfs fs/unionfs/union_vnops.c optional unionfs @@ -1209,7 +1217,6 @@ fs/tmpfs/tmpfs_fifoops.c optional tmpfs fs/tmpfs/tmpfs_vfsops.c optional tmpfs fs/tmpfs/tmpfs_subr.c optional tmpfs -fs/tmpfs/tmpfs_uma.c optional tmpfs gdb/gdb_cons.c optional gdb gdb/gdb_main.c optional gdb gdb/gdb_packet.c optional gdb @@ -1823,7 +1830,6 @@ netinet/ip_fw_pfil.c optional ipfirewall netinet/ip_icmp.c optional inet netinet/ip_input.c optional inet -netinet/ip_ipsec.c optional ipsec netinet/ip_ipsec.c optional fast_ipsec netinet/ip_mroute.c optional mrouting inet | mrouting inet6 netinet/ip_options.c optional inet @@ -1859,17 +1865,7 @@ netinet/libalias/alias_mod.c optional libalias | netgraph_nat netinet/libalias/alias_proxy.c optional libalias | netgraph_nat netinet/libalias/alias_util.c optional libalias | netgraph_nat -netinet6/ah_aesxcbcmac.c optional ipsec -netinet6/ah_core.c optional ipsec -netinet6/ah_input.c optional ipsec -netinet6/ah_output.c optional ipsec netinet6/dest6.c optional inet6 -netinet6/esp_aesctr.c optional ipsec ipsec_esp -netinet6/esp_core.c optional ipsec ipsec_esp -netinet6/esp_input.c optional ipsec ipsec_esp -netinet6/esp_output.c optional ipsec ipsec_esp -netinet6/esp_rijndael.c optional ipsec ipsec_esp -netinet6/esp_camellia.c optional ipsec ipsec_esp netinet6/frag6.c optional inet6 netinet6/icmp6.c optional inet6 netinet6/in6.c optional inet6 @@ -1885,10 +1881,7 @@ netinet6/ip6_input.c optional inet6 netinet6/ip6_mroute.c optional mrouting inet6 netinet6/ip6_output.c optional inet6 -netinet6/ipcomp_core.c optional ipsec -netinet6/ipcomp_input.c optional ipsec -netinet6/ipcomp_output.c optional ipsec -netinet6/ipsec.c optional ipsec +netinet6/ip6_ipsec.c optional fast_ipsec netinet6/mld6.c optional inet6 netinet6/nd6.c optional inet6 netinet6/nd6_nbr.c optional inet6 @@ -1920,10 +1913,6 @@ netipx/ipx_usrreq.c optional ipx netipx/spx_debug.c optional ipx netipx/spx_usrreq.c optional ipx -netkey/key.c optional ipsec -netkey/key_debug.c optional ipsec -netkey/keydb.c optional ipsec -netkey/keysock.c optional ipsec netnatm/natm.c optional natm netnatm/natm_pcb.c optional natm netnatm/natm_proto.c optional natm ==== //depot/projects/vimage/src/sys/conf/options#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.596 2007/06/16 04:57:04 alc Exp $ +# $FreeBSD: src/sys/conf/options,v 1.597 2007/06/25 05:06:55 rafan Exp $ # # On the handling of kernel options # @@ -198,7 +198,6 @@ SMBFS opt_dontuse.h TMPFS opt_dontuse.h UDF opt_dontuse.h -UMAPFS opt_dontuse.h UNIONFS opt_dontuse.h # Pseudofs debugging ==== //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#4 (text+ko) ==== @@ -766,7 +766,7 @@ vn_lock(*vpp, flags, curthread); } ZFS_EXIT(zfsvfs); - return (0); + return (err); } static int ==== //depot/projects/vimage/src/sys/dev/acpica/acpi.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.239 2007/06/15 18:02:33 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.241 2007/06/30 17:27:31 njl Exp $"); #include "opt_acpi.h" #include @@ -136,6 +136,7 @@ static ACPI_STATUS acpi_probe_child(ACPI_HANDLE handle, UINT32 level, void *context, void **status); static BOOLEAN acpi_MatchHid(ACPI_HANDLE h, const char *hid); +static ACPI_STATUS acpi_EnterSleepState(struct acpi_softc *sc, int state); static void acpi_shutdown_final(void *arg, int howto); static void acpi_enable_fixed_events(struct acpi_softc *sc); static int acpi_wake_sleep_prep(ACPI_HANDLE handle, int sstate); @@ -410,6 +411,7 @@ sc = device_get_softc(dev); sc->acpi_dev = dev; + callout_init(&sc->susp_force_to, TRUE); error = ENXIO; @@ -592,7 +594,7 @@ /* Pick the first valid sleep state for the sleep button default. */ sc->acpi_sleep_button_sx = ACPI_S_STATES_MAX + 1; - for (state = ACPI_STATE_S1; state < ACPI_STATE_S5; state++) + for (state = ACPI_STATE_S1; state <= ACPI_STATE_S4; state++) if (ACPI_SUCCESS(AcpiGetSleepTypeData(state, &TypeA, &TypeB))) { sc->acpi_sleep_button_sx = state; break; @@ -2118,7 +2120,151 @@ return (acpi_SetInteger(ACPI_ROOT_OBJECT, "_PIC", model)); } +/* + * DEPRECATED. This interface has serious deficiencies and will be + * removed. + * + * Immediately enter the sleep state. In the old model, acpiconf(8) ran + * rc.suspend and rc.resume so we don't have to notify devd(8) to do this. + */ +ACPI_STATUS +acpi_SetSleepState(struct acpi_softc *sc, int state) +{ + static int once; + + if (!once) { + printf( +"warning: acpi_SetSleepState() deprecated, need to update your software\n"); + once = 1; + } + return (acpi_EnterSleepState(sc, state)); +} + static void +acpi_sleep_force(void *arg) +{ + struct acpi_softc *sc; + + printf("acpi: suspend request timed out, forcing sleep now\n"); + sc = arg; + if (ACPI_FAILURE(acpi_EnterSleepState(sc, sc->acpi_next_sstate))) + printf("acpi: force sleep state S%d failed\n", sc->acpi_next_sstate); +} + +/* + * Request that the system enter the given suspend state. All /dev/apm + * devices and devd(8) will be notified. Userland then has a chance to + * save state and acknowledge the request. The system sleeps once all + * acks are in. + */ +int +acpi_ReqSleepState(struct acpi_softc *sc, int state) +{ + struct apm_clone_data *clone; + + if (state < ACPI_STATE_S1 || state > ACPI_STATE_S5) + return (EINVAL); + + /* S5 (soft-off) should be entered directly with no waiting. */ + if (state == ACPI_STATE_S5) { + if (ACPI_SUCCESS(acpi_EnterSleepState(sc, state))) + return (0); + else + return (ENXIO); + } + + /* If a suspend request is already in progress, just return. */ + ACPI_LOCK(acpi); + if (sc->acpi_next_sstate != 0) { + ACPI_UNLOCK(acpi); + return (0); + } + + /* Record the pending state and notify all apm devices. */ + sc->acpi_next_sstate = state; + STAILQ_FOREACH(clone, &sc->apm_cdevs, entries) { + clone->notify_status = APM_EV_NONE; + if ((clone->flags & ACPI_EVF_DEVD) == 0) { + selwakeuppri(&clone->sel_read, PZERO); + KNOTE_UNLOCKED(&clone->sel_read.si_note, 0); + } + } + + /* Now notify devd(8) also. */ + acpi_UserNotify("Suspend", ACPI_ROOT_OBJECT, state); + + /* + * Set a timeout to fire if userland doesn't ack the suspend request + * in time. This way we still eventually go to sleep if we were + * overheating or running low on battery, even if userland is hung. + * We cancel this timeout once all userland acks are in or the + * suspend request is aborted. + */ + callout_reset(&sc->susp_force_to, 10 * hz, acpi_sleep_force, sc); + ACPI_UNLOCK(acpi); + return (0); +} + +/* + * Acknowledge (or reject) a pending sleep state. The caller has + * prepared for suspend and is now ready for it to proceed. If the + * error argument is non-zero, it indicates suspend should be cancelled + * and gives an errno value describing why. Once all votes are in, + * we suspend the system. + */ +int +acpi_AckSleepState(struct apm_clone_data *clone, int error) +{ + struct acpi_softc *sc; + int ret, sleeping; + + /* If no pending sleep state, return an error. */ + ACPI_LOCK(acpi); + sc = clone->acpi_sc; + if (sc->acpi_next_sstate == 0) { + ACPI_UNLOCK(acpi); + return (ENXIO); + } + + /* Caller wants to abort suspend process. */ + if (error) { + sc->acpi_next_sstate = 0; + callout_stop(&sc->susp_force_to); + printf("acpi: listener on %s cancelled the pending suspend\n", + devtoname(clone->cdev)); + ACPI_UNLOCK(acpi); + return (0); + } + + /* + * Mark this device as acking the suspend request. Then, walk through + * all devices, seeing if they agree yet. We only count devices that + * are writable since read-only devices couldn't ack the request. + */ + clone->notify_status = APM_EV_ACKED; + sleeping = TRUE; + STAILQ_FOREACH(clone, &sc->apm_cdevs, entries) { + if ((clone->flags & ACPI_EVF_WRITE) != 0 && + clone->notify_status != APM_EV_ACKED) { + sleeping = FALSE; + break; + } + } + + /* If all devices have voted "yes", we will suspend now. */ + if (sleeping) + callout_stop(&sc->susp_force_to); + ACPI_UNLOCK(acpi); + ret = 0; + if (sleeping) { + if (ACPI_FAILURE(acpi_EnterSleepState(sc, sc->acpi_next_sstate))) + ret = ENODEV; + } + + return (ret); +} + +static void acpi_sleep_enable(void *arg) { @@ -2134,12 +2280,12 @@ }; /* - * Set the system sleep state + * Enter the desired system sleep state. * * Currently we support S1-S5 but S4 is only S4BIOS */ -ACPI_STATUS -acpi_SetSleepState(struct acpi_softc *sc, int state) +static ACPI_STATUS +acpi_EnterSleepState(struct acpi_softc *sc, int state) { ACPI_STATUS status; UINT8 TypeA; @@ -2148,14 +2294,13 @@ ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state); + /* Re-entry once we're suspending is not allowed. */ status = AE_OK; ACPI_LOCK(acpi); if (sc->acpi_sleep_disabled) { - if (sc->acpi_sstate != ACPI_STATE_S0) - status = AE_ERROR; ACPI_UNLOCK(acpi); printf("acpi: suspend request ignored (not ready yet)\n"); - return (status); + return (AE_ERROR); } sc->acpi_sleep_disabled = 1; ACPI_UNLOCK(acpi); @@ -2251,6 +2396,7 @@ * Back out state according to how far along we got in the suspend * process. This handles both the error and success cases. */ + sc->acpi_next_sstate = 0; if (slp_state >= ACPI_SS_GPE_SET) { acpi_wake_prep_walk(state); sc->acpi_sstate = ACPI_STATE_S0; @@ -2264,7 +2410,10 @@ /* Allow another sleep request after a while. */ if (state != ACPI_STATE_S5) - timeout(acpi_sleep_enable, (caddr_t)sc, hz * ACPI_MINIMUM_AWAKETIME); + timeout(acpi_sleep_enable, sc, hz * ACPI_MINIMUM_AWAKETIME); + + /* Run /etc/rc.resume after we are back. */ + acpi_UserNotify("Resume", ACPI_ROOT_OBJECT, state); mtx_unlock(&Giant); return_ACPI_STATUS (status); @@ -2574,11 +2723,19 @@ static void acpi_system_eventhandler_sleep(void *arg, int state) { + int ret; ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, state); >>> TRUNCATED FOR MAIL (1000 lines) <<<