PERFORCE change 122716 for review
Marko Zec
zec at FreeBSD.org
Mon Jul 2 13:08:49 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=122716
Change 122716 by zec at 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 <bsd.own.mk>
@@ -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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/param.h>
#include <sys/bus.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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) <<<
More information about the p4-projects
mailing list