From owner-p4-projects@FreeBSD.ORG Mon Jan 1 00:32:24 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 A5A1B16A412; Mon, 1 Jan 2007 00:32:24 +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 596BC16A403 for ; Mon, 1 Jan 2007 00:32:24 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 43E7F13C441 for ; Mon, 1 Jan 2007 00:32:24 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l010WO87014656 for ; Mon, 1 Jan 2007 00:32:24 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l010WNhl014653 for perforce@freebsd.org; Mon, 1 Jan 2007 00:32:23 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 1 Jan 2007 00:32:23 GMT Message-Id: <200701010032.l010WNhl014653@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112380 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, 01 Jan 2007 00:32:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=112380 Change 112380 by mjacob@mjexp_6 on 2007/01/01 00:32:00 Integrate from releng_6 vendor branch. Affected files ... .. //depot/projects/mjexp_6/sys/amd64/amd64/mptable_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/amd64/pci/pci_bus.c#2 integrate .. //depot/projects/mjexp_6/sys/cam/cam.c#2 integrate .. //depot/projects/mjexp_6/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/mjexp_6/sys/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/mjexp_6/sys/conf/NOTES#3 integrate .. //depot/projects/mjexp_6/sys/conf/files#3 integrate .. //depot/projects/mjexp_6/sys/conf/files.arm#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/ath/if_ath_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/cardbus/cardbus.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_if.m#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pci_private.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pcib_private.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/pci/pcivar.h#2 integrate .. //depot/projects/mjexp_6/sys/dev/ral/if_ral.c#2 delete .. //depot/projects/mjexp_6/sys/dev/ral/if_ral_pccard.c#2 delete .. //depot/projects/mjexp_6/sys/dev/ral/if_ral_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/ral/if_ralreg.h#2 delete .. //depot/projects/mjexp_6/sys/dev/ral/if_ralvar.h#2 delete .. //depot/projects/mjexp_6/sys/dev/ral/rt2560.c#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2560reg.h#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2560var.h#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2661.c#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2661_ucode.h#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2661reg.h#1 branch .. //depot/projects/mjexp_6/sys/dev/ral/rt2661var.h#1 branch .. //depot/projects/mjexp_6/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/usb/uark.c#1 branch .. //depot/projects/mjexp_6/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/mjexp_6/sys/fs/msdosfs/msdosfs_conv.c#2 integrate .. //depot/projects/mjexp_6/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/mjexp_6/sys/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/mjexp_6/sys/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/i386/mptable_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/i386/pci/pci_bus.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/link_elf_obj.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/subr_bus.c#2 integrate .. //depot/projects/mjexp_6/sys/kern/tty.c#2 integrate .. //depot/projects/mjexp_6/sys/modules/Makefile#2 integrate .. //depot/projects/mjexp_6/sys/modules/ral/Makefile#2 integrate .. //depot/projects/mjexp_6/sys/modules/uark/Makefile#1 branch .. //depot/projects/mjexp_6/sys/net/ethernet.h#2 integrate .. //depot/projects/mjexp_6/sys/netinet/in_pcb.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/in_pcb.h#2 integrate .. //depot/projects/mjexp_6/sys/netinet/ip_divert.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/raw_ip.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/tcp_subr.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet/udp_usrreq.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet6/in6_pcb.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet6/raw_ip6.c#2 integrate .. //depot/projects/mjexp_6/sys/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/mjexp_6/sys/nfsclient/bootp_subr.c#2 integrate .. //depot/projects/mjexp_6/sys/pci/agp.c#2 integrate .. //depot/projects/mjexp_6/sys/pci/agp_i810.c#2 integrate .. //depot/projects/mjexp_6/sys/pci/agpreg.h#2 integrate .. //depot/projects/mjexp_6/sys/pci/if_rl.c#2 integrate .. //depot/projects/mjexp_6/sys/powerpc/ofw/ofw_pcib_pci.c#2 integrate .. //depot/projects/mjexp_6/sys/sparc64/pci/apb.c#2 integrate .. //depot/projects/mjexp_6/sys/sparc64/pci/ofw_pcib.c#2 integrate .. //depot/projects/mjexp_6/sys/sparc64/pci/ofw_pcibus.c#2 integrate .. //depot/projects/mjexp_6/sys/sys/copyright.h#2 integrate .. //depot/projects/mjexp_6/sys/sys/param.h#2 integrate Differences ... ==== //depot/projects/mjexp_6/sys/amd64/amd64/mptable_pci.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.2.8.1 2005/09/18 02:55:09 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable_pci.c,v 1.2.8.2 2006/12/28 22:09:46 jhb Exp $"); #include #include @@ -100,13 +100,10 @@ { 0, 0 } }; -static driver_t mptable_hostb_driver = { - "pcib", - mptable_hostb_methods, - 1, -}; +static devclass_t hostb_devclass; -DRIVER_MODULE(mptable_pcib, legacy, mptable_hostb_driver, pcib_devclass, 0, 0); +DEFINE_CLASS_0(pcib, mptable_hostb_driver, mptable_hostb_methods, 1); +DRIVER_MODULE(mptable_pcib, legacy, mptable_hostb_driver, hostb_devclass, 0, 0); /* PCI to PCI bridge driver. */ @@ -155,11 +152,9 @@ {0, 0} }; -static driver_t mptable_pcib_driver = { - "pcib", - mptable_pcib_pci_methods, - sizeof(struct pcib_softc), -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, mptable_pcib_driver, mptable_pcib_pci_methods, + sizeof(struct pcib_softc)); DRIVER_MODULE(mptable_pcib, pci, mptable_pcib_driver, pcib_devclass, 0, 0); ==== //depot/projects/mjexp_6/sys/amd64/pci/pci_bus.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.113.2.1 2005/09/18 02:55:10 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.113.2.2 2006/12/28 22:09:46 jhb Exp $"); #include "opt_cpu.h" @@ -326,12 +326,9 @@ { 0, 0 } }; -static driver_t legacy_pcib_driver = { - "pcib", - legacy_pcib_methods, - 1, -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, legacy_pcib_driver, legacy_pcib_methods, 1); DRIVER_MODULE(pcib, legacy, legacy_pcib_driver, pcib_devclass, 0, 0); @@ -435,12 +432,7 @@ { 0, 0 } }; -static driver_t pcibus_pnp_driver = { - "pcibus_pnp", - pcibus_pnp_methods, - 1, /* no softc */ -}; - static devclass_t pcibus_pnp_devclass; +DEFINE_CLASS_0(pcibus_pnp, pcibus_pnp_driver, pcibus_pnp_methods, 1); DRIVER_MODULE(pcibus_pnp, isa, pcibus_pnp_driver, pcibus_pnp_devclass, 0, 0); ==== //depot/projects/mjexp_6/sys/cam/cam.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.9 2005/01/05 22:34:34 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam.c,v 1.9.2.1 2006/12/21 19:51:53 mjacob Exp $"); #include #ifdef _KERNEL @@ -373,7 +373,16 @@ { uint32_t size_mb, secs_per_cylinder; - size_mb = ccg->volume_size / ((1024L * 1024L) / ccg->block_size); + if (ccg->block_size == 0) { + ccg->ccb_h.status = CAM_REQ_CMP_ERR; + return; + } + size_mb = (1024L * 1024L) / ccg->block_size; + if (size_mb == 0) { + ccg->ccb_h.status = CAM_REQ_CMP_ERR; + return; + } + size_mb = ccg->volume_size / size_mb; if (size_mb > 1024 && extended) { ccg->heads = 255; ccg->secs_per_track = 63; @@ -382,6 +391,10 @@ ccg->secs_per_track = 32; } secs_per_cylinder = ccg->heads * ccg->secs_per_track; + if (secs_per_cylinder == 0) { + ccg->ccb_h.status = CAM_REQ_CMP_ERR; + return; + } ccg->cylinders = ccg->volume_size / secs_per_cylinder; ccg->ccb_h.status = CAM_REQ_CMP; } ==== //depot/projects/mjexp_6/sys/cam/cam_xpt.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.155.2.9 2006/12/16 07:05:54 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.155.2.10 2006/12/24 03:23:43 mjacob Exp $"); #include #include @@ -1446,7 +1446,11 @@ devq); xpt_max_ccbs = 16; - xpt_bus_register(xpt_sim, /*bus #*/0); + if ((status = xpt_bus_register(xpt_sim, /*bus #*/0)) != CAM_SUCCESS) { + printf("xpt_init: xpt_bus_register failed with status %#x," + " failing attach\n", status); + return; + } /* * Looking at the XPT from the SIM layer, the XPT is ==== //depot/projects/mjexp_6/sys/cam/scsi/scsi_da.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.180.2.9 2006/11/14 12:54:39 flz Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.180.2.10 2006/12/19 19:19:16 maxim Exp $"); #include @@ -459,6 +459,14 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "iriver", "H10*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, + { + /* + * X-Micro Flash Disk + * PR: usb/96901 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "X-Micro" , "Flash Disk", + "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE + }, }; static disk_strategy_t dastrategy; ==== //depot/projects/mjexp_6/sys/conf/NOTES#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.24 2006/10/21 05:28:50 scottl Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.25 2006/12/30 17:55:15 maxim Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -2356,6 +2356,8 @@ # # USB serial support device ucom +# USB support for Arkmicro Technologies ARK3116 based serial adapters +device uark # USB support for Belkin F5U103 and compatible serial adapters device ubsa # USB support for BWCT console serial adapters ==== //depot/projects/mjexp_6/sys/conf/files#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1031.2.46 2006/11/20 07:18:24 imp Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1031.2.48 2006/12/30 17:55:15 maxim Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -809,9 +809,9 @@ dev/puc/puc_sbus.c optional puc fhc dev/puc/puc_sbus.c optional puc sbus dev/puc/pucdata.c optional puc pci -dev/ral/if_ral.c optional ral +dev/ral/rt2560.c optional ral +dev/ral/rt2661.c optional ral dev/ral/if_ralrate.c optional ral -dev/ral/if_ral_pccard.c optional ral pccard dev/ral/if_ral_pci.c optional ral pci dev/random/harvest.c standard dev/random/hash.c optional random @@ -972,6 +972,7 @@ dev/usb/if_udav.c optional udav dev/usb/ohci.c optional ohci dev/usb/ohci_pci.c optional ohci pci +dev/usb/uark.c optional uark ucom dev/usb/ubsa.c optional ubsa ucom dev/usb/ubser.c optional ubser dev/usb/ucom.c optional ucom ==== //depot/projects/mjexp_6/sys/conf/files.arm#2 (text+ko) ==== @@ -1,4 +1,7 @@ -# $FreeBSD: src/sys/conf/files.arm,v 1.8 2005/06/09 19:45:07 jkoshy Exp $ +# $FreeBSD: src/sys/conf/files.arm,v 1.8.2.2 2006/12/24 00:09:56 sam Exp $ +crypto/blowfish/bf_enc.c optional crypto | ipsec ipsec_esp +crypto/des/des_enc.c optional crypto | ipsec ipsec_esp | \ + netsmb arm/arm/autoconf.c standard arm/arm/bcopy_page.S standard arm/arm/bcopyinout.S standard @@ -58,6 +61,7 @@ libkern/ashrdi3.c standard libkern/divdi3.c standard libkern/ffsl.c standard +libkern/fls.c standard libkern/flsl.c standard libkern/lshrdi3.c standard libkern/moddi3.c standard ==== //depot/projects/mjexp_6/sys/dev/acpica/acpi_pci.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.26.2.1 2005/11/07 09:53:22 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci.c,v 1.26.2.3 2006/12/28 22:20:40 jhb Exp $"); #include #include @@ -83,50 +83,21 @@ /* Device interface */ DEVMETHOD(device_probe, acpi_pci_probe), DEVMETHOD(device_attach, acpi_pci_attach), - DEVMETHOD(device_shutdown, bus_generic_shutdown), - DEVMETHOD(device_suspend, pci_suspend), - DEVMETHOD(device_resume, pci_resume), /* Bus interface */ - DEVMETHOD(bus_print_child, pci_print_child), - DEVMETHOD(bus_probe_nomatch, pci_probe_nomatch), DEVMETHOD(bus_read_ivar, acpi_pci_read_ivar), DEVMETHOD(bus_write_ivar, acpi_pci_write_ivar), - DEVMETHOD(bus_driver_added, pci_driver_added), - DEVMETHOD(bus_setup_intr, bus_generic_setup_intr), - DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), - - DEVMETHOD(bus_get_resource_list,pci_get_resource_list), - DEVMETHOD(bus_set_resource, bus_generic_rl_set_resource), - DEVMETHOD(bus_get_resource, bus_generic_rl_get_resource), - DEVMETHOD(bus_delete_resource, pci_delete_resource), - DEVMETHOD(bus_alloc_resource, pci_alloc_resource), - DEVMETHOD(bus_release_resource, bus_generic_rl_release_resource), - DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), - DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), - DEVMETHOD(bus_child_pnpinfo_str, pci_child_pnpinfo_str_method), DEVMETHOD(bus_child_location_str, acpi_pci_child_location_str_method), /* PCI interface */ - DEVMETHOD(pci_read_config, pci_read_config_method), - DEVMETHOD(pci_write_config, pci_write_config_method), - DEVMETHOD(pci_enable_busmaster, pci_enable_busmaster_method), - DEVMETHOD(pci_disable_busmaster, pci_disable_busmaster_method), - DEVMETHOD(pci_enable_io, pci_enable_io_method), - DEVMETHOD(pci_disable_io, pci_disable_io_method), - DEVMETHOD(pci_get_powerstate, pci_get_powerstate_method), DEVMETHOD(pci_set_powerstate, acpi_pci_set_powerstate_method), - DEVMETHOD(pci_assign_interrupt, pci_assign_interrupt_method), { 0, 0 } }; -static driver_t acpi_pci_driver = { - "pci", - acpi_pci_methods, - 0, /* no softc */ -}; +static devclass_t pci_devclass; +DEFINE_CLASS_1(pci, acpi_pci_driver, acpi_pci_methods, 0, pci_driver); DRIVER_MODULE(acpi_pci, pcib, acpi_pci_driver, pci_devclass, 0, 0); MODULE_DEPEND(acpi_pci, acpi, 1, 1, 1); MODULE_DEPEND(acpi_pci, pci, 1, 1, 1); ==== //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_acpi.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.47.2.2 2005/11/07 09:53:22 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_acpi.c,v 1.47.2.3 2006/12/28 22:09:46 jhb Exp $"); #include "opt_acpi.h" #include @@ -107,12 +107,10 @@ {0, 0} }; -static driver_t acpi_pcib_acpi_driver = { - "pcib", - acpi_pcib_acpi_methods, - sizeof(struct acpi_hpcib_softc), -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, acpi_pcib_acpi_driver, acpi_pcib_acpi_methods, + sizeof(struct acpi_hpcib_softc)); DRIVER_MODULE(acpi_pcib, acpi, acpi_pcib_acpi_driver, pcib_devclass, 0, 0); MODULE_DEPEND(acpi_pcib, acpi, 1, 1, 1); ==== //depot/projects/mjexp_6/sys/dev/acpica/acpi_pcib_pci.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_pci.c,v 1.12.2.1 2005/11/07 09:53:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pcib_pci.c,v 1.12.2.2 2006/12/28 22:09:46 jhb Exp $"); #include "opt_acpi.h" @@ -97,12 +97,10 @@ {0, 0} }; -static driver_t acpi_pcib_pci_driver = { - "pcib", - acpi_pcib_pci_methods, - sizeof(struct acpi_pcib_softc), -}; +static devclass_t pcib_devclass; +DEFINE_CLASS_0(pcib, acpi_pcib_pci_driver, acpi_pcib_pci_methods, + sizeof(struct acpi_pcib_softc)); DRIVER_MODULE(acpi_pcib, pci, acpi_pcib_pci_driver, pcib_devclass, 0, 0); MODULE_DEPEND(acpi_pcib, acpi, 1, 1, 1); ==== //depot/projects/mjexp_6/sys/dev/ath/if_ath_pci.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.12.2.1 2006/07/11 16:33:12 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.12.2.2 2006/12/24 00:15:55 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. @@ -196,8 +196,8 @@ ATH_LOCK_INIT(sc); error = ath_attach(pci_get_device(dev), sc); - if (error == 0) - return error; + if (error == 0) /* success */ + return 0; ATH_LOCK_DESTROY(sc); bus_dma_tag_destroy(sc->sc_dmat); ==== //depot/projects/mjexp_6/sys/dev/bge/if_bge.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.91.2.18 2006/10/13 08:05:55 glebius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.91.2.19 2006/12/21 21:51:44 scottl Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -171,17 +171,10 @@ { BCOM_VENDORID, BCOM_DEVICEID_BCM5753 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5753F }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5753M }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5754 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5754M }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5755 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5755M }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5780 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5780S }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5781 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5782 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5786 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5787 }, - { BCOM_VENDORID, BCOM_DEVICEID_BCM5787M }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5788 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5789 }, { BCOM_VENDORID, BCOM_DEVICEID_BCM5901 }, @@ -274,8 +267,6 @@ { BGE_ASICREV_BCM5752, "unknown BCM5752" }, { BGE_ASICREV_BCM5780, "unknown BCM5780" }, { BGE_ASICREV_BCM5714, "unknown BCM5714" }, - { BGE_ASICREV_BCM5755, "unknown BCM5755" }, - { BGE_ASICREV_BCM5787, "unknown BCM5787" }, { 0, NULL } }; @@ -286,18 +277,14 @@ (sc)->bge_asicrev == BGE_ASICREV_BCM5714_A0 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5780 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5714 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5752 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5755 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5787) + (sc)->bge_asicrev == BGE_ASICREV_BCM5752) #define BGE_IS_575X_PLUS(sc) \ ((sc)->bge_asicrev == BGE_ASICREV_BCM5750 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5714_A0 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5780 || \ (sc)->bge_asicrev == BGE_ASICREV_BCM5714 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5752 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5755 || \ - (sc)->bge_asicrev == BGE_ASICREV_BCM5787) + (sc)->bge_asicrev == BGE_ASICREV_BCM5752) #define BGE_IS_5714_FAMILY(sc) \ ((sc)->bge_asicrev == BGE_ASICREV_BCM5714_A0 || \ ==== //depot/projects/mjexp_6/sys/dev/bge/if_bgereg.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.36.2.8 2006/10/13 08:05:55 glebius Exp $ + * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.36.2.9 2006/12/21 21:51:44 scottl Exp $ */ /* @@ -279,8 +279,6 @@ #define BGE_ASICREV_BCM5700 0x07 #define BGE_ASICREV_BCM5780 0x08 #define BGE_ASICREV_BCM5714 0x09 -#define BGE_ASICREV_BCM5755 0x0a -#define BGE_ASICREV_BCM5787 0x0b /* chip revisions */ #define BGE_CHIPREV(x) ((x) >> 24) @@ -1993,17 +1991,10 @@ #define BCOM_DEVICEID_BCM5753 0x16F7 #define BCOM_DEVICEID_BCM5753F 0x16FE #define BCOM_DEVICEID_BCM5753M 0x16FD -#define BCOM_DEVICEID_BCM5754 0x167A -#define BCOM_DEVICEID_BCM5754M 0x1672 -#define BCOM_DEVICEID_BCM5755 0x167B -#define BCOM_DEVICEID_BCM5755M 0x1673 #define BCOM_DEVICEID_BCM5780 0x166A #define BCOM_DEVICEID_BCM5780S 0x166B #define BCOM_DEVICEID_BCM5781 0x16DD #define BCOM_DEVICEID_BCM5782 0x1696 -#define BCOM_DEVICEID_BCM5786 0x169A -#define BCOM_DEVICEID_BCM5787 0x169B -#define BCOM_DEVICEID_BCM5787M 0x1693 #define BCOM_DEVICEID_BCM5788 0x169C #define BCOM_DEVICEID_BCM5789 0x169D #define BCOM_DEVICEID_BCM5901 0x170D ==== //depot/projects/mjexp_6/sys/dev/cardbus/cardbus.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/cardbus/cardbus.c,v 1.52.2.3 2006/03/01 18:19:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cardbus/cardbus.c,v 1.52.2.4 2006/12/28 22:20:40 jhb Exp $"); #include #include @@ -664,7 +664,6 @@ {0,0} }; -DECLARE_CLASS(pci_driver); DEFINE_CLASS_1(cardbus, cardbus_driver, cardbus_methods, 0, pci_driver); static devclass_t cardbus_devclass; ==== //depot/projects/mjexp_6/sys/dev/drm/drm_agpsupport.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/drm/drm_agpsupport.c,v 1.1.2.3 2006/05/17 07:40:11 anholt Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/drm/drm_agpsupport.c,v 1.1.2.4 2006/12/28 21:54:49 jhb Exp $"); #include "dev/drm/drmP.h" @@ -46,7 +46,7 @@ drm_device_find_capability(drm_device_t *dev, int cap) { #ifdef __FreeBSD__ -#if __FreeBSD_version >= 700010 +#if __FreeBSD_version >= 602102 return (pci_find_extcap(dev->device, cap, NULL) == 0); #else ==== //depot/projects/mjexp_6/sys/dev/pci/pci.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.292.2.10 2006/12/01 16:55:14 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.292.2.12 2006/12/28 22:20:40 jhb Exp $"); #include "opt_bus.h" @@ -131,13 +131,14 @@ DEVMETHOD(pci_get_powerstate, pci_get_powerstate_method), DEVMETHOD(pci_set_powerstate, pci_set_powerstate_method), DEVMETHOD(pci_assign_interrupt, pci_assign_interrupt_method), + DEVMETHOD(pci_find_extcap, pci_find_extcap_method), { 0, 0 } }; DEFINE_CLASS_0(pci, pci_driver, pci_methods, 0); -devclass_t pci_devclass; +static devclass_t pci_devclass; DRIVER_MODULE(pci, pcib, pci_driver, pci_devclass, pci_modevent, 0); MODULE_VERSION(pci, 1); @@ -429,7 +430,7 @@ ptrptr = PCIR_CAP_PTR; break; case 2: - ptrptr = 0x14; + ptrptr = PCIR_CAP_PTR_2; /* cardbus capabilities ptr */ break; default: return; /* no extended capabilities support */ @@ -448,10 +449,10 @@ } /* Find the next entry */ ptr = nextptr; - nextptr = REG(ptr + 1, 1); + nextptr = REG(ptr + PCICAP_NEXTPTR, 1); /* Process this entry */ - switch (REG(ptr, 1)) { + switch (REG(ptr + PCICAP_ID, 1)) { case PCIY_PMG: /* PCI power management */ if (cfg->pp.pp_cap == 0) { cfg->pp.pp_cap = REG(ptr + PCIR_POWER_CAP, 2); @@ -476,6 +477,58 @@ #undef REG } +/* + * Return the offset in configuration space of the requested extended + * capability entry or 0 if the specified capability was not found. + */ +int +pci_find_extcap_method(device_t dev, device_t child, int capability, + int *capreg) +{ + struct pci_devinfo *dinfo = device_get_ivars(child); + pcicfgregs *cfg = &dinfo->cfg; + u_int32_t status; + u_int8_t ptr; + + /* + * Check the CAP_LIST bit of the PCI status register first. + */ + status = pci_read_config(child, PCIR_STATUS, 2); + if (!(status & PCIM_STATUS_CAPPRESENT)) + return (ENXIO); + + /* + * Determine the start pointer of the capabilities list. + */ + switch (cfg->hdrtype & PCIM_HDRTYPE) { + case 0: + case 1: + ptr = PCIR_CAP_PTR; + break; + case 2: + ptr = PCIR_CAP_PTR_2; + break; + default: + /* XXX: panic? */ + return (ENXIO); /* no extended capabilities support */ + } + ptr = pci_read_config(child, ptr, 1); + + /* + * Traverse the capabilities list. + */ + while (ptr != 0) { + if (pci_read_config(child, ptr + PCICAP_ID, 1) == capability) { + if (capreg != NULL) + *capreg = ptr; + return (0); + } + ptr = pci_read_config(child, ptr + PCICAP_NEXTPTR, 1); + } + + return (ENOENT); +} + /* free pcicfgregs structure and all depending data structures */ int ==== //depot/projects/mjexp_6/sys/dev/pci/pci_if.m#2 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/sys/dev/pci/pci_if.m,v 1.7 2005/01/06 01:43:05 imp Exp $ +# $FreeBSD: src/sys/dev/pci/pci_if.m,v 1.7.2.1 2006/12/28 21:40:54 jhb Exp $ # #include @@ -82,3 +82,10 @@ device_t dev; device_t child; }; + +METHOD int find_extcap { + device_t dev; + device_t child; + int capability; + int *capreg; +}; ==== //depot/projects/mjexp_6/sys/dev/pci/pci_pci.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci_pci.c,v 1.37.2.2 2006/12/01 16:11:05 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci_pci.c,v 1.37.2.3 2006/12/28 22:09:46 jhb Exp $"); /* * PCI:PCI bridge support. @@ -83,14 +83,9 @@ { 0, 0 } }; -static driver_t pcib_driver = { - "pcib", - pcib_methods, - sizeof(struct pcib_softc), -}; +static devclass_t pcib_devclass; -devclass_t pcib_devclass; - +DEFINE_CLASS_0(pcib, pcib_driver, pcib_methods, sizeof(struct pcib_softc)); DRIVER_MODULE(pcib, pci, pcib_driver, pcib_devclass, 0, 0); /* ==== //depot/projects/mjexp_6/sys/dev/pci/pci_private.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pci/pci_private.h,v 1.14.2.1 2006/01/30 18:38:08 imp Exp $ + * $FreeBSD: src/sys/dev/pci/pci_private.h,v 1.14.2.3 2006/12/28 22:20:40 jhb Exp $ * */ @@ -34,10 +34,9 @@ /* * Export definitions of the pci bus so that we can more easily share - * it with "subclass" busses. A more generic subclassing mechanism would - * be nice, but is not present in the tree at this time. + * it with "subclass" busses. */ -extern devclass_t pci_devclass; +DECLARE_CLASS(pci_driver); void pci_add_children(device_t dev, int busno, size_t dinfo_size); void pci_add_child(device_t bus, struct pci_devinfo *dinfo); @@ -61,6 +60,8 @@ int pci_disable_busmaster_method(device_t dev, device_t child); int pci_enable_io_method(device_t dev, device_t child, int space); int pci_disable_io_method(device_t dev, device_t child, int space); +int pci_find_extcap_method(device_t dev, device_t child, + int capability, int *capreg); struct resource *pci_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags); ==== //depot/projects/mjexp_6/sys/dev/pci/pcib_private.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pci/pcib_private.h,v 1.6 2004/01/11 06:52:31 imp Exp $ + * $FreeBSD: src/sys/dev/pci/pcib_private.h,v 1.6.8.1 2006/12/28 22:09:46 jhb Exp $ */ #ifndef __PCIB_PRIVATE_H__ @@ -75,6 +75,4 @@ void pcib_write_config(device_t dev, int b, int s, int f, int reg, uint32_t val, int width); int pcib_route_interrupt(device_t pcib, device_t dev, int pin); -extern devclass_t pcib_devclass; - #endif ==== //depot/projects/mjexp_6/sys/dev/pci/pcivar.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/pci/pcivar.h,v 1.66.2.1 2006/01/30 18:34:41 imp Exp $ + * $FreeBSD: src/sys/dev/pci/pcivar.h,v 1.66.2.2 2006/12/28 21:40:54 jhb Exp $ * */ @@ -343,6 +343,12 @@ return PCI_GET_POWERSTATE(device_get_parent(dev), dev); } +static __inline int +pci_find_extcap(device_t dev, int capability, int *capreg) +{ + return PCI_FIND_EXTCAP(device_get_parent(dev), dev, capability, capreg); +} + device_t pci_find_bsf(uint8_t, uint8_t, uint8_t); device_t pci_find_device(uint16_t, uint16_t); #endif /* _SYS_BUS_H_ */ ==== //depot/projects/mjexp_6/sys/dev/ral/if_ral_pci.c#2 (text+ko) ==== @@ -1,7 +1,7 @@ -/* $FreeBSD: src/sys/dev/ral/if_ral_pci.c,v 1.1.2.1 2005/08/25 05:01:14 rwatson Exp $ */ +/* $FreeBSD: src/sys/dev/ral/if_ral_pci.c,v 1.1.2.2 2006/12/23 07:14:42 fjoe Exp $ */ /*- - * Copyright (c) 2005 + * Copyright (c) 2005, 2006 * Damien Bergamini * * Permission to use, copy, modify, and distribute this software for any @@ -18,10 +18,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/if_ral_pci.c,v 1.1.2.1 2005/08/25 05:01:14 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/if_ral_pci.c,v 1.1.2.2 2006/12/23 07:14:42 fjoe Exp $"); /* - * PCI front-end for the Ralink RT2500 driver. + * PCI/Cardbus front-end for the Ralink RT2560/RT2561/RT2561S/RT2661 driver. */ #include @@ -38,7 +38,6 @@ #include #include -#include #include #include @@ -56,8 +55,8 @@ #include #include -#include -#include +#include +#include MODULE_DEPEND(ral, pci, 1, 1, 1); MODULE_DEPEND(ral, wlan, 1, 1, 1); @@ -69,13 +68,57 @@ }; static const struct ral_pci_ident ral_pci_ids[] = { - { 0x1814, 0x0201, "Ralink Technology RT2500" }, + { 0x1814, 0x0201, "Ralink Technology RT2560" }, + { 0x1814, 0x0301, "Ralink Technology RT2561S" }, + { 0x1814, 0x0302, "Ralink Technology RT2561" }, + { 0x1814, 0x0401, "Ralink Technology RT2661" }, { 0, 0, NULL } }; +static struct ral_opns { + int (*attach)(device_t, int); + int (*detach)(void *); + void (*shutdown)(void *); + void (*suspend)(void *); + void (*resume)(void *); + void (*intr)(void *); + +} ral_rt2560_opns = { + rt2560_attach, + rt2560_detach, + rt2560_shutdown, + rt2560_suspend, + rt2560_resume, + rt2560_intr + +}, ral_rt2661_opns = { + rt2661_attach, + rt2661_detach, + rt2661_shutdown, + rt2661_suspend, + rt2661_resume, + rt2661_intr +}; + +struct ral_pci_softc { + union { + struct rt2560_softc sc_rt2560; + struct rt2661_softc sc_rt2661; + } u; + + struct ral_opns *sc_opns; + int irq_rid; + int mem_rid; + struct resource *irq; + struct resource *mem; + void *sc_ih; +}; + static int ral_pci_probe(device_t); static int ral_pci_attach(device_t); +static int ral_pci_detach(device_t); +static int ral_pci_shutdown(device_t); static int ral_pci_suspend(device_t); static int ral_pci_resume(device_t); @@ -83,7 +126,8 @@ /* Device interface */ DEVMETHOD(device_probe, ral_pci_probe), DEVMETHOD(device_attach, ral_pci_attach), - DEVMETHOD(device_detach, ral_detach), + DEVMETHOD(device_detach, ral_pci_detach), + DEVMETHOD(device_shutdown, ral_pci_shutdown), DEVMETHOD(device_suspend, ral_pci_suspend), DEVMETHOD(device_resume, ral_pci_resume), @@ -93,9 +137,11 @@ static driver_t ral_pci_driver = { "ral", ral_pci_methods, - sizeof (struct ral_softc) + sizeof (struct ral_pci_softc) }; +static devclass_t ral_devclass; + DRIVER_MODULE(ral, pci, ral_pci_driver, ral_devclass, 0, 0); DRIVER_MODULE(ral, cardbus, ral_pci_driver, ral_devclass, 0, 0); @@ -120,6 +166,8 @@ static int ral_pci_attach(device_t dev) { + struct ral_pci_softc *psc = device_get_softc(dev); + struct rt2560_softc *sc = &psc->u.sc_rt2560; int error; if (pci_get_powerstate(dev) != PCI_POWERSTATE_D0) { @@ -131,23 +179,77 @@ /* enable bus-mastering */ pci_enable_busmaster(dev); - error = ral_alloc(dev, RAL_PCI_BAR0); + psc->sc_opns = (pci_get_device(dev) == 0x0201) ? &ral_rt2560_opns : + &ral_rt2661_opns; + + psc->mem_rid = RAL_PCI_BAR0; + psc->mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &psc->mem_rid, + RF_ACTIVE); + if (psc->mem == NULL) { + device_printf(dev, "could not allocate memory resource\n"); + return ENXIO; + } + + sc->sc_st = rman_get_bustag(psc->mem); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jan 1 00:45:52 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 91D8316A416; Mon, 1 Jan 2007 00:45:52 +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 5A75C16A403; Mon, 1 Jan 2007 00:45:52 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 1D4F313C441; Mon, 1 Jan 2007 00:45:52 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id l010gm22068929; Sun, 31 Dec 2006 17:42:48 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Sun, 31 Dec 2006 17:42:58 -0700 (MST) Message-Id: <20061231.174258.-1018442016.imp@bsdimp.com> To: ticso@freebsd.org From: "M. Warner Losh" In-Reply-To: <200612312242.kBVMg2H2094360@repoman.freebsd.org> References: <200612312242.kBVMg2H2094360@repoman.freebsd.org> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Sun, 31 Dec 2006 17:42:49 -0700 (MST) Cc: perforce@freebsd.org Subject: Re: PERFORCE change 112378 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, 01 Jan 2007 00:45:52 -0000 In message: <200612312242.kBVMg2H2094360@repoman.freebsd.org> Bernd Walter writes: : http://perforce.freebsd.org/chv.cgi?CH=112378 : : Change 112378 by ticso@ticso on 2006/12/31 22:41:56 : : BWCT boards are using an 16MHz xtal : : Affected files ... : : .. //depot/projects/arm/src/sys/arm/at91/at91_pmc.c#20 edit : : Differences ... : : ==== //depot/projects/arm/src/sys/arm/at91/at91_pmc.c#20 (text+ko) ==== : : @@ -399,7 +399,7 @@ : pmc_softc->dev = dev; : if ((err = at91_pmc_activate(dev)) != 0) : return err; : -#ifdef AT91_TSC : +#if defined(AT91_TSC) | defined (AT91_BWCT) : at91_pmc_init_clock(pmc_softc, 16000000); : #else : at91_pmc_init_clock(pmc_softc, 10000000); : The boot loader should pass this in :-( Warner From owner-p4-projects@FreeBSD.ORG Mon Jan 1 04:36:37 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 D005F16A415; Mon, 1 Jan 2007 04:36:37 +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 927CC16A407 for ; Mon, 1 Jan 2007 04:36:37 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 826CE13C44B for ; Mon, 1 Jan 2007 04:36:37 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l014abQx066189 for ; Mon, 1 Jan 2007 04:36:37 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l014ab1D066186 for perforce@freebsd.org; Mon, 1 Jan 2007 04:36:37 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 1 Jan 2007 04:36:37 GMT Message-Id: <200701010436.l014ab1D066186@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112389 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, 01 Jan 2007 04:36:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=112389 Change 112389 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/01 04:35:56 compile fixes - replace ieee80211_cfg{get,set} with ieee80211_ioctl - remove call to ieee80211_watchdog wi works at least in sta mode and will associate and allow network traffic - TBD: fix scanning Affected files ... .. //depot/projects/wifi/sys/dev/wi/if_wi.c#23 edit Differences ... ==== //depot/projects/wifi/sys/dev/wi/if_wi.c#23 (text+ko) ==== @@ -2002,7 +2002,7 @@ case WI_RID_TX_CRYPT_KEY: case WI_RID_DEFLT_CRYPT_KEYS: case WI_RID_TX_RATE: - return ieee80211_cfgget(ic, cmd, data); + return ieee80211_ioctl(ic, cmd, data); case WI_RID_MICROWAVE_OVEN: if (sc->sc_enabled && (sc->sc_flags & WI_FLAGS_HAS_MOR)) { @@ -2056,7 +2056,7 @@ case WI_RID_READ_APS: if (ic->ic_opmode == IEEE80211_M_HOSTAP) - return ieee80211_cfgget(ic, cmd, data); + return ieee80211_ioctl(ic, cmd, data); if (sc->sc_scan_timer > 0) { error = EINPROGRESS; break; @@ -2093,11 +2093,11 @@ break; case WI_RID_READ_CACHE: - return ieee80211_cfgget(ic, cmd, data); + return ieee80211_ioctl(ic, cmd, data); case WI_RID_SCAN_RES: /* compatibility interface */ if (ic->ic_opmode == IEEE80211_M_HOSTAP) - return ieee80211_cfgget(ic, cmd, data); + return ieee80211_ioctl(ic, cmd, data); if (sc->sc_scan_timer > 0) { error = EINPROGRESS; break; @@ -2179,7 +2179,7 @@ sc->sc_nodelen); break; default: - return ieee80211_cfgget(ic, cmd, data); + return ieee80211_ioctl(ic, cmd, data); } break; } @@ -2372,8 +2372,8 @@ error = wi_write_rid(sc, wreq.wi_type, wreq.wi_val, len); if (error == 0) { - /* XXX ieee80211_cfgset does a copyin */ - error = ieee80211_cfgset(ic, cmd, data); + /* XXX ieee80211_ioctl does a copyin */ + error = ieee80211_ioctl(ic, cmd, data); if (error == ENETRESET) { if (sc->sc_enabled) wi_init(sc); From owner-p4-projects@FreeBSD.ORG Mon Jan 1 04:40:43 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 8798616A415; Mon, 1 Jan 2007 04:40:43 +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 339A516A403 for ; Mon, 1 Jan 2007 04:40:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2336B13C448 for ; Mon, 1 Jan 2007 04:40:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l014ehAi066428 for ; Mon, 1 Jan 2007 04:40:43 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l014eglU066425 for perforce@freebsd.org; Mon, 1 Jan 2007 04:40:42 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 1 Jan 2007 04:40:42 GMT Message-Id: <200701010440.l014eglU066425@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112390 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, 01 Jan 2007 04:40:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=112390 Change 112390 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/01 04:39:42 general compile fixes update to packed channel format so that the 80211 stack doesn't blow up in an assert - I am only adding the first 12 channels, but ndis does not honor fixed channels and more or less ignores the rest of the 802.11 stack as ndis wifi drivers all currently have to more or less implement their own stacks, so this should not matter. The problem of ndis passing extra garbage to ifconfig pre-dates sam_wifi - so I can worry about that later. Affected files ... .. //depot/projects/wifi/sys/dev/if_ndis/if_ndis.c#26 edit Differences ... ==== //depot/projects/wifi/sys/dev/if_ndis/if_ndis.c#26 (text+ko) ==== @@ -478,7 +478,7 @@ device_object *pdo; struct ifnet *ifp = NULL; int error = 0, len; - int i; + int i, j; sc = device_get_softc(dev); #if __FreeBSD_version < 600031 @@ -818,10 +818,11 @@ } #undef SETRATE #undef INCRATE + ic->ic_nchans = 12; /* * Taking yet more guesses here. */ - for (i = 1; i < IEEE80211_CHAN_MAX; i++) { + for (j = 0, i = 1; i <= 12; i++, j++) { int chanflag = 0; if (ic->ic_sup_rates[IEEE80211_MODE_11G].rs_nrates) @@ -830,12 +831,11 @@ chanflag |= IEEE80211_CHAN_B; if (ic->ic_sup_rates[IEEE80211_MODE_11A].rs_nrates && i > 14) - chanflag = IEEE80211_CHAN_A; + chanflag = IEEE80211_CHAN_A; if (chanflag == 0) break; - ic->ic_channels[i].ic_freq = - ieee80211_ieee2mhz(i, chanflag); - ic->ic_channels[i].ic_flags = chanflag; + ic->ic_channels[j].ic_freq = ieee80211_ieee2mhz(i, chanflag); + ic->ic_channels[j].ic_flags = chanflag; } /* @@ -898,8 +898,8 @@ ieee80211_media_init(ic, ieee80211_media_change, ndis_media_status); #endif - ic->ic_ibss_chan = IEEE80211_CHAN_ANYC; - ic->ic_bss->ni_chan = ic->ic_ibss_chan; + ic->ic_bsschan = IEEE80211_CHAN_ANYC; + ic->ic_bss->ni_chan = ic->ic_bsschan; #ifdef IEEE80211_F_WPA /* install key handing routines */ ic->ic_crypto.cs_key_set = ndis_add_key; @@ -2393,16 +2393,16 @@ config.nc_atimwin = 100; if (config.nc_fhconfig.ncf_dwelltime == 0) config.nc_fhconfig.ncf_dwelltime = 200; - if (rval == 0 && ic->ic_ibss_chan != IEEE80211_CHAN_ANYC) { + if (rval == 0 && ic->ic_bsschan != IEEE80211_CHAN_ANYC) { int chan, chanflag; - chan = ieee80211_chan2ieee(ic, ic->ic_ibss_chan); + chan = ieee80211_chan2ieee(ic, ic->ic_bsschan); chanflag = config.nc_dsconfig > 2500000 ? IEEE80211_CHAN_2GHZ : IEEE80211_CHAN_5GHZ; if (chan != ieee80211_mhz2ieee(config.nc_dsconfig / 1000, 0)) { config.nc_dsconfig = - ic->ic_ibss_chan->ic_freq * 1000; - ic->ic_bss->ni_chan = ic->ic_ibss_chan; + ic->ic_bsschan->ic_freq * 1000; + ic->ic_bss->ni_chan = ic->ic_bsschan; len = sizeof(config); config.nc_length = len; config.nc_fhconfig.ncf_length = @@ -2448,11 +2448,11 @@ len = sizeof(ssid); bzero((char *)&ssid, len); - ssid.ns_ssidlen = ic->ic_des_esslen; + ssid.ns_ssidlen = ic->ic_des_ssid[0].len; if (ssid.ns_ssidlen == 0) { ssid.ns_ssidlen = 1; } else - bcopy(ic->ic_des_essid, ssid.ns_ssid, ssid.ns_ssidlen); + bcopy(ic->ic_des_ssid[0].ssid, ssid.ns_ssid, ssid.ns_ssidlen); rval = ndis_set_info(sc, OID_802_11_SSID, &ssid, &len); @@ -2498,6 +2498,9 @@ case IEEE80211_M_MONITOR: imr->ifm_active |= IFM_IEEE80211_MONITOR; break; + case IEEE80211_M_WDS: + printf("WARNING: WDS operation mode not supported by NDIS\n"); + break; } switch (ic->ic_curmode) { case IEEE80211_MODE_11A: @@ -2683,7 +2686,7 @@ ic->ic_bss->ni_chan = &ic->ic_channels[chan]; ic->ic_des_chan = &ic->ic_channels[chan]; - ic->ic_ibss_chan = &ic->ic_channels[chan]; + ic->ic_bsschan = &ic->ic_channels[chan]; #if __FreeBSD_version >= 600007 ic->ic_curchan = &ic->ic_channels[chan]; #endif @@ -3191,6 +3194,8 @@ bcopy((char *)wb->nwbx_ies + sizeof(struct ndis_80211_fixed_ies), cp, sr->isr_ie_len); + } else { + sr->isr_ie_len = 0; } sr->isr_len = roundup(sizeof(*sr) + sr->isr_ssid_len + sr->isr_ie_len, sizeof(uint32_t)); From owner-p4-projects@FreeBSD.ORG Mon Jan 1 04:41:45 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 2DFDF16A416; Mon, 1 Jan 2007 04:41:45 +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 E8CD016A407 for ; Mon, 1 Jan 2007 04:41:44 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D90B413C448 for ; Mon, 1 Jan 2007 04:41:44 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l014fi7B067073 for ; Mon, 1 Jan 2007 04:41:44 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l014fi4a067070 for perforce@freebsd.org; Mon, 1 Jan 2007 04:41:44 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 1 Jan 2007 04:41:44 GMT Message-Id: <200701010441.l014fi4a067070@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112391 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, 01 Jan 2007 04:41:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=112391 Change 112391 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/01 04:41:28 This removes calls to functions that are no longer part of the 802.11 stack to get GENERIC to compile - not tested. I'm not sure how widely used awi is. Affected files ... .. //depot/projects/wifi/sys/dev/awi/awi.c#15 edit Differences ... ==== //depot/projects/wifi/sys/dev/awi/awi.c#15 (text+ko) ==== @@ -525,9 +525,10 @@ if (status & AWI_INT_CMD) awi_cmd_done(sc); if (status & AWI_INT_SCAN_CMPLT) { + /* XXX revisit scanning */ if (sc->sc_ic.ic_state == IEEE80211_S_SCAN && sc->sc_substate == AWI_ST_NONE) - ieee80211_next_scan(&sc->sc_ic); + ; } } sc->sc_cansleep = ocansleep; @@ -931,7 +932,6 @@ ifp->if_timer = 1; } /* TODO: rate control */ - ieee80211_watchdog(&sc->sc_ic); out: sc->sc_cansleep = ocansleep; } @@ -1946,7 +1946,7 @@ case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: case IEEE80211_S_INIT: - ieee80211_begin_scan(ic, 0); + /* XXX revisit scanning */; break; case IEEE80211_S_SCAN: /* scan next */ From owner-p4-projects@FreeBSD.ORG Mon Jan 1 04:48:55 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 B496716A415; Mon, 1 Jan 2007 04:48:55 +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 7078F16A40F for ; Mon, 1 Jan 2007 04:48:55 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 60DE913C44B for ; Mon, 1 Jan 2007 04:48:55 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l014mtk8076008 for ; Mon, 1 Jan 2007 04:48:55 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l014mtKx076005 for perforce@freebsd.org; Mon, 1 Jan 2007 04:48:55 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 1 Jan 2007 04:48:55 GMT Message-Id: <200701010448.l014mtKx076005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112392 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, 01 Jan 2007 04:48:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=112392 Change 112392 by mjacob@mjexp on 2007/01/01 04:48:15 Remove obfuscation that I added while mentally impaired. A format of %z matches a size_t arg. For both RELENG_6 and HEAD. Noticed by: Scott Affected files ... .. //depot/projects/mjexp/sys/geom/multipath/g_multipath.c#9 edit Differences ... ==== //depot/projects/mjexp/sys/geom/multipath/g_multipath.c#9 (text+ko) ==== @@ -560,15 +560,9 @@ return; } if (pp0->mediasize != pp1->mediasize) { -#if __FreeBSD_version < 700000 - gctl_error(req, "Provider %s is %llu; Provider %s is %llu", - pp0->name, (unsigned long long) pp0->mediasize, - pp1->name, (unsigned long long) pp1->mediasize); -#else gctl_error(req, "Provider %s is %zu; Provider %s is %zu", pp0->name, (size_t) pp0->mediasize, pp1->name, (size_t) pp1->mediasize); -#endif return; } if (pp0->sectorsize != pp1->sectorsize) { From owner-p4-projects@FreeBSD.ORG Mon Jan 1 04:48:56 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 C9C7B16A55D; Mon, 1 Jan 2007 04:48:56 +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 CDC1A16A4FF for ; Mon, 1 Jan 2007 04:48:55 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B417413C44C for ; Mon, 1 Jan 2007 04:48:55 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l014mtNK076021 for ; Mon, 1 Jan 2007 04:48:55 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l014mt07076013 for perforce@freebsd.org; Mon, 1 Jan 2007 04:48:55 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 1 Jan 2007 04:48:55 GMT Message-Id: <200701010448.l014mt07076013@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112393 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, 01 Jan 2007 04:48:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=112393 Change 112393 by mjacob@mjexp_6 on 2007/01/01 04:48:37 Remove obfuscation that I added while mentally impaired. A format of %z matches a size_t arg. For both RELENG_6 and HEAD. Noticed by: Scott Affected files ... .. //depot/projects/mjexp_6/sys/geom/multipath/g_multipath.c#4 edit Differences ... ==== //depot/projects/mjexp_6/sys/geom/multipath/g_multipath.c#4 (text+ko) ==== @@ -560,15 +560,9 @@ return; } if (pp0->mediasize != pp1->mediasize) { -#if __FreeBSD_version < 700000 - gctl_error(req, "Provider %s is %llu; Provider %s is %llu", - pp0->name, (unsigned long long) pp0->mediasize, - pp1->name, (unsigned long long) pp1->mediasize); -#else gctl_error(req, "Provider %s is %zu; Provider %s is %zu", - pp0->name, (intmax_t) pp0->mediasize, - pp1->name, (intmax_t) pp1->mediasize); -#endif + pp0->name, (size_t) pp0->mediasize, + pp1->name, (size_t) pp1->mediasize); return; } if (pp0->sectorsize != pp1->sectorsize) { From owner-p4-projects@FreeBSD.ORG Mon Jan 1 06:34:11 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 E72F016A416; Mon, 1 Jan 2007 06:34:10 +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 AB0DB16A407 for ; Mon, 1 Jan 2007 06:34:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9A4ED13C448 for ; Mon, 1 Jan 2007 06:34:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l016YAmw096355 for ; Mon, 1 Jan 2007 06:34:10 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l016YA1J096352 for perforce@freebsd.org; Mon, 1 Jan 2007 06:34:10 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 1 Jan 2007 06:34:10 GMT Message-Id: <200701010634.l016YA1J096352@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112394 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, 01 Jan 2007 06:34:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=112394 Change 112394 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/01 06:33:49 myriad cleanups to get ral up and going under sam_wifi convert channels to new packed format - don't overlap b/g add scan_start, scan_end, and set_channel copy over power management from ath TODO: locking needs some serious re-working to interact happily with FreeBSD's network stack - avoid running ral under SMP Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#4 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#4 (text) ==== @@ -64,6 +64,7 @@ #include #include + #ifdef RAL_DEBUG #define DPRINTF(x) do { if (ral_debug > 0) printf x; } while (0) #define DPRINTFN(n, x) do { if (ral_debug >= (n)) printf x; } while (0) @@ -104,6 +105,9 @@ static void rt2560_wakeup_expire(struct rt2560_softc *); static uint8_t rt2560_rxrate(struct rt2560_rx_desc *); static int rt2560_ack_rate(struct ieee80211com *, int); +static void rt2560_scan_start(struct ieee80211com *); +static void rt2560_scan_end(struct ieee80211com *); +static void rt2560_set_channel(struct ieee80211com *); static uint16_t rt2560_txtime(int, int, uint32_t); static uint8_t rt2560_plcp_signal(int); static void rt2560_setup_tx_desc(struct rt2560_softc *, @@ -136,7 +140,7 @@ static void rt2560_update_slot(struct ifnet *); static void rt2560_set_basicrates(struct rt2560_softc *); static void rt2560_update_led(struct rt2560_softc *, int, int); -static void rt2560_set_bssid(struct rt2560_softc *, uint8_t *); +static void rt2560_set_bssid(struct rt2560_softc *, const uint8_t *); static void rt2560_set_macaddr(struct rt2560_softc *, uint8_t *); static void rt2560_get_macaddr(struct rt2560_softc *, uint8_t *); static void rt2560_update_promisc(struct rt2560_softc *); @@ -198,7 +202,7 @@ struct rt2560_softc *sc = device_get_softc(dev); struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp; - int error, i; + int error, i, j; sc->sc_dev = dev; @@ -284,42 +288,54 @@ IEEE80211_C_SHSLOT | /* short slot time supported */ IEEE80211_C_WPA; /* 802.11i */ + /* set supported .11b and .11g channels (1 through 14) */ + for (j = 0, i = 1; i <= 14; i++) { + ic->ic_channels[j].ic_freq = + ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); + ic->ic_channels[j].ic_flags = IEEE80211_CHAN_B; + ic->ic_channels[j].ic_ieee = i; + j++; + + ic->ic_channels[j].ic_freq = + ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); + ic->ic_channels[j].ic_flags = IEEE80211_CHAN_G; + ic->ic_channels[j].ic_ieee = i; + j++; + } + if (sc->rf_rev == RT2560_RF_5222) { /* set supported .11a rates */ ic->ic_sup_rates[IEEE80211_MODE_11A] = rt2560_rateset_11a; /* set supported .11a channels */ - for (i = 36; i <= 64; i += 4) { - ic->ic_channels[i].ic_freq = + for (i = 36; i <= 64; i += 4, j++) { + ic->ic_channels[j].ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[i].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_ieee = i; } - for (i = 100; i <= 140; i += 4) { - ic->ic_channels[i].ic_freq = + for (i = 100; i <= 140; i += 4, j++) { + ic->ic_channels[j].ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[i].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_ieee = i; } - for (i = 149; i <= 161; i += 4) { - ic->ic_channels[i].ic_freq = + for (i = 149; i <= 161; i += 4, j++) { + ic->ic_channels[j].ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[i].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_ieee = i; } } /* set supported .11b and .11g rates */ ic->ic_sup_rates[IEEE80211_MODE_11B] = rt2560_rateset_11b; ic->ic_sup_rates[IEEE80211_MODE_11G] = rt2560_rateset_11g; - - /* set supported .11b and .11g channels (1 through 14) */ - for (i = 1; i <= 14; i++) { - ic->ic_channels[i].ic_freq = - ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); - ic->ic_channels[i].ic_flags = - IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | - IEEE80211_CHAN_DYN | IEEE80211_CHAN_2GHZ; - } - + ic->ic_nchans = j; ieee80211_ifattach(ic); + ic->ic_scan_start = rt2560_scan_start; + ic->ic_scan_end = rt2560_scan_end; + ic->ic_set_channel = rt2560_set_channel; ic->ic_node_alloc = rt2560_node_alloc; ic->ic_updateslot = rt2560_update_slot; ic->ic_reset = rt2560_reset; @@ -749,14 +765,13 @@ int error; error = ieee80211_media_change(ifp); - if (error != ENETRESET) - return error; - if ((ifp->if_flags & IFF_UP) && - (ifp->if_drv_flags & IFF_DRV_RUNNING)) - rt2560_init(sc); - - return 0; + if (error == ENETRESET) { + if ((ifp->if_flags & IFF_UP) && + (ifp->if_drv_flags & IFF_DRV_RUNNING)) + rt2560_init(sc); + } + return error; } /* @@ -2042,6 +2057,28 @@ m_freem(m0); continue; } + if ((ni->ni_flags & IEEE80211_NODE_PWR_MGT) && + (m0->m_flags & M_PWR_SAV) == 0) { + /* + * Station in power save mode; pass the frame + * to the 802.11 layer and continue. We'll get + * the frame back when the time is right. + */ + ieee80211_pwrsave(ni, m0); + /* + * If we're in power save mode 'cuz of a bg + * scan cancel it so the traffic can flow. + * The packet we just queued will automatically + * get sent when we drop out of power save. + * XXX locking + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); + ieee80211_free_node(ni); + continue; + + } + BPF_MTAP(ifp, m0); m0 = ieee80211_encap(ic, m0, ni); @@ -2049,7 +2086,7 @@ ieee80211_free_node(ni); continue; } - + if (bpf_peers_present(ic->ic_rawbpf)) bpf_mtap(ic->ic_rawbpf, m0); @@ -2289,6 +2326,8 @@ rt2560_rf_write(sc, RAL_RF3, power << 7 | 0x00040); rt2560_rf_write(sc, RAL_RF4, rt2560_rf5222[i].r4); break; + default: + printf("unknown ral rev=%d\n", sc->rf_rev); } if (ic->ic_state != IEEE80211_S_SCAN) { @@ -2306,6 +2345,18 @@ } } +static void +rt2560_set_channel(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct rt2560_softc *sc = ifp->if_softc; + + RAL_LOCK(sc); + rt2560_set_chan(sc, ic->ic_curchan); + RAL_UNLOCK(sc); + +} + #if 0 /* * Disable RF auto-tuning. @@ -2450,7 +2501,7 @@ } static void -rt2560_set_bssid(struct rt2560_softc *sc, uint8_t *bssid) +rt2560_set_bssid(struct rt2560_softc *sc, const uint8_t *bssid) { uint32_t tmp; @@ -2555,6 +2606,30 @@ } } + +static void +rt2560_scan_start(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct rt2560_softc *sc = ifp->if_softc; + + printf("starting scan\n"); + /* abort TSF synchronization */ + RAL_WRITE(sc, RT2560_CSR14, 0); + rt2560_set_bssid(sc, ifp->if_broadcastaddr); +} + +static void +rt2560_scan_end(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct rt2560_softc *sc = ifp->if_softc; + printf("ending scan\n"); + rt2560_enable_tsf_sync(sc); + /* XXX keep local copy */ + rt2560_set_bssid(sc, ic->ic_bss->ni_bssid); +} + static int rt2560_bbp_init(struct rt2560_softc *sc) { From owner-p4-projects@FreeBSD.ORG Mon Jan 1 23:42:43 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 9D8D016A415; Mon, 1 Jan 2007 23:42:43 +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 47A9D16A403 for ; Mon, 1 Jan 2007 23:42:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 37B2013C459 for ; Mon, 1 Jan 2007 23:42:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l01Nghb1031212 for ; Mon, 1 Jan 2007 23:42:43 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l01Nggu3031208 for perforce@freebsd.org; Mon, 1 Jan 2007 23:42:42 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 1 Jan 2007 23:42:42 GMT Message-Id: <200701012342.l01Nggu3031208@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112405 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, 01 Jan 2007 23:42:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=112405 Change 112405 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/01 23:42:28 - add in basic scanning hooks so that we don't blow up if wlan_scan_sta is loaded - add ioctl's to bypass net80211 to fetch the scanning results for ifconfig - scanning now appears to work Affected files ... .. //depot/projects/wifi/sys/dev/wi/if_wi.c#24 edit Differences ... ==== //depot/projects/wifi/sys/dev/wi/if_wi.c#24 (text+ko) ==== @@ -118,7 +118,7 @@ struct mbuf *m0); static int wi_raw_xmit(struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); -static int wi_reset(struct wi_softc *); +static int wi_reset(struct ifnet *); static void wi_watchdog(void *); static int wi_ioctl(struct ifnet *, u_long, caddr_t); static int wi_media_change(struct ifnet *); @@ -164,6 +164,14 @@ const void *, int); static int wi_symbol_set_hcr(struct wi_softc *, int); +static void wi_scan_start(struct ieee80211com *); +static void wi_scan_end(struct ieee80211com *); +static void wi_set_channel(struct ieee80211com *); +static void wi_update_slot(struct ifnet *); +static struct ieee80211_node *wi_node_alloc(struct ieee80211_node_table *); +static int wi_ioctl_get(struct ifnet *ifp, u_long command, caddr_t data); +static int wi_ioctl_set(struct ifnet *ifp, u_long command, caddr_t data); + static __inline int wi_write_val(struct wi_softc *sc, int rid, u_int16_t val) { @@ -253,6 +261,7 @@ int error; ifp = sc->sc_ifp = if_alloc(IFT_ETHER); + ifp->if_softc = sc; if (ifp == NULL) { device_printf(dev, "can not if_alloc\n"); wi_free(dev); @@ -279,7 +288,7 @@ sc->sc_firmware_type = WI_NOTYPE; sc->wi_cmd_count = 500; /* Reset the NIC. */ - if (wi_reset(sc) != 0) + if (wi_reset(ifp) != 0) return ENXIO; /* XXX */ /* @@ -308,7 +317,6 @@ /* Read NIC identification */ wi_read_nicid(sc); - ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; ifp->if_ioctl = wi_ioctl; @@ -494,6 +502,14 @@ ic->ic_crypto.cs_key_alloc = wi_key_alloc; ic->ic_newstate = wi_newstate; ic->ic_raw_xmit = wi_raw_xmit; + + ic->ic_scan_start = wi_scan_start; + ic->ic_scan_end = wi_scan_end; + ic->ic_set_channel = wi_set_channel; + ic->ic_node_alloc = wi_node_alloc; + ic->ic_updateslot = wi_update_slot; + ic->ic_reset = wi_reset; + ieee80211_media_init(ic, wi_media_change, wi_media_status); #if NBPFILTER > 0 @@ -665,7 +681,7 @@ if ((wasenabled = sc->sc_enabled)) wi_stop(ifp, 1); - wi_reset(sc); + wi_reset(ifp); /* common 802.11 configuration */ ic->ic_flags &= ~IEEE80211_F_IBSSON; @@ -1137,9 +1153,9 @@ } static int -wi_reset(struct wi_softc *sc) +wi_reset(struct ifnet *ifp) { - struct ifnet *ifp = sc->sc_ifp; + struct wi_softc *sc = ifp->if_softc; #define WI_INIT_TRIES 3 int i; int error = 0; @@ -1212,8 +1228,6 @@ struct wi_softc *sc = ifp->if_softc; struct ieee80211com *ic = &sc->sc_ic; struct ifreq *ifr = (struct ifreq *)data; - struct ieee80211req *ireq; - u_int8_t nodename[IEEE80211_NWID_LEN]; int error = 0; struct thread *td = curthread; struct wi_req wreq; @@ -1294,47 +1308,147 @@ WI_UNLOCK(sc); break; case SIOCG80211: - ireq = (struct ieee80211req *) data; - if (ireq->i_type == IEEE80211_IOC_STATIONNAME) { - ireq->i_len = sc->sc_nodelen + 1; - error = copyout(sc->sc_nodename, ireq->i_data, - ireq->i_len); + error = wi_ioctl_get(ifp, cmd, data); + break; + case SIOCS80211: + error = priv_check(td, PRIV_NET80211_MANAGE); + if (error) + break; + error = wi_ioctl_set(ifp, cmd, data); + + + break; + default: + error = ieee80211_ioctl(ic, cmd, data); + WI_LOCK(sc); + if (error == ENETRESET) { + if (sc->sc_enabled) + wi_init(sc); /* XXX no error return */ + error = 0; + } + WI_UNLOCK(sc); + break; + } + return (error); +} + +static int +wi_ioctl_get(struct ifnet *ifp, u_long cmd, caddr_t data) +{ + int error, i, len; + struct wi_softc *sc; + struct ieee80211req *ireq; + struct ieee80211com *ic; + struct wi_apinfo *ap; + struct ieee80211req_scan_result *sr, *bsr; + char *cp; + uint16_t *bssid; + sc = ifp->if_softc; + ic = &sc->sc_ic; + ireq = (struct ieee80211req *) data; + + switch (ireq->i_type) { + case IEEE80211_IOC_SCAN_RESULTS: + sr = bsr = malloc(ireq->i_len, M_DEVBUF, M_NOWAIT | M_ZERO); + if (sr == NULL) { + error = ENOMEM; break; } - goto ioctl_common; - case SIOCS80211: - ireq = (struct ieee80211req *) data; - if (ireq->i_type == IEEE80211_IOC_STATIONNAME) { - error = priv_check(td, PRIV_NET80211_MANAGE); - if (error) + len = 0; + for (i = 0; i < sc->sc_naps; i++) { + ap = &sc->sc_aps[i]; + if (len + sizeof(*sr) + ap->namelen > ireq->i_len) break; - if (ireq->i_val != 0 || - ireq->i_len > IEEE80211_NWID_LEN) { - error = EINVAL; + bssid = (uint16_t *)&ap->bssid; + /* Lucent firmware will return empty records */ + if (bssid[0] == 0 && bssid[1] == 0 && bssid[2] == 0) break; - } - memset(nodename, 0, IEEE80211_NWID_LEN); - error = copyin(ireq->i_data, nodename, ireq->i_len); - if (error) - break; - WI_LOCK(sc); - if (sc->sc_enabled) { - error = wi_write_ssid(sc, WI_RID_NODENAME, - nodename, ireq->i_len); - } - if (error == 0) { - memcpy(sc->sc_nodename, nodename, - IEEE80211_NWID_LEN); - sc->sc_nodelen = ireq->i_len; - } - WI_UNLOCK(sc); + + sr->isr_rssi = ap->signal; + sr->isr_freq = ieee80211_ieee2mhz(ap->channel, + IEEE80211_CHAN_B); + sr->isr_intval = ap->interval; + sr->isr_rates[0] = ap->rate; + sr->isr_nrates = 1; + sr->isr_ssid_len = ap->namelen; + sr->isr_ie_len = 0; + sr->isr_capinfo = ap->capinfo; /* XXX */ + sr->isr_noise = ap->noise; /* XXX */ + bcopy(ap->bssid, sr->isr_bssid, sizeof(sr->isr_bssid)); + cp = (char *)sr + sizeof(*sr); + bcopy(ap->name, cp, sr->isr_ssid_len); + cp += sr->isr_ssid_len; + sr->isr_len = roundup(sizeof(*sr) + sr->isr_ssid_len, + sizeof(uint32_t)); + len += sr->isr_len; + } + ireq->i_len = len; + error = copyout(bsr, ireq->i_data, len); + free(bsr, M_DEVBUF); + break; + case IEEE80211_IOC_STATIONNAME: + ireq->i_len = sc->sc_nodelen + 1; + error = copyout(sc->sc_nodename, ireq->i_data, + ireq->i_len); + break; + default: + error = ieee80211_ioctl(ic, cmd, data); + WI_LOCK(sc); + if (error == ENETRESET) { + if (sc->sc_enabled) + wi_init(sc); /* XXX no error return */ + error = 0; + } + WI_UNLOCK(sc); + + break; + } + + return (error); +} + +static int +wi_ioctl_set(struct ifnet *ifp, u_long cmd, caddr_t data) +{ + int error; + struct wi_softc *sc; + struct ieee80211req *ireq; + u_int8_t nodename[IEEE80211_NWID_LEN]; + + sc = ifp->if_softc; + ireq = (struct ieee80211req *) data; + switch (ireq->i_type) { + case IEEE80211_IOC_SCAN_REQ: + WI_LOCK(sc); + error = wi_scan_ap(sc, 0x3fff, 0x000f); + WI_UNLOCK(sc); + break; + case IEEE80211_IOC_STATIONNAME: + if (ireq->i_val != 0 || + ireq->i_len > IEEE80211_NWID_LEN) { + error = EINVAL; break; } - goto ioctl_common; + memset(nodename, 0, IEEE80211_NWID_LEN); + error = copyin(ireq->i_data, nodename, ireq->i_len); + if (error) + break; + WI_LOCK(sc); + if (sc->sc_enabled) { + error = wi_write_ssid(sc, WI_RID_NODENAME, + nodename, ireq->i_len); + } + if (error == 0) { + memcpy(sc->sc_nodename, nodename, + IEEE80211_NWID_LEN); + sc->sc_nodelen = ireq->i_len; + } + WI_UNLOCK(sc); + + break; default: - ioctl_common: + error = ieee80211_ioctl(&sc->sc_ic, cmd, data); WI_LOCK(sc); - error = ieee80211_ioctl(ic, cmd, data); if (error == ENETRESET) { if (sc->sc_enabled) wi_init(sc); /* XXX no error return */ @@ -1343,9 +1457,21 @@ WI_UNLOCK(sc); break; } + return (error); } +static struct ieee80211_node * +wi_node_alloc(struct ieee80211_node_table *nt) +{ + struct wi_node *rn; + + rn = malloc(sizeof (struct wi_node), M_80211_NODE, + M_NOWAIT | M_ZERO); + + return (rn != NULL) ? &rn->ni : NULL; +} + static int wi_media_change(struct ifnet *ifp) { @@ -3376,3 +3502,37 @@ tsleep(sc, PWAIT, "wiinit", 1); return 0; } + +/* + * This function can be called by ieee80211_set_shortslottime(). Refer to + * IEEE Std 802.11-1999 pp. 85 to know how these values are computed. + */ +static void +wi_update_slot(struct ifnet *ifp) +{ + DPRINTF(("wi update slot unimplemented\n")); +} + +static void +wi_set_channel(struct ieee80211com *ic) +{ + return; +} + +static void +wi_scan_start(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct wi_softc *sc = ifp->if_softc; + + WI_LOCK(sc); + wi_scan_ap(sc, 0x3fff, 0x000f); + WI_UNLOCK(sc); + +} + +static void +wi_scan_end(struct ieee80211com *ic) +{ + return; +} From owner-p4-projects@FreeBSD.ORG Tue Jan 2 01:34:04 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 488D316A415; Tue, 2 Jan 2007 01:34:04 +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 0C09816A407 for ; Tue, 2 Jan 2007 01:34:04 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id F135313C457 for ; Tue, 2 Jan 2007 01:34:03 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l021Y3Dh059886 for ; Tue, 2 Jan 2007 01:34:03 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l021Y3Mb059883 for perforce@freebsd.org; Tue, 2 Jan 2007 01:34:03 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 2 Jan 2007 01:34:03 GMT Message-Id: <200701020134.l021Y3Mb059883@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112407 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: Tue, 02 Jan 2007 01:34:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=112407 Change 112407 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/02 01:33:30 - convert channel initialization to packed format - getting a firmware error kicks the device restart task which can race with unload, only restart if the interface is up - still need to track down and fix the source of the firmware error Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#16 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#16 (text+ko) ==== @@ -259,7 +259,7 @@ struct ieee80211com *ic = &sc->sc_ic; struct ieee80211_channel *c; uint16_t val; - int error, i; + int error, i, j; sc->sc_dev = dev; @@ -269,12 +269,12 @@ sc->sc_unr = new_unrhdr(1, IWI_MAX_IBSSNODE-1, &sc->sc_mtx); #if __FreeBSD_version >= 700000 - sc->sc_tq = taskqueue_create("iwi_taskq", M_NOWAIT, + sc->sc_tq = taskqueue_create("iwi_taskq", M_NOWAIT | M_ZERO, taskqueue_thread_enqueue, &sc->sc_tq); taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", device_get_nameunit(dev)); #else - sc->sc_tq = taskqueue_create("iwi_taskq", M_NOWAIT, + sc->sc_tq = taskqueue_create("iwi_taskq", M_NOWAIT | M_ZERO, taskqueue_thread_enqueue, &sc->sc_tq, &sc->sc_tqproc); kthread_create(taskqueue_thread_loop, &sc->sc_tq, &sc->sc_tqproc, 0, 0, "%s taskq", device_get_nameunit(dev)); @@ -408,38 +408,43 @@ val = iwi_read_prom_word(sc, IWI_EEPROM_MAC + 2); ic->ic_myaddr[4] = val & 0xff; ic->ic_myaddr[5] = val >> 8; + + /* set supported .11b and .11g channels (1 through 14) */ + for (j = 0, i = 1; i <= 14; i++) { + c = &ic->ic_channels[j++]; + c->ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); + c->ic_flags = IEEE80211_CHAN_B; + c->ic_ieee = i; + c = &ic->ic_channels[j++]; + c->ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); + c->ic_flags = IEEE80211_CHAN_G; + c->ic_ieee = i; + } if (pci_get_device(dev) >= 0x4223) { /* set supported .11a rates (2915ABG only) */ ic->ic_sup_rates[IEEE80211_MODE_11A] = iwi_rateset_11a; /* set supported .11a channels */ - for (i = 36; i <= 64; i += 4) { - ic->ic_channels[i].ic_freq = + for (i = 36; i <= 64; i += 4, j++) { + ic->ic_channels[j].ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[i].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_ieee = i; } - for (i = 149; i <= 165; i += 4) { - ic->ic_channels[i].ic_freq = + for (i = 149; i <= 165; i += 4, j++) { + ic->ic_channels[j].ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[i].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; + ic->ic_channels[j].ic_ieee = i; } } /* set supported .11b and .11g rates */ ic->ic_sup_rates[IEEE80211_MODE_11B] = iwi_rateset_11b; ic->ic_sup_rates[IEEE80211_MODE_11G] = iwi_rateset_11g; + ic->ic_nchans = j; - /* set supported .11b and .11g channels (1 through 14) */ - for (i = 1; i <= 14; i++) { - c = &ic->ic_channels[ic->ic_nchans++]; - c->ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); - c->ic_flags = - IEEE80211_CHAN_CCK | IEEE80211_CHAN_OFDM | - IEEE80211_CHAN_DYN | IEEE80211_CHAN_2GHZ; - c->ic_ieee = i; - } - ieee80211_ifattach(ic); ic->ic_bmissthreshold = 10; /* override default */ /* override default methods */ @@ -1667,7 +1672,9 @@ if (r & IWI_INTR_FATAL_ERROR) { device_printf(sc->sc_dev, "firmware error\n"); - taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); + /* don't restart if the interface isn't up */ + if (sc->sc_ifp->if_flags & IFF_DRV_RUNNING) + taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); } if (r & IWI_INTR_FW_INITED) { @@ -2818,9 +2825,6 @@ * in the list. */ if (sc->flags & IWI_FLAG_SCANNING) { -#if 0 - ieee80211_begin_scan(ic, 1); -#endif if (iwi_scan(sc) != 0) { /* XXX should not happen */ sc->flags &= ~IWI_FLAG_SCANNING; From owner-p4-projects@FreeBSD.ORG Tue Jan 2 02:41:29 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 2B48016A415; Tue, 2 Jan 2007 02:41:29 +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 E097716A40F for ; Tue, 2 Jan 2007 02:41:28 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D21B713C448 for ; Tue, 2 Jan 2007 02:41:28 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l022fSeX071430 for ; Tue, 2 Jan 2007 02:41:28 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l022fSAm071426 for perforce@freebsd.org; Tue, 2 Jan 2007 02:41:28 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 2 Jan 2007 02:41:28 GMT Message-Id: <200701020241.l022fSAm071426@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112409 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: Tue, 02 Jan 2007 02:41:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=112409 Change 112409 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/02 02:40:36 - use taskqueue to handle scanning actions to avoid issues with locking - scanning now works, but ural bails out under load complaining about not being able to read / write the MAC register - we may need an interlock between calls to the taskqueue Affected files ... .. //depot/projects/wifi/sys/dev/usb/if_ural.c#12 edit .. //depot/projects/wifi/sys/dev/usb/if_uralvar.h#7 edit Differences ... ==== //depot/projects/wifi/sys/dev/usb/if_ural.c#12 (text+ko) ==== @@ -112,6 +112,7 @@ static void ural_free_rx_list(struct ural_softc *); static int ural_media_change(struct ifnet *); static void ural_task(void *); +static void ural_scantask(void *); static int ural_newstate(struct ieee80211com *, enum ieee80211_state, int); static int ural_rxrate(struct ural_rx_desc *); @@ -425,6 +426,8 @@ MTX_DEF | MTX_RECURSE); usb_init_task(&sc->sc_task, ural_task, sc); + usb_init_task(&sc->sc_scantask, ural_scantask, sc); + callout_init(&sc->amrr_ch, 0); /* retrieve RT2570 rev. no */ @@ -791,6 +794,28 @@ sc->sc_newstate(ic, sc->sc_state, -1); } +static void +ural_scantask(void *arg) +{ + struct ural_softc *sc = arg; + struct ieee80211com *ic = &sc->sc_ic; + struct ifnet *ifp = ic->ic_ifp; + + if (sc->sc_scan_action == URAL_SCAN_START) { + /* abort TSF synchronization */ + ural_write(sc, RAL_TXRX_CSR19, 0); + ural_set_bssid(sc, ifp->if_broadcastaddr); + } else if (sc->sc_scan_action == URAL_SET_CHANNEL) { + mtx_lock(&Giant); + ural_set_chan(sc, ic->ic_curchan); + mtx_unlock(&Giant); + } else { + ural_enable_tsf_sync(sc); + /* XXX keep local copy */ + ural_set_bssid(sc, ic->ic_bss->ni_bssid); + } +} + static int ural_newstate(struct ieee80211com *ic, enum ieee80211_state nstate, int arg) { @@ -1732,34 +1757,40 @@ static void ural_scan_start(struct ieee80211com *ic) { - struct ifnet *ifp = ic->ic_ifp; - struct ural_softc *sc = ifp->if_softc; + struct ural_softc *sc = ic->ic_ifp->if_softc; + + usb_rem_task(sc->sc_udev, &sc->sc_scantask); + + /* do it in a process context */ + sc->sc_scan_action = URAL_SCAN_START; + usb_add_task(sc->sc_udev, &sc->sc_scantask, USB_TASKQ_DRIVER); - /* abort TSF synchronization */ - ural_write(sc, RAL_TXRX_CSR19, 0); - ural_set_bssid(sc, ifp->if_broadcastaddr); } static void ural_scan_end(struct ieee80211com *ic) { - struct ifnet *ifp = ic->ic_ifp; - struct ural_softc *sc = ifp->if_softc; + struct ural_softc *sc = ic->ic_ifp->if_softc; + + usb_rem_task(sc->sc_udev, &sc->sc_scantask); + + /* do it in a process context */ + sc->sc_scan_action = URAL_SCAN_END; + usb_add_task(sc->sc_udev, &sc->sc_scantask, USB_TASKQ_DRIVER); - ural_enable_tsf_sync(sc); - /* XXX keep local copy */ - ural_set_bssid(sc, ic->ic_bss->ni_bssid); } static void ural_set_channel(struct ieee80211com *ic) { - struct ifnet *ifp = ic->ic_ifp; - struct ural_softc *sc = ifp->if_softc; + + struct ural_softc *sc = ic->ic_ifp->if_softc; + + usb_rem_task(sc->sc_udev, &sc->sc_scantask); - mtx_lock(&Giant); - ural_set_chan(sc, ic->ic_curchan); - mtx_unlock(&Giant); + /* do it in a process context */ + sc->sc_scan_action = URAL_SET_CHANNEL; + usb_add_task(sc->sc_udev, &sc->sc_scantask, USB_TASKQ_DRIVER); } static void ==== //depot/projects/wifi/sys/dev/usb/if_uralvar.h#7 (text+ko) ==== @@ -20,6 +20,11 @@ #define RAL_RX_LIST_COUNT 1 #define RAL_TX_LIST_COUNT 1 +#define URAL_SCAN_START 1 +#define URAL_SCAN_END 2 +#define URAL_SET_CHANNEL 3 + + struct ural_rx_radiotap_header { struct ieee80211_radiotap_header wr_ihdr; uint8_t wr_flags; @@ -98,7 +103,9 @@ usbd_pipe_handle sc_tx_pipeh; enum ieee80211_state sc_state; + int sc_scan_action; /* should be an enum */ struct usb_task sc_task; + struct usb_task sc_scantask; struct ural_amrr amrr; From owner-p4-projects@FreeBSD.ORG Tue Jan 2 03:30:32 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 7132016A40F; Tue, 2 Jan 2007 03:30:32 +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 4581516A403 for ; Tue, 2 Jan 2007 03:30:32 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 36F9513C467 for ; Tue, 2 Jan 2007 03:30:32 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l023UWDu080340 for ; Tue, 2 Jan 2007 03:30:32 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l023UVUR080337 for perforce@freebsd.org; Tue, 2 Jan 2007 03:30:31 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 2 Jan 2007 03:30:31 GMT Message-Id: <200701020330.l023UVUR080337@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112410 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: Tue, 02 Jan 2007 03:30:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=112410 Change 112410 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/02 03:30:17 fix read / write of the MAC register errors mentioned in the previous commit by serializing the task queue functions with respect to each other (this commit is happening over ural) Affected files ... .. //depot/projects/wifi/sys/dev/usb/if_ural.c#13 edit Differences ... ==== //depot/projects/wifi/sys/dev/usb/if_ural.c#13 (text+ko) ==== @@ -737,6 +737,7 @@ ostate = ic->ic_state; + RAL_LOCK(sc); switch (sc->sc_state) { case IEEE80211_S_INIT: if (ostate == IEEE80211_S_RUN) { @@ -791,6 +792,7 @@ break; } + RAL_UNLOCK(sc); sc->sc_newstate(ic, sc->sc_state, -1); } @@ -801,6 +803,7 @@ struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; + RAL_LOCK(sc); if (sc->sc_scan_action == URAL_SCAN_START) { /* abort TSF synchronization */ ural_write(sc, RAL_TXRX_CSR19, 0); @@ -814,6 +817,7 @@ /* XXX keep local copy */ ural_set_bssid(sc, ic->ic_bss->ni_bssid); } + RAL_UNLOCK(sc); } static int From owner-p4-projects@FreeBSD.ORG Tue Jan 2 04:46:10 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 5FD0116A40F; Tue, 2 Jan 2007 04:46:10 +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 3125216A403 for ; Tue, 2 Jan 2007 04:46:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 22EBB13C428 for ; Tue, 2 Jan 2007 04:46:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l024kA1f094313 for ; Tue, 2 Jan 2007 04:46:10 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l024k912094310 for perforce@freebsd.org; Tue, 2 Jan 2007 04:46:09 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 2 Jan 2007 04:46:09 GMT Message-Id: <200701020446.l024k912094310@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112413 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: Tue, 02 Jan 2007 04:46:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=112413 Change 112413 by kmacy@kmacy_storage:sam_wifi on 2007/01/02 04:45:55 remove some (now) superfluous debugging statements Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#5 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#5 (text) ==== @@ -2613,7 +2613,6 @@ struct ifnet *ifp = ic->ic_ifp; struct rt2560_softc *sc = ifp->if_softc; - printf("starting scan\n"); /* abort TSF synchronization */ RAL_WRITE(sc, RT2560_CSR14, 0); rt2560_set_bssid(sc, ifp->if_broadcastaddr); @@ -2624,7 +2623,7 @@ { struct ifnet *ifp = ic->ic_ifp; struct rt2560_softc *sc = ifp->if_softc; - printf("ending scan\n"); + rt2560_enable_tsf_sync(sc); /* XXX keep local copy */ rt2560_set_bssid(sc, ic->ic_bss->ni_bssid); From owner-p4-projects@FreeBSD.ORG Tue Jan 2 07:26:33 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 22C8416A40F; Tue, 2 Jan 2007 07:26:33 +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 A2B5216A403 for ; Tue, 2 Jan 2007 07:26:32 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 873FF13C442 for ; Tue, 2 Jan 2007 07:26:32 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l027QWIx056038 for ; Tue, 2 Jan 2007 07:26:32 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l027QWfQ056035 for perforce@freebsd.org; Tue, 2 Jan 2007 07:26:32 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 2 Jan 2007 07:26:32 GMT Message-Id: <200701020726.l027QWfQ056035@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112415 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: Tue, 02 Jan 2007 07:26:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=112415 Change 112415 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/02 07:26:15 remove the added ioctls for initiating and querying scan results - we new pass that back to the 802.11 stack when we're notified by the firmware not everything is formatted in the way the 802.11 layer expects it, but this a workable first cut Affected files ... .. //depot/projects/wifi/sys/dev/wi/if_wi.c#25 edit Differences ... ==== //depot/projects/wifi/sys/dev/wi/if_wi.c#25 (text+ko) ==== @@ -1335,57 +1335,17 @@ static int wi_ioctl_get(struct ifnet *ifp, u_long cmd, caddr_t data) { - int error, i, len; + int error; struct wi_softc *sc; struct ieee80211req *ireq; struct ieee80211com *ic; - struct wi_apinfo *ap; - struct ieee80211req_scan_result *sr, *bsr; - char *cp; - uint16_t *bssid; + + sc = ifp->if_softc; ic = &sc->sc_ic; ireq = (struct ieee80211req *) data; switch (ireq->i_type) { - case IEEE80211_IOC_SCAN_RESULTS: - sr = bsr = malloc(ireq->i_len, M_DEVBUF, M_NOWAIT | M_ZERO); - if (sr == NULL) { - error = ENOMEM; - break; - } - len = 0; - for (i = 0; i < sc->sc_naps; i++) { - ap = &sc->sc_aps[i]; - if (len + sizeof(*sr) + ap->namelen > ireq->i_len) - break; - bssid = (uint16_t *)&ap->bssid; - /* Lucent firmware will return empty records */ - if (bssid[0] == 0 && bssid[1] == 0 && bssid[2] == 0) - break; - - sr->isr_rssi = ap->signal; - sr->isr_freq = ieee80211_ieee2mhz(ap->channel, - IEEE80211_CHAN_B); - sr->isr_intval = ap->interval; - sr->isr_rates[0] = ap->rate; - sr->isr_nrates = 1; - sr->isr_ssid_len = ap->namelen; - sr->isr_ie_len = 0; - sr->isr_capinfo = ap->capinfo; /* XXX */ - sr->isr_noise = ap->noise; /* XXX */ - bcopy(ap->bssid, sr->isr_bssid, sizeof(sr->isr_bssid)); - cp = (char *)sr + sizeof(*sr); - bcopy(ap->name, cp, sr->isr_ssid_len); - cp += sr->isr_ssid_len; - sr->isr_len = roundup(sizeof(*sr) + sr->isr_ssid_len, - sizeof(uint32_t)); - len += sr->isr_len; - } - ireq->i_len = len; - error = copyout(bsr, ireq->i_data, len); - free(bsr, M_DEVBUF); - break; case IEEE80211_IOC_STATIONNAME: ireq->i_len = sc->sc_nodelen + 1; error = copyout(sc->sc_nodename, ireq->i_data, @@ -1418,11 +1378,6 @@ sc = ifp->if_softc; ireq = (struct ieee80211req *) data; switch (ireq->i_type) { - case IEEE80211_IOC_SCAN_REQ: - WI_LOCK(sc); - error = wi_scan_ap(sc, 0x3fff, 0x000f); - WI_UNLOCK(sc); - break; case IEEE80211_IOC_STATIONNAME: if (ireq->i_val != 0 || ireq->i_len > IEEE80211_NWID_LEN) { @@ -1962,8 +1917,9 @@ case WI_INFO_SCAN_RESULTS: case WI_INFO_HOST_SCAN_RESULTS: wi_scan_result(sc, fid, le16toh(ltbuf[0])); + ieee80211_notify_scan_done(ic); break; - + default: DPRINTF(("wi_info_intr: got fid %x type %x len %d\n", fid, le16toh(ltbuf[1]), le16toh(ltbuf[0]))); @@ -3079,6 +3035,16 @@ struct wi_scan_header ws_hdr; /* Prism2 header */ struct wi_scan_data_p2 ws_dat; /* Prism2 scantable*/ struct wi_apinfo *ap; + struct ieee80211_scanparams sp; + struct ieee80211_frame wh; + static long rstamp; + struct ieee80211com *ic; + uint8_t ssid[2+IEEE80211_NWID_LEN]; + + printf("wi_scan_result\n"); + ic = &sc->sc_ic; + rstamp++; + memset(&sp, 0, sizeof(sp)); off = sizeof(u_int16_t) * 2; memset(&ws_hdr, 0, sizeof(ws_hdr)); @@ -3108,25 +3074,44 @@ /* Read Data */ ap = sc->sc_aps; memset(&ws_dat, 0, sizeof(ws_dat)); + for (i = 0; i < naps; i++, ap++) { + uint8_t rates[2]; + uint16_t *bssid; wi_read_bap(sc, fid, off, &ws_dat, (sizeof(ws_dat) < szbuf ? sizeof(ws_dat) : szbuf)); DPRINTF2(("wi_scan_result: #%d: off %d bssid %s\n", i, off, ether_sprintf(ws_dat.wi_bssid))); + off += szbuf; - ap->scanreason = le16toh(ws_hdr.wi_reason); + ap->scanreason = le16toh(ws_hdr.wi_reason); memcpy(ap->bssid, ws_dat.wi_bssid, sizeof(ap->bssid)); - ap->channel = le16toh(ws_dat.wi_chid); + + bssid = (uint16_t *)&ap->bssid; + if (bssid[0] == 0 && bssid[1] == 0 && bssid[2] == 0) + break; + + memcpy(wh.i_addr2, ws_dat.wi_bssid, sizeof(ap->bssid)); + memcpy(wh.i_addr3, ws_dat.wi_bssid, sizeof(ap->bssid)); + sp.chan = ap->channel = le16toh(ws_dat.wi_chid); ap->signal = le16toh(ws_dat.wi_signal); ap->noise = le16toh(ws_dat.wi_noise); ap->quality = ap->signal - ap->noise; - ap->capinfo = le16toh(ws_dat.wi_capinfo); + sp.capinfo = ap->capinfo = le16toh(ws_dat.wi_capinfo); ap->interval = le16toh(ws_dat.wi_interval); - ap->rate = le16toh(ws_dat.wi_rate); + rates[0] = ap->rate = le16toh(ws_dat.wi_rate); + rates[1] = 0; ap->namelen = le16toh(ws_dat.wi_namelen); if (ap->namelen > sizeof(ap->name)) ap->namelen = sizeof(ap->name); memcpy(ap->name, ws_dat.wi_name, ap->namelen); + sp.ssid = (uint8_t *)&ssid[0]; + memcpy(sp.ssid + 2, ap->name, ap->namelen); + sp.ssid[1] = ap->namelen; + sp.rates = &rates[0]; + sp.tstamp = (uint8_t *)&rstamp; + printf("calling add_scan \n"); + ieee80211_add_scan(ic, &sp, &wh, 0, ap->signal, ap->noise, rstamp); } done: /* Done scanning */ From owner-p4-projects@FreeBSD.ORG Tue Jan 2 07:43:55 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 6C4C216A417; Tue, 2 Jan 2007 07:43:55 +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 26C0716A415 for ; Tue, 2 Jan 2007 07:43:55 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1796013C455 for ; Tue, 2 Jan 2007 07:43:55 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l027hs5g059033 for ; Tue, 2 Jan 2007 07:43:54 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l027hshV059030 for perforce@freebsd.org; Tue, 2 Jan 2007 07:43:54 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 2 Jan 2007 07:43:54 GMT Message-Id: <200701020743.l027hshV059030@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112416 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: Tue, 02 Jan 2007 07:43:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=112416 Change 112416 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/02 07:43:09 set beacon interval in scan results try to set a rate :-/ Affected files ... .. //depot/projects/wifi/sys/dev/wi/if_wi.c#26 edit Differences ... ==== //depot/projects/wifi/sys/dev/wi/if_wi.c#26 (text+ko) ==== @@ -3098,9 +3098,10 @@ ap->noise = le16toh(ws_dat.wi_noise); ap->quality = ap->signal - ap->noise; sp.capinfo = ap->capinfo = le16toh(ws_dat.wi_capinfo); - ap->interval = le16toh(ws_dat.wi_interval); - rates[0] = ap->rate = le16toh(ws_dat.wi_rate); - rates[1] = 0; + sp.bintval = ap->interval = le16toh(ws_dat.wi_interval); + ap->rate = le16toh(ws_dat.wi_rate); + rates[1] = 1; + rates[2] = (uint8_t)ap->rate; ap->namelen = le16toh(ws_dat.wi_namelen); if (ap->namelen > sizeof(ap->name)) ap->namelen = sizeof(ap->name); From owner-p4-projects@FreeBSD.ORG Tue Jan 2 13:31:11 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 7167316A412; Tue, 2 Jan 2007 13:31:11 +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 2D42E16A40F for ; Tue, 2 Jan 2007 13:31:11 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1DCB913C428 for ; Tue, 2 Jan 2007 13:31:11 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l02DVAax044360 for ; Tue, 2 Jan 2007 13:31:11 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l02DVAJi044336 for perforce@freebsd.org; Tue, 2 Jan 2007 13:31:10 GMT (envelope-from cognet@freebsd.org) Date: Tue, 2 Jan 2007 13:31:10 GMT Message-Id: <200701021331.l02DVAJi044336@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 112421 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: Tue, 02 Jan 2007 13:31:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=112421 Change 112421 by cognet@hulglah on 2007/01/02 13:30:59 Re-enable the interrupt source once we ran the interrupt handler. I believe this should be done once we're sure all the interrupt handlers for the said interrupt have runned, but I'm not sure how to detect this. Affected files ... .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#21 edit Differences ... ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#21 (text+ko) ==== @@ -690,6 +690,8 @@ ih->ih_handler(ih->ih_argument); if (!(ih->ih_flags & IH_MPSAFE)) mtx_unlock(&Giant); + if (ie->ie_enable) + ie->ie_enable(ie->ie_source); } static void From owner-p4-projects@FreeBSD.ORG Tue Jan 2 14:45:45 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 F2AC816A417; Tue, 2 Jan 2007 14:45:44 +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 CCA1816A415 for ; Tue, 2 Jan 2007 14:45:44 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A510F13C43E for ; Tue, 2 Jan 2007 14:45:44 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l02Ejixw074376 for ; Tue, 2 Jan 2007 14:45:44 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l02EjiZo074373 for perforce@freebsd.org; Tue, 2 Jan 2007 14:45:44 GMT (envelope-from cognet@freebsd.org) Date: Tue, 2 Jan 2007 14:45:44 GMT Message-Id: <200701021445.l02EjiZo074373@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 112422 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: Tue, 02 Jan 2007 14:45:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=112422 Change 112422 by cognet@hulglah on 2007/01/02 14:44:54 Backout the last commit, we found a better solution for arm. Affected files ... .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#22 edit Differences ... ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#22 (text+ko) ==== @@ -690,8 +690,6 @@ ih->ih_handler(ih->ih_argument); if (!(ih->ih_flags & IH_MPSAFE)) mtx_unlock(&Giant); - if (ie->ie_enable) - ie->ie_enable(ie->ie_source); } static void From owner-p4-projects@FreeBSD.ORG Tue Jan 2 16:53:29 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 BADD716A412; Tue, 2 Jan 2007 16:53:29 +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 86DD616A403 for ; Tue, 2 Jan 2007 16:53:29 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 781C713C457 for ; Tue, 2 Jan 2007 16:53:29 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l02GrTvk007923 for ; Tue, 2 Jan 2007 16:53:29 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l02GrTiC007919 for perforce@freebsd.org; Tue, 2 Jan 2007 16:53:29 GMT (envelope-from cognet@freebsd.org) Date: Tue, 2 Jan 2007 16:53:29 GMT Message-Id: <200701021653.l02GrTiC007919@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 112424 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: Tue, 02 Jan 2007 16:53:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=112424 Change 112424 by cognet@hulglah on 2007/01/02 16:52:32 Implement a minimalist intr_eoi_src which just calls arm_unmask_irq(), so that irq are unmasked after a filter+ithread runs. Affected files ... .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#10 edit Differences ... ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#10 (text+ko) ==== @@ -122,6 +122,15 @@ return (NULL); } +static void +intr_eoi_src(void *arg) +{ + uintptr_t nb; + + nb = (uintptr_t)arg; + arm_unmask_irq(nb); +} + void arm_handler_execute(struct trapframe *frame, int irqnb __unused) { @@ -133,8 +142,8 @@ arm_mask_irq(i); intrcnt[intrcnt_tab[i]]++; event = intr_events[i]; - res = mi_handle_intr(event, frame, intr_eoi_src_stub, - intr_disab_eoi_src_stub, NULL); + res = mi_handle_intr(event, frame, intr_eoi_src, + intr_disab_eoi_src_stub, (void *)i); switch (res) { case 0: break; From owner-p4-projects@FreeBSD.ORG Tue Jan 2 17:20:23 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 032DC16A40F; Tue, 2 Jan 2007 17:20:23 +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 B6B6016A407; Tue, 2 Jan 2007 17:20:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 61B6113C45B; Tue, 2 Jan 2007 17:20:22 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l02HKKIA012104; Tue, 2 Jan 2007 12:20:20 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Olivier Houchard Date: Tue, 2 Jan 2007 12:20:09 -0500 User-Agent: KMail/1.9.4 References: <200701021653.l02GrTiC007919@repoman.freebsd.org> In-Reply-To: <200701021653.l02GrTiC007919@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701021220.09987.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Tue, 02 Jan 2007 12:20:20 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2406/Tue Jan 2 06:58:55 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112424 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: Tue, 02 Jan 2007 17:20:23 -0000 On Tuesday 02 January 2007 11:53, Olivier Houchard wrote: > http://perforce.freebsd.org/chv.cgi?CH=112424 > > Change 112424 by cognet@hulglah on 2007/01/02 16:52:32 > > Implement a minimalist intr_eoi_src which just calls arm_unmask_irq(), > so that irq are unmasked after a filter+ithread runs. Err, you shouldn't need to mask the IRQ unless you schedule the ithread. Hmm, I'd also prefer it if we didn't pass function handlers to mi_handle_intr() (which should be intr_handle() or something, all the MI interrupt code is intr_foo(), not mi_foo_intr()) but instead set them in the intr_event and passed them to intr_event_create(). > Affected files ... > > .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#10 edit > > Differences ... > > ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#10 (text+ko) ==== > > @@ -122,6 +122,15 @@ > return (NULL); > } > > +static void > +intr_eoi_src(void *arg) > +{ > + uintptr_t nb; > + > + nb = (uintptr_t)arg; > + arm_unmask_irq(nb); > +} > + > void > arm_handler_execute(struct trapframe *frame, int irqnb __unused) > { > @@ -133,8 +142,8 @@ > arm_mask_irq(i); > intrcnt[intrcnt_tab[i]]++; > event = intr_events[i]; > - res = mi_handle_intr(event, frame, intr_eoi_src_stub, > - intr_disab_eoi_src_stub, NULL); > + res = mi_handle_intr(event, frame, intr_eoi_src, > + intr_disab_eoi_src_stub, (void *)i); > switch (res) { > case 0: > break; > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Tue Jan 2 17:22:29 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 EA50016A415; Tue, 2 Jan 2007 17:22:28 +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 60E5416A407; Tue, 2 Jan 2007 17:22:28 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 0E18713C44B; Tue, 2 Jan 2007 17:22:27 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l02GiDlg011813; Tue, 2 Jan 2007 11:44:13 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Roman Divacky Date: Tue, 2 Jan 2007 11:29:54 -0500 User-Agent: KMail/1.9.4 References: <200612312353.kBVNrYYY007010@repoman.freebsd.org> In-Reply-To: <200612312353.kBVNrYYY007010@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701021129.54537.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Tue, 02 Jan 2007 11:44:13 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2406/Tue Jan 2 06:58:55 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112379 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: Tue, 02 Jan 2007 17:22:29 -0000 On Sunday 31 December 2006 18:53, Roman Divacky wrote: > http://perforce.freebsd.org/chv.cgi?CH=112379 > > Change 112379 by rdivacky@rdivacky_witten on 2006/12/31 23:53:30 > > Implement SETALL/GETALL IPC primitives. This fixes some LTP testcases. Are you sure it's actually working? I thought Linux semid structure was a different size, and GETALL and SETALL try to copyin and copyout data from userland without doing any conversions. > Affected files ... > > .. //depot/projects/linuxolator/src/sys/compat/linux/linux_ipc.c#8 edit > > Differences ... > > ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_ipc.c#8 (text+ko) ==== > > @@ -571,9 +571,13 @@ > td->td_retval[0] = seminfo.semmni; > return 0; /* No need for __semctl call */ > case LINUX_GETALL: > - /* FALLTHROUGH */ > + cmd = GETALL; > + semun.val = args->arg.val; > + break; > case LINUX_SETALL: > - /* FALLTHROUGH */ > + cmd = SETALL; > + semun.val = args->arg.val; > + break; > default: > linux_msg(td, "ipc type %d is not implemented", > args->cmd & ~LINUX_IPC_64); > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Tue Jan 2 17:35:52 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 4F34A16A416; Tue, 2 Jan 2007 17:35:52 +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 2778516A403; Tue, 2 Jan 2007 17:35:52 +0000 (UTC) (envelope-from doginou@dong.ci0.org) Received: from dong.ci0.org (cognet.ci0.org [80.65.224.102]) by mx1.freebsd.org (Postfix) with ESMTP id 7029A13C46C; Tue, 2 Jan 2007 17:35:51 +0000 (UTC) (envelope-from doginou@dong.ci0.org) Received: from dong.ci0.org (localhost.ci0.org [127.0.0.1]) by dong.ci0.org (8.13.7/8.13.4) with ESMTP id l02HeBnV093115; Tue, 2 Jan 2007 18:40:12 +0100 (CET) (envelope-from doginou@dong.ci0.org) Received: (from doginou@localhost) by dong.ci0.org (8.13.7/8.13.4/Submit) id l02HeBc6093114; Tue, 2 Jan 2007 18:40:11 +0100 (CET) (envelope-from doginou) Date: Tue, 2 Jan 2007 18:40:11 +0100 From: Olivier Houchard To: John Baldwin Message-ID: <20070102174011.GA93081@ci0.org> References: <200701021653.l02GrTiC007919@repoman.freebsd.org> <200701021220.09987.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701021220.09987.jhb@freebsd.org> User-Agent: Mutt/1.4.1i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112424 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: Tue, 02 Jan 2007 17:35:52 -0000 On Tue, Jan 02, 2007 at 12:20:09PM -0500, John Baldwin wrote: > On Tuesday 02 January 2007 11:53, Olivier Houchard wrote: > > http://perforce.freebsd.org/chv.cgi?CH=112424 > > > > Change 112424 by cognet@hulglah on 2007/01/02 16:52:32 > > > > Implement a minimalist intr_eoi_src which just calls arm_unmask_irq(), > > so that irq are unmasked after a filter+ithread runs. > > Err, you shouldn't need to mask the IRQ unless you schedule the ithread. Hmm, > I'd also prefer it if we didn't pass function handlers to mi_handle_intr() (which > should be intr_handle() or something, all the MI interrupt code is intr_foo(), > not mi_foo_intr()) but instead set them in the intr_event and passed them to > intr_event_create(). Basically the problem is arm_execute_handlers() can't know if we're talking about an interrupt for which we had a filter, and so we don't have to mask it, or an interrupt for which we have to schedule the ithread. So it has to be always masked. Cheers, Olivier From owner-p4-projects@FreeBSD.ORG Tue Jan 2 18:01:44 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 86D4016A407; Tue, 2 Jan 2007 18:01:44 +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 4A6E216A412 for ; Tue, 2 Jan 2007 18:01:44 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id E97ED13C455 for ; Tue, 2 Jan 2007 18:01:43 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l02I1a65012660; Tue, 2 Jan 2007 13:01:36 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Olivier Houchard Date: Tue, 2 Jan 2007 13:01:26 -0500 User-Agent: KMail/1.9.4 References: <200701021653.l02GrTiC007919@repoman.freebsd.org> <200701021220.09987.jhb@freebsd.org> <20070102174011.GA93081@ci0.org> In-Reply-To: <20070102174011.GA93081@ci0.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701021301.26644.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [192.168.0.1]); Tue, 02 Jan 2007 13:01:36 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2406/Tue Jan 2 06:58:55 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112424 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: Tue, 02 Jan 2007 18:01:44 -0000 On Tuesday 02 January 2007 12:40, Olivier Houchard wrote: > On Tue, Jan 02, 2007 at 12:20:09PM -0500, John Baldwin wrote: > > On Tuesday 02 January 2007 11:53, Olivier Houchard wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=112424 > > > > > > Change 112424 by cognet@hulglah on 2007/01/02 16:52:32 > > > > > > Implement a minimalist intr_eoi_src which just calls arm_unmask_irq(), > > > so that irq are unmasked after a filter+ithread runs. > > > > Err, you shouldn't need to mask the IRQ unless you schedule the ithread. Hmm, > > I'd also prefer it if we didn't pass function handlers to mi_handle_intr() (which > > should be intr_handle() or something, all the MI interrupt code is intr_foo(), > > not mi_foo_intr()) but instead set them in the intr_event and passed them to > > intr_event_create(). > > Basically the problem is arm_execute_handlers() can't know if we're talking > about an interrupt for which we had a filter, and so we don't have to mask it, > or an interrupt for which we have to schedule the ithread. So it has to be > always masked. Err, no, it shouldn't. :) mi_handle_intr() will use a different callback for the different cases. It should call the disable_and_eoi() hook if the interrupt should be masked, and it should just call teh eoi() hook if the interrupt just needs to be eoi'd but not disabled (because a filter claimed it). -- John Baldwin From owner-p4-projects@FreeBSD.ORG Tue Jan 2 18:20:20 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 49AF816A40F; Tue, 2 Jan 2007 18:20:20 +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 078CB16A508; Tue, 2 Jan 2007 18:20:20 +0000 (UTC) (envelope-from doginou@dong.ci0.org) Received: from dong.ci0.org (cognet.ci0.org [80.65.224.102]) by mx1.freebsd.org (Postfix) with ESMTP id 46A0513C45A; Tue, 2 Jan 2007 18:20:18 +0000 (UTC) (envelope-from doginou@dong.ci0.org) Received: from dong.ci0.org (localhost.ci0.org [127.0.0.1]) by dong.ci0.org (8.13.7/8.13.4) with ESMTP id l02IaL8F093507; Tue, 2 Jan 2007 19:36:21 +0100 (CET) (envelope-from doginou@dong.ci0.org) Received: (from doginou@localhost) by dong.ci0.org (8.13.7/8.13.4/Submit) id l02IaKZN093506; Tue, 2 Jan 2007 19:36:20 +0100 (CET) (envelope-from doginou) Date: Tue, 2 Jan 2007 19:36:20 +0100 From: Olivier Houchard To: John Baldwin Message-ID: <20070102183620.GA93436@ci0.org> References: <200701021653.l02GrTiC007919@repoman.freebsd.org> <200701021220.09987.jhb@freebsd.org> <20070102174011.GA93081@ci0.org> <200701021301.26644.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701021301.26644.jhb@freebsd.org> User-Agent: Mutt/1.4.1i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112424 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: Tue, 02 Jan 2007 18:20:20 -0000 On Tue, Jan 02, 2007 at 01:01:26PM -0500, John Baldwin wrote: > On Tuesday 02 January 2007 12:40, Olivier Houchard wrote: > > On Tue, Jan 02, 2007 at 12:20:09PM -0500, John Baldwin wrote: > > > On Tuesday 02 January 2007 11:53, Olivier Houchard wrote: > > > > http://perforce.freebsd.org/chv.cgi?CH=112424 > > > > > > > > Change 112424 by cognet@hulglah on 2007/01/02 16:52:32 > > > > > > > > Implement a minimalist intr_eoi_src which just calls arm_unmask_irq(), > > > > so that irq are unmasked after a filter+ithread runs. > > > > > > Err, you shouldn't need to mask the IRQ unless you schedule the ithread. Hmm, > > > I'd also prefer it if we didn't pass function handlers to mi_handle_intr() (which > > > should be intr_handle() or something, all the MI interrupt code is intr_foo(), > > > not mi_foo_intr()) but instead set them in the intr_event and passed them to > > > intr_event_create(). > > > > Basically the problem is arm_execute_handlers() can't know if we're talking > > about an interrupt for which we had a filter, and so we don't have to mask it, > > or an interrupt for which we have to schedule the ithread. So it has to be > > always masked. > > Err, no, it shouldn't. :) mi_handle_intr() will use a different callback for the > different cases. It should call the disable_and_eoi() hook if the interrupt should > be masked, and it should just call teh eoi() hook if the interrupt just needs to be > eoi'd but not disabled (because a filter claimed it). > Oops you're right of course. Just making disab masking the interrupt, and not doing so by default should work fine. Olivier From owner-p4-projects@FreeBSD.ORG Tue Jan 2 18:23:28 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 E519916A417; Tue, 2 Jan 2007 18:23:27 +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 BED7616A403 for ; Tue, 2 Jan 2007 18:23:27 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id B018613C457 for ; Tue, 2 Jan 2007 18:23:27 +0000 (UTC) (envelope-from cognet@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l02INQie025033 for ; Tue, 2 Jan 2007 18:23:26 GMT (envelope-from cognet@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l02INQaL025030 for perforce@freebsd.org; Tue, 2 Jan 2007 18:23:26 GMT (envelope-from cognet@freebsd.org) Date: Tue, 2 Jan 2007 18:23:26 GMT Message-Id: <200701021823.l02INQaL025030@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cognet@freebsd.org using -f From: Olivier Houchard To: Perforce Change Reviews Cc: Subject: PERFORCE change 112427 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: Tue, 02 Jan 2007 18:23:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=112427 Change 112427 by cognet@hulglah on 2007/01/02 18:22:41 Ooops, revert the logic : don't disable the interrupt unless it's really needed. Suggested by: jhb Affected files ... .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#11 edit Differences ... ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#11 (text+ko) ==== @@ -123,12 +123,12 @@ } static void -intr_eoi_src(void *arg) +intr_disab_eoi_src(void *arg) { uintptr_t nb; nb = (uintptr_t)arg; - arm_unmask_irq(nb); + arm_mask_irq(nb); } void @@ -139,16 +139,14 @@ PCPU_LAZY_INC(cnt.v_intr); while ((i = arm_get_next_irq()) != -1) { - arm_mask_irq(i); intrcnt[intrcnt_tab[i]]++; event = intr_events[i]; - res = mi_handle_intr(event, frame, intr_eoi_src, - intr_disab_eoi_src_stub, (void *)i); + res = mi_handle_intr(event, frame, intr_eoi_src_stub, + intr_disab_eoi_src, (void *)i); switch (res) { case 0: break; case ECHILD: - arm_unmask_irq(i); break; case EFAULT: /* FALLTHROUGH */ From owner-p4-projects@FreeBSD.ORG Tue Jan 2 18:25:30 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 5D90C16A40F; Tue, 2 Jan 2007 18:25:30 +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 33BF416A403 for ; Tue, 2 Jan 2007 18:25:30 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 0CFFB13C45D for ; Tue, 2 Jan 2007 18:25:30 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l02IPT6I025296 for ; Tue, 2 Jan 2007 18:25:29 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l02IPTPu025293 for perforce@freebsd.org; Tue, 2 Jan 2007 18:25:29 GMT (envelope-from sam@freebsd.org) Date: Tue, 2 Jan 2007 18:25:29 GMT Message-Id: <200701021825.l02IPTPu025293@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 112428 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: Tue, 02 Jan 2007 18:25:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=112428 Change 112428 by sam@sam_ebb on 2007/01/02 18:24:52 define stub wi_node struct so things compile Affected files ... .. //depot/projects/wifi/sys/dev/wi/if_wivar.h#9 edit Differences ... ==== //depot/projects/wifi/sys/dev/wi/if_wivar.h#9 (text+ko) ==== @@ -202,6 +202,11 @@ #define WI_FLAGS_HAS_FRAGTHR 0x0200 #define WI_FLAGS_HAS_DBMADJUST 0x0400 +/* driver-specific node state */ +struct wi_node { + struct ieee80211_node ni; /* base class */ +}; + struct wi_card_ident { u_int16_t card_id; char *card_name; From owner-p4-projects@FreeBSD.ORG Tue Jan 2 18:54:07 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 6955F16A505; Tue, 2 Jan 2007 18:54:07 +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 0DA9B16A504 for ; Tue, 2 Jan 2007 18:54:07 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id F2E4713C448 for ; Tue, 2 Jan 2007 18:54:06 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l02Is6g5029625 for ; Tue, 2 Jan 2007 18:54:06 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l02Is6M3029622 for perforce@freebsd.org; Tue, 2 Jan 2007 18:54:06 GMT (envelope-from sam@freebsd.org) Date: Tue, 2 Jan 2007 18:54:06 GMT Message-Id: <200701021854.l02Is6M3029622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 112430 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: Tue, 02 Jan 2007 18:54:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=112430 Change 112430 by sam@sam_ebb on 2007/01/02 18:53:19 import stub regdomain code from vap branch Affected files ... .. //depot/projects/wifi/sys/conf/files#38 edit .. //depot/projects/wifi/sys/net80211/ieee80211_regdomain.c#1 add .. //depot/projects/wifi/sys/net80211/ieee80211_regdomain.h#1 add Differences ... ==== //depot/projects/wifi/sys/conf/files#38 (text+ko) ==== @@ -1566,6 +1566,7 @@ net80211/ieee80211_output.c optional wlan net80211/ieee80211_power.c optional wlan net80211/ieee80211_proto.c optional wlan +net80211/ieee80211_regdomain.c optional wlan net80211/ieee80211_scan.c optional wlan net80211/ieee80211_scan_ap.c optional wlan_scan_ap net80211/ieee80211_scan_sta.c optional wlan_scan_sta From owner-p4-projects@FreeBSD.ORG Tue Jan 2 18:55:09 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 0854F16A417; Tue, 2 Jan 2007 18:55:09 +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 DABA716A40F for ; Tue, 2 Jan 2007 18:55:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id BD7C213C458 for ; Tue, 2 Jan 2007 18:55:08 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l02It8eB029855 for ; Tue, 2 Jan 2007 18:55:08 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l02It8k9029851 for perforce@freebsd.org; Tue, 2 Jan 2007 18:55:08 GMT (envelope-from sam@freebsd.org) Date: Tue, 2 Jan 2007 18:55:08 GMT Message-Id: <200701021855.l02It8k9029851@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 112431 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: Tue, 02 Jan 2007 18:55:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=112431 Change 112431 by sam@sam_ebb on 2007/01/02 18:54:40 convert 2560 support to use net80211 channel setup code and default rate set setup to net80211; the channel stuff is just an example and needs mucho work Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#6 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#6 (text) ==== @@ -53,6 +53,7 @@ #include #include +#include #include #include @@ -154,18 +155,6 @@ static int rt2560_raw_xmit(struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); -/* - * Supported rates for 802.11a/b/g modes (in 500Kbps unit). - */ -static const struct ieee80211_rateset rt2560_rateset_11a = - { 8, { 12, 18, 24, 36, 48, 72, 96, 108 } }; - -static const struct ieee80211_rateset rt2560_rateset_11b = - { 4, { 2, 4, 11, 22 } }; - -static const struct ieee80211_rateset rt2560_rateset_11g = - { 12, { 2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108 } }; - static const struct { uint32_t reg; uint32_t val; @@ -202,7 +191,7 @@ struct rt2560_softc *sc = device_get_softc(dev); struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp; - int error, i, j; + int error, bands; sc->sc_dev = dev; @@ -288,50 +277,13 @@ IEEE80211_C_SHSLOT | /* short slot time supported */ IEEE80211_C_WPA; /* 802.11i */ - /* set supported .11b and .11g channels (1 through 14) */ - for (j = 0, i = 1; i <= 14; i++) { - ic->ic_channels[j].ic_freq = - ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); - ic->ic_channels[j].ic_flags = IEEE80211_CHAN_B; - ic->ic_channels[j].ic_ieee = i; - j++; - - ic->ic_channels[j].ic_freq = - ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); - ic->ic_channels[j].ic_flags = IEEE80211_CHAN_G; - ic->ic_channels[j].ic_ieee = i; - j++; - } - - if (sc->rf_rev == RT2560_RF_5222) { - /* set supported .11a rates */ - ic->ic_sup_rates[IEEE80211_MODE_11A] = rt2560_rateset_11a; - - /* set supported .11a channels */ - for (i = 36; i <= 64; i += 4, j++) { - ic->ic_channels[j].ic_freq = - ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; - ic->ic_channels[j].ic_ieee = i; - } - for (i = 100; i <= 140; i += 4, j++) { - ic->ic_channels[j].ic_freq = - ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; - ic->ic_channels[j].ic_ieee = i; - } - for (i = 149; i <= 161; i += 4, j++) { - ic->ic_channels[j].ic_freq = - ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; - ic->ic_channels[j].ic_ieee = i; - } - } + bands = 0; + setbit(&bands, IEEE80211_MODE_11B); + setbit(&bands, IEEE80211_MODE_11G); + if (sc->rf_rev == RT2560_RF_5222) + setbit(&bands, IEEE80211_MODE_11A); + ieee80211_init_channels(ic, 0, CTRY_DEFAULT, bands, 0, 1); - /* set supported .11b and .11g rates */ - ic->ic_sup_rates[IEEE80211_MODE_11B] = rt2560_rateset_11b; - ic->ic_sup_rates[IEEE80211_MODE_11G] = rt2560_rateset_11g; - ic->ic_nchans = j; ieee80211_ifattach(ic); ic->ic_scan_start = rt2560_scan_start; ic->ic_scan_end = rt2560_scan_end; From owner-p4-projects@FreeBSD.ORG Tue Jan 2 22:45:02 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 77BE616A412; Tue, 2 Jan 2007 22:45:02 +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 512CB16A407 for ; Tue, 2 Jan 2007 22:45:02 +0000 (UTC) (envelope-from phk@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2203C13C441 for ; Tue, 2 Jan 2007 22:45:02 +0000 (UTC) (envelope-from phk@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l02Mj2Xd081305 for ; Tue, 2 Jan 2007 22:45:02 GMT (envelope-from phk@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l02Mj1UH081302 for perforce@freebsd.org; Tue, 2 Jan 2007 22:45:01 GMT (envelope-from phk@freebsd.org) Date: Tue, 2 Jan 2007 22:45:01 GMT Message-Id: <200701022245.l02Mj1UH081302@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to phk@freebsd.org using -f From: Poul-Henning Kamp To: Perforce Change Reviews Cc: Subject: PERFORCE change 112437 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: Tue, 02 Jan 2007 22:45:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=112437 Change 112437 by phk@phk_hex on 2007/01/02 22:44:10 Add missing include. Approved by: imp Affected files ... .. //depot/projects/arm/src/sys/dev/iicbus/iiconf.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/dev/iicbus/iiconf.c#6 (text+ko) ==== @@ -29,6 +29,7 @@ #include #include +#include #include #include From owner-p4-projects@FreeBSD.ORG Wed Jan 3 06:04:33 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 83D9616A40F; Wed, 3 Jan 2007 06:04:33 +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 5CBF116A403 for ; Wed, 3 Jan 2007 06:04:33 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4ED2913C45E for ; Wed, 3 Jan 2007 06:04:33 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l0364XHg076902 for ; Wed, 3 Jan 2007 06:04:33 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l0364XVR076897 for perforce@freebsd.org; Wed, 3 Jan 2007 06:04:33 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 3 Jan 2007 06:04:33 GMT Message-Id: <200701030604.l0364XVR076897@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112445 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: Wed, 03 Jan 2007 06:04:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=112445 Change 112445 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/03 06:04:14 fix "firmware error" complaints the channel index is no longer the same as the IEEE channel Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#17 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#17 (text+ko) ==== @@ -2753,7 +2753,7 @@ !(isset(ic->ic_chan_scan,i) || c == ic->ic_curchan)) continue; ix++; - scan.channels[ix] = i; + scan.channels[ix] = c->ic_ieee; if (c->ic_flags & IEEE80211_CHAN_PASSIVE) set_scan_type(&scan, ix, IWI_SCAN_TYPE_PASSIVE); else @@ -2773,7 +2773,7 @@ !(isset(ic->ic_chan_scan,i) || c == ic->ic_curchan)) continue; ix++; - scan.channels[ix] = i; + scan.channels[ix] = c->ic_ieee; if (c->ic_flags & IEEE80211_CHAN_PASSIVE) set_scan_type(&scan, ix, IWI_SCAN_TYPE_PASSIVE); else From owner-p4-projects@FreeBSD.ORG Wed Jan 3 08:06:10 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 20D6216A40F; Wed, 3 Jan 2007 08:06:10 +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 E2B2516A403 for ; Wed, 3 Jan 2007 08:06:09 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D414913C45E for ; Wed, 3 Jan 2007 08:06:09 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l03869cl097902 for ; Wed, 3 Jan 2007 08:06:09 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l03869D4097899 for perforce@freebsd.org; Wed, 3 Jan 2007 08:06:09 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 3 Jan 2007 08:06:09 GMT Message-Id: <200701030806.l03869D4097899@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112446 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: Wed, 03 Jan 2007 08:06:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=112446 Change 112446 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/03 08:05:15 use net80211 layer support for channel initialization Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#18 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#18 (text+ko) ==== @@ -72,6 +72,7 @@ #include #include +#include #include #include @@ -257,9 +258,8 @@ struct iwi_softc *sc = device_get_softc(dev); struct ifnet *ifp; struct ieee80211com *ic = &sc->sc_ic; - struct ieee80211_channel *c; uint16_t val; - int error, i, j; + int error, bands; sc->sc_dev = dev; @@ -409,41 +409,12 @@ ic->ic_myaddr[4] = val & 0xff; ic->ic_myaddr[5] = val >> 8; - /* set supported .11b and .11g channels (1 through 14) */ - for (j = 0, i = 1; i <= 14; i++) { - c = &ic->ic_channels[j++]; - c->ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); - c->ic_flags = IEEE80211_CHAN_B; - c->ic_ieee = i; - c = &ic->ic_channels[j++]; - c->ic_freq = ieee80211_ieee2mhz(i, IEEE80211_CHAN_2GHZ); - c->ic_flags = IEEE80211_CHAN_G; - c->ic_ieee = i; - - } - if (pci_get_device(dev) >= 0x4223) { - /* set supported .11a rates (2915ABG only) */ - ic->ic_sup_rates[IEEE80211_MODE_11A] = iwi_rateset_11a; - - /* set supported .11a channels */ - for (i = 36; i <= 64; i += 4, j++) { - ic->ic_channels[j].ic_freq = - ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; - ic->ic_channels[j].ic_ieee = i; - } - for (i = 149; i <= 165; i += 4, j++) { - ic->ic_channels[j].ic_freq = - ieee80211_ieee2mhz(i, IEEE80211_CHAN_5GHZ); - ic->ic_channels[j].ic_flags = IEEE80211_CHAN_A; - ic->ic_channels[j].ic_ieee = i; - } - } - - /* set supported .11b and .11g rates */ - ic->ic_sup_rates[IEEE80211_MODE_11B] = iwi_rateset_11b; - ic->ic_sup_rates[IEEE80211_MODE_11G] = iwi_rateset_11g; - ic->ic_nchans = j; + bands = 0; + setbit(&bands, IEEE80211_MODE_11B); + setbit(&bands, IEEE80211_MODE_11G); + if (pci_get_device(dev) >= 0x4223) + setbit(&bands, IEEE80211_MODE_11A); + ieee80211_init_channels(ic, 0, CTRY_DEFAULT, bands, 0, 1); ieee80211_ifattach(ic); ic->ic_bmissthreshold = 10; /* override default */ From owner-p4-projects@FreeBSD.ORG Wed Jan 3 11:00:55 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 0035F16A412; Wed, 3 Jan 2007 11:00:54 +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 9FD0816A40F for ; Wed, 3 Jan 2007 11:00:54 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8FDEE13C442 for ; Wed, 3 Jan 2007 11:00:54 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l03B0qhs035223 for ; Wed, 3 Jan 2007 11:00:52 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l03B0pmG035219 for perforce@freebsd.org; Wed, 3 Jan 2007 11:00:51 GMT (envelope-from piso@freebsd.org) Date: Wed, 3 Jan 2007 11:00:51 GMT Message-Id: <200701031100.l03B0pmG035219@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112448 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: Wed, 03 Jan 2007 11:00:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=112448 Change 112448 by piso@piso_newluxor on 2007/01/03 11:00:42 Wrap the ipfw nat support in a new kernel config option named "IPFIREWALL_NAT". Affected files ... .. //depot/projects/soc2005/libalias/sys/conf/NOTES#16 edit .. //depot/projects/soc2005/libalias/sys/conf/options#15 edit .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#36 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/conf/NOTES#16 (text+ko) ==== @@ -835,6 +835,10 @@ # packets too. Because of this great care is required when # crafting the ruleset. # +# IPFIREWALL_NAT adds support for in kernel nat in ipfw, and it requires +# LIBALIAS. To build an ipfw kld with nat support enabled, add +# "CFLAGS+= -DIPFIREWALL_NAT" to your make.conf. +# # IPSTEALTH enables code to support stealth forwarding (i.e., forwarding # packets without touching the TTL). This can be useful to hide firewalls # from traceroute and similar tools. @@ -850,6 +854,7 @@ options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default options IPFIREWALL_FORWARD #packet destination changes +options IPFIREWALL_NAT #ipfw kernel nat support options IPDIVERT #divert sockets options IPFILTER #ipfilter support options IPFILTER_LOG #ipfilter logging ==== //depot/projects/soc2005/libalias/sys/conf/options#15 (text+ko) ==== @@ -373,6 +373,7 @@ IPFIREWALL_VERBOSE_LIMIT opt_ipfw.h IPFIREWALL_DEFAULT_TO_ACCEPT opt_ipfw.h IPFIREWALL_FORWARD opt_ipfw.h +IPFIREWALL_NAT opt_ipfw.h IPSTEALTH IPX IPXIP opt_ipx.h ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#36 (text+ko) ==== @@ -84,9 +84,10 @@ #include #include #include - +#ifdef IPFIREWALL_NAT #include #include +#endif #include #include @@ -307,7 +308,9 @@ #endif /* INET6 */ #endif /* SYSCTL_NODE */ +#ifdef IPFIREWALL_NAT MODULE_DEPEND(ipfw, libalias, 1, 1, 1); +#endif static int fw_deny_unknown_exthdrs = 1; @@ -2036,6 +2039,7 @@ return match; } +#ifdef IPFIREWALL_NAT static eventhandler_tag ifaddr_event_tag; static void @@ -2207,6 +2211,7 @@ /* something really bad happened: panic! */ panic("%s\n", panic_err); } +#endif /* * The main check routine for the firewall. @@ -3437,6 +3442,7 @@ IP_FW_NETGRAPH : IP_FW_NGTEE; goto done; +#ifdef IPFIREWALL_NAT case O_NAT: { struct cfg_nat *t; struct mbuf *mcl; @@ -3607,6 +3613,7 @@ retval = IP_FW_NAT; goto done; } +#endif default: panic("-- unknown opcode %d\n", cmd->opcode); @@ -4556,6 +4563,7 @@ } break; +#ifdef IPFIREWALL_NAT case IP_FW_NAT_CFG: { struct cfg_nat *ptr, *ser_n; @@ -4734,6 +4742,7 @@ free(data, M_IPFW); } break; +#endif default: printf("ipfw: ipfw_ctl invalid option %d\n", sopt->sopt_name); @@ -4907,9 +4916,11 @@ ip_fw_ctl_ptr = ipfw_ctl; ip_fw_chk_ptr = ipfw_chk; callout_reset(&ipfw_timeout, hz, ipfw_tick, NULL); +#ifdef IPFIREWALL_NAT LIST_INIT(&layer3_chain.nat); ifaddr_event_tag = EVENTHANDLER_REGISTER(ifaddr_event, ifaddr_change, NULL, EVENTHANDLER_PRI_ANY); +#endif return (0); } @@ -4917,13 +4928,16 @@ ipfw_destroy(void) { struct ip_fw *reap; +#ifdef IPFIREWALL_NAT struct cfg_nat *ptr, *ptr_temp; +#endif ip_fw_chk_ptr = NULL; ip_fw_ctl_ptr = NULL; callout_drain(&ipfw_timeout); IPFW_WLOCK(&layer3_chain); flush_tables(&layer3_chain); +#ifdef IPFIREWALL_NAT LIST_FOREACH_SAFE(ptr, &layer3_chain.nat, _next, ptr_temp) { LIST_REMOVE(ptr, _next); del_redir_spool_cfg(ptr, &ptr->redir_chain); @@ -4931,6 +4945,7 @@ free(ptr, M_IPFW); } EVENTHANDLER_DEREGISTER(ifaddr_event, ifaddr_event_tag); +#endif layer3_chain.reap = NULL; free_chain(&layer3_chain, 1 /* kill default rule */); reap = layer3_chain.reap, layer3_chain.reap = NULL; From owner-p4-projects@FreeBSD.ORG Wed Jan 3 12:48:52 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 4C92916A47E; Wed, 3 Jan 2007 12:48:52 +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 E003416A415; Wed, 3 Jan 2007 12:48:51 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.freebsd.org (Postfix) with ESMTP id 71B1513C478; Wed, 3 Jan 2007 12:48:51 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id l03CWuXj078249 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 3 Jan 2007 13:32:56 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id l03CWukS078247; Wed, 3 Jan 2007 13:32:56 +0100 (CET) Date: Wed, 3 Jan 2007 13:32:56 +0100 From: Divacky Roman To: John Baldwin Message-ID: <20070103123256.GA76983@stud.fit.vutbr.cz> References: <200612312353.kBVNrYYY007010@repoman.freebsd.org> <200701021129.54537.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701021129.54537.jhb@freebsd.org> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: Roman Divacky , Perforce Change Reviews Subject: Re: PERFORCE change 112379 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: Wed, 03 Jan 2007 12:48:52 -0000 On Tue, Jan 02, 2007 at 11:29:54AM -0500, John Baldwin wrote: > On Sunday 31 December 2006 18:53, Roman Divacky wrote: > > http://perforce.freebsd.org/chv.cgi?CH=112379 > > > > Change 112379 by rdivacky@rdivacky_witten on 2006/12/31 23:53:30 > > > > Implement SETALL/GETALL IPC primitives. This fixes some LTP testcases. > > Are you sure it's actually working? I thought Linux semid structure was a > different size, and GETALL and SETALL try to copyin and copyout data from > userland without doing any conversions. I only tested with the LTP tests and it fixed all cases there. the [SG]ETALL copies in/out u_char * nsems which looks quite OS independant. someone reported that some program doesnt work because of missing SETALL/GETALL I think that if the one reportes that this patch fixes it we can consider it ok. (because we have 2 positive reports and 0 negative) opinion? From owner-p4-projects@FreeBSD.ORG Wed Jan 3 19:44:54 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 A2E1616A417; Wed, 3 Jan 2007 19:44:54 +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 7BBE016A403 for ; Wed, 3 Jan 2007 19:44:54 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6D2B513C441 for ; Wed, 3 Jan 2007 19:44:54 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l03Jisk5052421 for ; Wed, 3 Jan 2007 19:44:54 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l03Jisr8052417 for perforce@freebsd.org; Wed, 3 Jan 2007 19:44:54 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 3 Jan 2007 19:44:54 GMT Message-Id: <200701031944.l03Jisr8052417@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112453 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: Wed, 03 Jan 2007 19:44:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=112453 Change 112453 by gonzo@gonzo_hq on 2007/01/03 19:44:47 o Proper handle memory faults for both userland and kernel. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/trap.h#4 edit .. //depot/projects/mips2/src/sys/mips/mips/trap.c#13 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/trap.h#4 (text+ko) ==== @@ -53,6 +53,8 @@ #define TrCacheErr 30 /* MIPS64 */ #define TrVCED 31 +#define TrUser 32 /* Flag to mark userland-inititated traps */ + #ifndef LOCORE /* XXX */ struct trapframe; ==== //depot/projects/mips2/src/sys/mips/mips/trap.c#13 (text+ko) ==== @@ -133,22 +133,57 @@ code = (cause & MIPS3_CR_EXC_CODE) >> MIPS_CR_EXC_CODE_SHIFT; kernelmode = (tf->tf_regs[TF_SR] & MIPS_SR_KSU_USER) == 0; + if(! kernelmode) + code |= TrUser; + /* * Handle that which we can. */ + va = trunc_page(badvaddr); + td = curthread; + switch (code) { case TrMod: - va = trunc_page(badvaddr); + /* + * Kernel mode, KVA + */ if (va >= KERNBASE) + { + pt_entry_t *pte; + pte = tlb_kern_pte_find( + kernel_pmap->pm_private.pm_direct_map, va); + tlb_modified(kernel_pmap, (void *)va); - else - tlb_modified(&curthread->td_proc->p_vmspace->vm_pmap, - (void *)va); - goto done; + goto done; + } + /* FALLTHROUGH */ + case TrMod + TrUser: + /* + * UVA, both kernel and user modes + */ + { + pmap_t pmap; + pt_entry_t *pte; + + pmap = vmspace_pmap(td->td_proc->p_vmspace); + pte = pmap_segmap(pmap, va); + pte += (va >> PAGE_SHIFT) & (NPTEPG - 1); + + if (pte_ro(pte) ) + { + ftype = VM_PROT_WRITE; + map = &td->td_proc->p_vmspace->vm_map; + goto heavy; + } + + tlb_modified(pmap, (void *)va); + goto done; + } + break; + case TrTLBL: case TrTLBS: - va = trunc_page(badvaddr); - td = curthread; + ftype = (code == TrTLBL) ? VM_PROT_READ : VM_PROT_WRITE; if (va >= KERNBASE) { pt_entry_t *pte; @@ -167,14 +202,22 @@ tlb_update(va, kernel_pmap->pm_asid, pte[0], pte[1]); goto done; - } else - map = &td->td_proc->p_vmspace->vm_map; + } + + map = &td->td_proc->p_vmspace->vm_map; + goto heavy; + + case TrTLBL + TrUser: + map = &td->td_proc->p_vmspace->vm_map; + ftype = VM_PROT_READ; + goto heavy; + + case TrTLBS + TrUser: + map = &td->td_proc->p_vmspace->vm_map; + ftype = VM_PROT_WRITE; heavy: - if (code == TrTLBL) - ftype = VM_PROT_READ; - else - ftype = VM_PROT_WRITE; + error = vm_fault(map, va, ftype, (ftype & VM_PROT_WRITE) ? VM_FAULT_DIRTY : VM_FAULT_NORMAL); @@ -188,7 +231,8 @@ error, va, tf->tf_regs[TF_EPC] ); panic("TODO: signal on memory access errors"); - case TrSys: + + case TrSys + TrUser: syscall(curthread, tf); goto done; break; @@ -213,6 +257,11 @@ break; } + /* + * Clear out TrUser flag. Once we get here we need it cleared + * to access mnemonic/description strings. + */ + code &= ~TrUser; printf("\n\nFatal trap type %d in %s mode:", code, kernelmode ? "kernel" : "user"); if (code <= MAXTRAPID && code >= 0) { From owner-p4-projects@FreeBSD.ORG Wed Jan 3 19:49:00 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 93C6116A412; Wed, 3 Jan 2007 19:49:00 +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 57D9016A407 for ; Wed, 3 Jan 2007 19:49:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 494F813C44B for ; Wed, 3 Jan 2007 19:49:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l03Jn0br052588 for ; Wed, 3 Jan 2007 19:49:00 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l03Jn0Ye052585 for perforce@freebsd.org; Wed, 3 Jan 2007 19:49:00 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 3 Jan 2007 19:49:00 GMT Message-Id: <200701031949.l03Jn0Ye052585@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112454 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: Wed, 03 Jan 2007 19:49:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=112454 Change 112454 by gonzo@gonzo_hq on 2007/01/03 19:48:46 o Clean out unneccessary code. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/cpu.c#15 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/cpu.c#15 (text+ko) ==== @@ -165,18 +165,7 @@ mips_get_identity(&cpuinfo); mips_num_tlb_entries = cpuinfo.tlb_nentries; - mips_config_cache(); - -#ifdef notyet - /* - * XXX: Catch 22. Need tlb setup to invalidate tlb. - * Need to know cache/tlb geometry to setup tlb. - */ - tlb_bootstrap(); - tlb_invalidate_all(); -#endif - mips_vector_init(); mips_icache_sync_all(); From owner-p4-projects@FreeBSD.ORG Wed Jan 3 20:06:14 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 B13F016A47C; Wed, 3 Jan 2007 20:06:14 +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 0FE6816A412; Wed, 3 Jan 2007 20:06:14 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 4CCE113C4BB; Wed, 3 Jan 2007 20:06:12 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l03K64Sm022420; Wed, 3 Jan 2007 15:06:05 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Divacky Roman Date: Wed, 3 Jan 2007 14:59:19 -0500 User-Agent: KMail/1.9.1 References: <200612312353.kBVNrYYY007010@repoman.freebsd.org> <200701021129.54537.jhb@freebsd.org> <20070103123256.GA76983@stud.fit.vutbr.cz> In-Reply-To: <20070103123256.GA76983@stud.fit.vutbr.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701031459.20116.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Wed, 03 Jan 2007 15:06:05 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2411/Wed Jan 3 13:04:33 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Roman Divacky , Perforce Change Reviews Subject: Re: PERFORCE change 112379 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: Wed, 03 Jan 2007 20:06:15 -0000 On Wednesday 03 January 2007 07:32, Divacky Roman wrote: > On Tue, Jan 02, 2007 at 11:29:54AM -0500, John Baldwin wrote: > > On Sunday 31 December 2006 18:53, Roman Divacky wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=112379 > > > > > > Change 112379 by rdivacky@rdivacky_witten on 2006/12/31 23:53:30 > > > > > > Implement SETALL/GETALL IPC primitives. This fixes some LTP testcases. > > > > Are you sure it's actually working? I thought Linux semid structure was a > > different size, and GETALL and SETALL try to copyin and copyout data from > > userland without doing any conversions. > > I only tested with the LTP tests and it fixed all cases there. > > the [SG]ETALL copies in/out u_char * nsems which looks quite OS independant. > > someone reported that some program doesnt work because of missing SETALL/GETALL > I think that if the one reportes that this patch fixes it we can consider it ok. > (because we have 2 positive reports and 0 negative) > > opinion? Actually, it copies out an array of shorts so I do think it is ok and doesn't need any conversions. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Wed Jan 3 20:26:48 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 094E416A529; Wed, 3 Jan 2007 20:26: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 DA43E16A51C for ; Wed, 3 Jan 2007 20:26:47 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CB95B13C44B for ; Wed, 3 Jan 2007 20:26:47 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l03KQlXv060027 for ; Wed, 3 Jan 2007 20:26:47 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l03KQl3n060024 for perforce@freebsd.org; Wed, 3 Jan 2007 20:26:47 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 3 Jan 2007 20:26:47 GMT Message-Id: <200701032026.l03KQl3n060024@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112455 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: Wed, 03 Jan 2007 20:26:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=112455 Change 112455 by gonzo@gonzo_hq on 2007/01/03 20:26:14 o Extend TLB API with two new calls: - tlb_invalidate_nonwired: should be used instead of tlb_invalidate_all after TLB bootstrap. We should keep first entry valid since it maps thread's kernel stack. - tlb_invalidate_userland is just a stub now, but it should do dirty work for ASID generation change: invalidate all userland translations for running processes which got their ASID from previous generation and since it is supposed to be called in the moment of change - all userland mappings are the subject to be invalidate. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/tlb.h#7 edit .. //depot/projects/mips2/src/sys/mips/mips/tlb.c#11 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/tlb.h#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/mips2/src/sys/mips/include/tlb.h#6 $ + * $P4: //depot/projects/mips2/src/sys/mips/include/tlb.h#7 $ */ #ifndef _MACHINE_TLB_H_ @@ -38,6 +38,8 @@ void tlb_bootstrap(vm_size_t, vm_offset_t (*)(vm_size_t)); void tlb_enter(pmap_t, vm_offset_t, vm_paddr_t, pt_entry_t); void tlb_invalidate_all(void); +void tlb_invalidate_userland(void); +void tlb_invalidate_nonwired(void); void tlb_invalidate_one(int); void tlb_invalidate_page(vm_offset_t, uint32_t); void tlb_modified(pmap_t, void *); ==== //depot/projects/mips2/src/sys/mips/mips/tlb.c#11 (text+ko) ==== @@ -90,9 +90,6 @@ kptsize = (VM_MAX_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS) >> PAGE_SHIFT; kptmap = (pt_entry_t *) (*ptalloc)(kptsize * sizeof (pt_entry_t)); - /* - * XXMIPS: Check format sting. - */ printf("Kernel page table maps %jd %dK pages and is %ldK\n", (uintmax_t) pages, PAGE_SIZE / 1024, @@ -142,6 +139,7 @@ if ((bits & PG_V) == 0) panic("pmap %p entering invalid mapping for va %lx to pa %lx [%lx]", pmap, (u_long)va, (u_long)pa, (u_long)bits); + *pte &= PG_G; *pte |= (MIPS_PA_TO_PFN(pa) << MIPS_PFN_SHIFT) | bits; *pte |= PG_C_UNCACHED; @@ -200,18 +198,50 @@ mips_tlbwi(); } +/* + * Invalidate all entries of TLB. Should be used only during initialization. + */ void tlb_invalidate_all(void) { u_long asid; int i; + asid = mips_rd_entryhi(); + for (i = 0; i < mips_num_tlb_entries; i++) + tlb_invalidate_one(i); + mips_wr_entryhi(asid); +} +/* + * Invalidate non-wired entries of TLB. For generic use during system + * life cycle. + */ +void +tlb_invalidate_nonwired(void) +{ + u_long asid; + int i; asid = mips_rd_entryhi(); - for (i = 0; i < mips_num_tlb_entries; i++) + for (i = mips_rd_wired(); i < mips_num_tlb_entries; i++) tlb_invalidate_one(i); mips_wr_entryhi(asid); } +/* + * Invalidate all entries of TLB without Global bit set. + * This routine supposedd to be used when new ASID generation + * is on it's way + */ +void +tlb_invalidate_userland(void) +{ + /* + * XXXMIPS: There should be loop through all TLB table which + * invalidates all entries with Global bit not set. + */ + tlb_invalidate_nonwired(); +} + void tlb_invalidate_one(int i) { From owner-p4-projects@FreeBSD.ORG Wed Jan 3 20:51:21 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 DB24316A417; Wed, 3 Jan 2007 20:51:20 +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 9B25E16A412 for ; Wed, 3 Jan 2007 20:51:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8A61A13C4A5 for ; Wed, 3 Jan 2007 20:51:20 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l03KpKuu071899 for ; Wed, 3 Jan 2007 20:51:20 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l03KpKR0071895 for perforce@freebsd.org; Wed, 3 Jan 2007 20:51:20 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 3 Jan 2007 20:51:20 GMT Message-Id: <200701032051.l03KpKR0071895@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112458 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: Wed, 03 Jan 2007 20:51:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=112458 Change 112458 by gonzo@gonzo_hq on 2007/01/03 20:51:18 o Substitute "asidgen" string in pcpu/pmap structures fields' names with more expressive "asid_generation". o Replace pmap_prot stub with proper implementation. o pmap_enter: - Do not add pv_entry twice in case when requested mapping exists - remove VM_ALLOC_RETRY from flags in vm_page_grab call since pmap_enter can't sleep. o Size requested in vm_object_allocate was totally wrong, I guess it was in bytes. vm_object_allocate operates with pages, so request MIPS_PMAP_SEGTABSIZE pages for segments and one page for segtab. o Set PG_REFERENCED flag in proper places. o Clean out alpha-derived code. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/pcpu.h#3 edit .. //depot/projects/mips2/src/sys/mips/include/pmap.h#8 edit .. //depot/projects/mips2/src/sys/mips/mips/pmap.c#19 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/pcpu.h#3 (text+ko) ==== @@ -34,9 +34,9 @@ #ifdef _KERNEL #include -#define PCPU_MD_FIELDS \ - u_char pc_next_asid; /* next ASID to alloc */ \ - u_int pc_current_asidgen; /* ASID rollover check */ +#define PCPU_MD_FIELDS \ + u_char pc_next_asid; /* next ASID to alloc */ \ + u_int pc_current_asid_generation; /* ASID generation number */ #define PCPUP (pcpup) ==== //depot/projects/mips2/src/sys/mips/include/pmap.h#8 (text+ko) ==== @@ -151,7 +151,12 @@ struct mtx pm_mtx; struct pmap_statistics pm_stats; int pm_asid; - int pm_asidgen; + /* + * ASID generation to which current ASID belongs. + * Once generation rolled over ASIDs of the previous one + * are to be changed during pmap activation. + */ + int pm_asid_generation; int pm_active; union { /* pointers to pages of PTEs */ ==== //depot/projects/mips2/src/sys/mips/mips/pmap.c#19 (text+ko) ==== @@ -204,7 +204,16 @@ * * XXX */ -#define pte_prot(m, p) (0) +static int +pte_prot(pmap_t pmap, vm_prot_t prot) +{ + if(prot & VM_PROT_WRITE) + return PG_D; + + /* RO */ + return PG_RO; +} + /* * Routine: pmap_pte @@ -326,7 +335,7 @@ kernel_pmap->pm_private.pm_direct_map = kptmap; kernel_pmap->pm_active = ~0; kernel_pmap->pm_asid = PMAP_ASID_RESERVED; - kernel_pmap->pm_asidgen = 1; + kernel_pmap->pm_asid_generation = 1; PMAP_LOCK_INIT(kernel_pmap); TAILQ_INIT(&kernel_pmap->pm_pvlist); @@ -453,7 +462,7 @@ static void pmap_invalidate_asid(pmap_t pmap) { - pmap->pm_asidgen = 0; + pmap->pm_asid_generation = 0; } static void @@ -472,7 +481,11 @@ pmap_invalidate_all(pmap_t pmap) { if (pmap->pm_active) { - tlb_invalidate_all(); + /* + * Leave wired entries untouched since we keep thread's + * kernel stack unfaultable using wired TLB + */ + tlb_invalidate_nonwired(); /* XXX ensure coherency? */ } else pmap_invalidate_asid(pmap); @@ -489,12 +502,12 @@ * Invalidate all per-process mappings and I-cache */ PCPU_SET(next_asid, 1); - PCPU_SET(current_asidgen, (PCPU_GET(current_asidgen) + 1) & + PCPU_SET(current_asid_generation, (PCPU_GET(current_asid_generation) + 1) & ASIDGEN_MASK); - if (PCPU_GET(current_asidgen) == 0) { + if (PCPU_GET(current_asid_generation) == 0) { /* - * Clear the pm_asidgen of all pmaps. + * Clear the pm_asid_generation of all pmaps. * This is safe since it is only called from * pmap_activate after it has deactivated * the old pmap and it only affects this cpu. @@ -504,10 +517,10 @@ #ifdef PMAP_DIAGNOSTIC printf("pmap_get_asid: generation rollover\n"); #endif - PCPU_SET(current_asidgen, 1); + PCPU_SET(current_asid_generation, 1); mtx_lock_spin(&allpmaps_lock); LIST_FOREACH(tpmap, &allpmaps, pm_list) { - tpmap->pm_asidgen = 0; + tpmap->pm_asid_generation = 0; } mtx_unlock_spin(&allpmaps_lock); } @@ -515,14 +528,14 @@ /* * Since we are about to start re-using ASIDs, we must * clear out the TLB and the I-cache since they are tagged - * with the ASID. + * with the ASID. Keep kernel TLB's untouched. */ - tlb_invalidate_all(); + tlb_invalidate_userland(); /* XXX flush icache. */ } pmap->pm_asid = PCPU_GET(next_asid); PCPU_SET(next_asid, PCPU_GET(next_asid) + 1); - pmap->pm_asidgen = PCPU_GET(current_asidgen); + pmap->pm_asid_generation = PCPU_GET(current_asid_generation); } /*************************************************** @@ -710,7 +723,7 @@ pmap->pm_active = 0; pmap->pm_asid = PMAP_ASID_RESERVED; - pmap->pm_asidgen = 1; + pmap->pm_asid_generation = 1; TAILQ_INIT(&pmap->pm_pvlist); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); @@ -733,12 +746,11 @@ */ if (pmap->pm_pteobj == NULL) pmap->pm_pteobj = vm_object_allocate(OBJT_DEFAULT, - MIPS_PMAP_SEGTABSIZE * MIPS_PMAP_SEGSIZE + - + MIPS_PMAP_SEGTABSIZE * sizeof(pt_entry_t *) + 1); + MIPS_PMAP_SEGTABSIZE + 1); VM_OBJECT_LOCK(pmap->pm_pteobj); lev1pg = vm_page_grab(pmap->pm_pteobj, - MIPS_PMAP_SEGTABSIZE + MIPS_PMAP_SEGSIZE, + MIPS_PMAP_SEGTABSIZE, VM_ALLOC_NORMAL | VM_ALLOC_RETRY | VM_ALLOC_WIRED | VM_ALLOC_ZERO); vm_page_lock_queues(); @@ -754,7 +766,7 @@ pmap->pm_active = 0; /* XXXMIPS: put proper asid generation here */ pmap->pm_asid = 1; - pmap->pm_asidgen = 1; + pmap->pm_asid_generation = 1; PMAP_LOCK_INIT(pmap); TAILQ_INIT(&pmap->pm_pvlist); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); @@ -832,7 +844,7 @@ if (lev1pg/* && !pmap_release_free_page(pmap, lev1pg)*/) goto retry; - PMAP_LOCK_DESTROY(kernel_pmap); + PMAP_LOCK_DESTROY(pmap); mtx_lock_spin(&allpmaps_lock); LIST_REMOVE(pmap, pm_list); @@ -908,7 +920,6 @@ rtval = 0; if (pv) { - /* rtval = pmap_unuse_pt(pmap, va, pv->pv_ptem); */ TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; if (TAILQ_FIRST(&m->md.pv_list) == NULL) @@ -938,11 +949,9 @@ pv->pv_pmap = pmap; pv->pv_ptem = mpte; - vm_page_lock_queues(); TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist); TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); m->md.pv_list_count++; - vm_page_unlock_queues(); PMAP_UNLOCK(pmap); vm_page_unlock_queues(); } @@ -955,6 +964,7 @@ { pt_entry_t oldpte; vm_page_t m; + int retval; oldpte = *ptq; *ptq = 0; @@ -969,7 +979,12 @@ } if ((oldpte & PG_D) == 0) vm_page_flag_set(m, PG_REFERENCED); - return pmap_remove_entry(pmap, m, va); + retval = pmap_remove_entry(pmap, m, va); + + if (TAILQ_FIRST(&m->md.pv_list)) + vm_page_flag_set(m, PG_REFERENCED); + + return retval; } /* @@ -1074,7 +1089,6 @@ TAILQ_REMOVE(&pv->pv_pmap->pm_pvlist, pv, pv_plist); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; - /* pmap_unuse_pt(pv->pv_pmap, pv->pv_va, pv->pv_ptem); */ free_pv_entry(pv); PMAP_UNLOCK(pv->pv_pmap); } @@ -1109,6 +1123,7 @@ if ((sva & PAGE_MASK) || (eva & PAGE_MASK)) panic("pmap_protect: unaligned addresses"); + vm_page_lock_queues(); while (sva < eva) { /* * If pte is invalid, skip this page @@ -1123,26 +1138,20 @@ pt_entry_t oldpte = *pte; vm_page_t m = NULL; - vm_page_lock_queues(); - if ((oldpte & PG_D) == 0) { - m = PHYS_TO_VM_PAGE(pmap_pte_pa(pte)); - vm_page_flag_set(m, PG_REFERENCED); - oldpte |= PG_D; - } if ((oldpte & PG_RO) == 0) { m = PHYS_TO_VM_PAGE(pmap_pte_pa(pte)); if (pmap_track_modified(sva)) vm_page_dirty(m); - oldpte |= PG_RO; } - oldpte = (oldpte & ~PG_PROT) | newprot; + + oldpte = (oldpte & ~(PG_PROT | PG_D)) | newprot; *pte = oldpte; pmap_invalidate_page(pmap, sva); - vm_page_unlock_queues(); } sva += PAGE_SIZE; } + vm_page_unlock_queues(); } /* @@ -1165,6 +1174,7 @@ pt_entry_t *pte; vm_offset_t opa; vm_page_t mpte, mem; + int p, has_mapping = 0; if (pmap == NULL) return; @@ -1188,8 +1198,10 @@ mem = vm_page_grab(pmap->pm_pteobj, va >> SEGSHIFT, - VM_ALLOC_NORMAL | VM_ALLOC_RETRY | \ + VM_ALLOC_NORMAL | \ VM_ALLOC_WIRED | VM_ALLOC_ZERO); + if(!mem) + panic("pmap_enter: failed to get a page for lev2 segment"); vm_page_lock_queues(); vm_page_flag_clear(mem, PG_BUSY); @@ -1218,6 +1230,9 @@ pa = VM_PAGE_TO_PHYS(m) & ~PAGE_MASK; if (pte_valid(pte) && (opa = pmap_pte_pa(pte)) == pa) { + /* Prevent pv_entry from being added to list once more */ + has_mapping = 1; + if (pte_wired(pte)) { if (!wired) pmap->pm_stats.wired_count--; @@ -1255,19 +1270,25 @@ * called at interrupt time. */ if (pmap_initialized && - (m->flags & (PG_FICTITIOUS|PG_UNMANAGED)) == 0) { + ((m->flags & (PG_FICTITIOUS|PG_UNMANAGED)) == 0) && + (!has_mapping)) { pmap_insert_entry(pmap, va, mpte, m); + vm_page_lock_queues(); + vm_page_flag_set(m, PG_REFERENCED); + vm_page_unlock_queues(); } /* * Increment counters */ pmap->pm_stats.resident_count++; + if (wired) pmap->pm_stats.wired_count++; wired = wired ? PG_W : 0; - tlb_enter(pmap, va, pa, PG_V | wired); + p = pte_prot(pmap, prot); + tlb_enter(pmap, va, pa, PG_V | wired | p); } /* @@ -1525,12 +1546,13 @@ vm_page_flag_clear(m, PG_WRITEABLE); } - /* pmap_unuse_pt(pv->pv_pmap, pv->pv_va, pv->pv_ptem); */ free_pv_entry(pv); } + + pmap_invalidate_all(pmap); + PMAP_UNLOCK(pmap); vm_page_unlock_queues(); - pmap_invalidate_all(pmap); } /* @@ -1614,7 +1636,7 @@ */ TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { pte = pmap_pte(pv->pv_pmap, pv->pv_va); - if ((*pte & PG_D) == 0) + if ((*pte & PG_D) == PG_D) return 1; } @@ -1795,7 +1817,7 @@ segtab_active = 0; } - if (pmap->pm_asidgen != PCPU_GET(current_asidgen)) + if (pmap->pm_asid_generation != PCPU_GET(current_asid_generation)) pmap_get_asid(pmap); mips_wr_entryhi(pmap->pm_asid); From owner-p4-projects@FreeBSD.ORG Wed Jan 3 21:07:22 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 CED1F16A416; Wed, 3 Jan 2007 21:07:22 +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 8250116A40F; Wed, 3 Jan 2007 21:07:22 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.freebsd.org (Postfix) with ESMTP id 185C213C428; Wed, 3 Jan 2007 21:07:21 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id l03L7JVA004352 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 3 Jan 2007 22:07:19 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id l03L7JtZ004351; Wed, 3 Jan 2007 22:07:19 +0100 (CET) Date: Wed, 3 Jan 2007 22:07:19 +0100 From: Divacky Roman To: John Baldwin Message-ID: <20070103210719.GA4127@stud.fit.vutbr.cz> References: <200612312353.kBVNrYYY007010@repoman.freebsd.org> <200701021129.54537.jhb@freebsd.org> <20070103123256.GA76983@stud.fit.vutbr.cz> <200701031459.20116.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701031459.20116.jhb@freebsd.org> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112379 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: Wed, 03 Jan 2007 21:07:23 -0000 On Wed, Jan 03, 2007 at 02:59:19PM -0500, John Baldwin wrote: > On Wednesday 03 January 2007 07:32, Divacky Roman wrote: > > On Tue, Jan 02, 2007 at 11:29:54AM -0500, John Baldwin wrote: > > > On Sunday 31 December 2006 18:53, Roman Divacky wrote: > > > > http://perforce.freebsd.org/chv.cgi?CH=112379 > > > > > > > > Change 112379 by rdivacky@rdivacky_witten on 2006/12/31 23:53:30 > > > > > > > > Implement SETALL/GETALL IPC primitives. This fixes some LTP testcases. > > > > > > Are you sure it's actually working? I thought Linux semid structure was a > > > different size, and GETALL and SETALL try to copyin and copyout data from > > > userland without doing any conversions. > > > > I only tested with the LTP tests and it fixed all cases there. > > > > the [SG]ETALL copies in/out u_char * nsems which looks quite OS independant. > > > > someone reported that some program doesnt work because of missing > SETALL/GETALL > > I think that if the one reportes that this patch fixes it we can consider it > ok. > > (because we have 2 positive reports and 0 negative) > > > > opinion? > > Actually, it copies out an array of shorts so I do think it is ok and > doesn't need any conversions. by "u_char * nsems" I meant exactly that :) the * stands for "multiply". anyway - I'd wait for the one to confirm that it actually helps the program and then Alexander can commit that. From owner-p4-projects@FreeBSD.ORG Thu Jan 4 01:03:43 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 C1B3116A40F; Thu, 4 Jan 2007 01:03:43 +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 94A6316A403 for ; Thu, 4 Jan 2007 01:03:43 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 856E613C457 for ; Thu, 4 Jan 2007 01:03:43 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l0413hOS027876 for ; Thu, 4 Jan 2007 01:03:43 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l0413hbw027873 for perforce@freebsd.org; Thu, 4 Jan 2007 01:03:43 GMT (envelope-from mjacob@freebsd.org) Date: Thu, 4 Jan 2007 01:03:43 GMT Message-Id: <200701040103.l0413hbw027873@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112460 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, 04 Jan 2007 01:03:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=112460 Change 112460 by mjacob@mjexp on 2007/01/04 01:03:16 Check the return from registering FC4 types with the fabric name server. Don't complain about a hard loop id of 0xffff- we get this in point-to-point topologies with the 2300 and 2K Login firmware. Up the timeout on register FC4 types commands. MFP4 after: 1 day Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp.c#6 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp.c#6 (text+ko) ==== @@ -1634,12 +1634,14 @@ /* * We end up with these Loop IDs for F-Port topologies */ - if (icbp->icb_hardaddr != 0xff && icbp->icb_hardaddr != 0x800) { - isp_prt(isp, ISP_LOGERR, - "bad hard address %u- resetting to zero", - icbp->icb_hardaddr); + if (icbp->icb_hardaddr != 0xff && + icbp->icb_hardaddr != 0x800 && + icbp->icb_hardaddr != 0xffff) { + isp_prt(isp, ISP_LOGERR, + "bad hard address %u- resetting to zero", + icbp->icb_hardaddr); + icbp->icb_hardaddr = 0; } - icbp->icb_hardaddr = 0; } /* @@ -1888,7 +1890,9 @@ /* * We end up with these Loop IDs for F-Port topologies */ - if (icbp->icb_hardaddr != 0xff && icbp->icb_hardaddr != 0x800) { + if (icbp->icb_hardaddr != 0xff && + icbp->icb_hardaddr != 0x800 && + icbp->icb_hardaddr != 0xffff) { isp_prt(isp, ISP_LOGERR, "bad hard address %u- resetting to zero", icbp->icb_hardaddr); @@ -2585,6 +2589,7 @@ } if (check_for_fabric && isp_getpdb(isp, loopid, &pdb, 1) == 0) { + int r; if (IS_2100(isp)) { fcp->isp_topo = TOPO_FL_PORT; } @@ -2609,9 +2614,14 @@ lp->new_portid = lp->portid; lp->new_roles = lp->roles; if (IS_24XX(isp)) { - (void) isp_register_fc4_type_24xx(isp); + r = isp_register_fc4_type_24xx(isp); } else { - (void) isp_register_fc4_type(isp); + r = isp_register_fc4_type(isp); + } + if (r) { + isp_prt(isp, ISP_LOGSANCFG, + "isp_fclink_test: register fc4 type failed"); + return (-1); } } else { not_on_fabric: @@ -2625,6 +2635,7 @@ mbs.param[1] = MBGSD_GET_RATE; /* mbs.param[2] undefined if we're just getting rate */ mbs.logval = MBLOGALL; + mbs.timeout = 3000000; isp_mboxcmd(isp, &mbs); if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { if (mbs.param[1] == MBGSD_FOURGB) { @@ -3138,7 +3149,7 @@ mbs.param[6] = DMA_WD3(fcp->isp_scdma); mbs.param[7] = DMA_WD2(fcp->isp_scdma); mbs.logval = MBLOGALL; - mbs.timeout = 1000000; + mbs.timeout = 10000000; isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { if (mbs.param[0] == MBOX_INVALID_COMMAND) { @@ -3826,7 +3837,7 @@ mbs.param[6] = DMA_WD3(fcp->isp_scdma); mbs.param[7] = DMA_WD2(fcp->isp_scdma); mbs.logval = MBLOGALL; - mbs.timeout = 1000000; + mbs.timeout = 10000000; MEMORYBARRIER(isp, SYNC_SFORDEV, 0, SNS_RFT_ID_REQ_SIZE); isp_mboxcmd(isp, &mbs); FC_SCRATCH_RELEASE(isp); From owner-p4-projects@FreeBSD.ORG Thu Jan 4 06:12:26 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 A9A9316A416; Thu, 4 Jan 2007 06:12:26 +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 585F916A407 for ; Thu, 4 Jan 2007 06:12:26 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 31B5B13C457 for ; Thu, 4 Jan 2007 06:12:26 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l046CQcC090832 for ; Thu, 4 Jan 2007 06:12:26 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l046CPNZ090817 for perforce@freebsd.org; Thu, 4 Jan 2007 06:12:25 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 4 Jan 2007 06:12:25 GMT Message-Id: <200701040612.l046CPNZ090817@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112464 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, 04 Jan 2007 06:12:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=112464 Change 112464 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/04 06:12:00 we no longer need to explicitly set the channel when transitioning to a new state rt2560_shutdown and rt2560_suspend just call rt2560_stop - have the ops vector call rt2560_stop instead Affected files ... .. //depot/projects/wifi/sys/dev/ral/if_ral_pci.c#4 edit .. //depot/projects/wifi/sys/dev/ral/rt2560.c#7 edit .. //depot/projects/wifi/sys/dev/ral/rt2560var.h#4 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/if_ral_pci.c#4 (text+ko) ==== @@ -87,8 +87,8 @@ } ral_rt2560_opns = { rt2560_attach, rt2560_detach, - rt2560_shutdown, - rt2560_suspend, + rt2560_stop, + rt2560_stop, rt2560_resume, rt2560_intr ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#7 (text) ==== @@ -151,7 +151,6 @@ static void rt2560_set_txantenna(struct rt2560_softc *, int); static void rt2560_set_rxantenna(struct rt2560_softc *, int); static void rt2560_init(void *); -static void rt2560_stop(void *); static int rt2560_raw_xmit(struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); @@ -372,22 +371,6 @@ } void -rt2560_shutdown(void *xsc) -{ - struct rt2560_softc *sc = xsc; - - rt2560_stop(sc); -} - -void -rt2560_suspend(void *xsc) -{ - struct rt2560_softc *sc = xsc; - - rt2560_stop(sc); -} - -void rt2560_resume(void *xsc) { struct rt2560_softc *sc = xsc; @@ -778,22 +761,7 @@ rt2560_update_led(sc, 0, 0); } break; - - case IEEE80211_S_SCAN: - rt2560_set_chan(sc, ic->ic_curchan); - break; - - case IEEE80211_S_AUTH: - rt2560_set_chan(sc, ic->ic_curchan); - break; - - case IEEE80211_S_ASSOC: - rt2560_set_chan(sc, ic->ic_curchan); - break; - case IEEE80211_S_RUN: - rt2560_set_chan(sc, ic->ic_curchan); - ni = ic->ic_bss; if (ic->ic_opmode != IEEE80211_M_MONITOR) { @@ -828,6 +796,10 @@ rt2560_enable_tsf_sync(sc); } break; + case IEEE80211_S_SCAN: + case IEEE80211_S_AUTH: + case IEEE80211_S_ASSOC: + break; } return (error != 0) ? error : sc->sc_newstate(ic, nstate, arg); ==== //depot/projects/wifi/sys/dev/ral/rt2560var.h#4 (text) ==== @@ -160,8 +160,7 @@ int rt2560_attach(device_t, int); int rt2560_detach(void *); -void rt2560_shutdown(void *); -void rt2560_suspend(void *); +void rt2560_stop(void *); void rt2560_resume(void *); void rt2560_intr(void *); From owner-p4-projects@FreeBSD.ORG Thu Jan 4 13:34:57 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 6A44816A416; Thu, 4 Jan 2007 13:34:57 +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 46ADE16A403 for ; Thu, 4 Jan 2007 13:34:57 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 33E0A13C471 for ; Thu, 4 Jan 2007 13:34:57 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04DYvMG087054 for ; Thu, 4 Jan 2007 13:34:57 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04DYpp7087041 for perforce@freebsd.org; Thu, 4 Jan 2007 13:34:51 GMT (envelope-from piso@freebsd.org) Date: Thu, 4 Jan 2007 13:34:51 GMT Message-Id: <200701041334.l04DYpp7087041@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112478 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, 04 Jan 2007 13:34:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=112478 Change 112478 by piso@piso_newluxor on 2007/01/04 13:33:55 IFC@112476 Affected files ... .. //depot/projects/soc2005/libalias/COPYRIGHT#2 integrate .. //depot/projects/soc2005/libalias/ObsoleteFiles.inc#17 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/README#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/arithchk.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/dmisc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/dtoa.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/g_Qfmt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/g__fmt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/g_ddfmt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/g_dfmt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/g_ffmt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/g_xLfmt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/g_xfmt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/gdtoa.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/gdtoa.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/gdtoaimp.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/gethex.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/gmisc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/hd_init.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/hexnan.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/makefile#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/misc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/qnan.c#1 branch .. //depot/projects/soc2005/libalias/contrib/gdtoa/smisc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtoIQ.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtoId.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtoIdd.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtoIf.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtoIg.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtoIx.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtoIxL.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtod.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtodI.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtodg.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtodnrp.c#1 branch .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtof.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtopQ.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtopd.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtopdd.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtopf.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtopx.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtopxL.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtorQ.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtord.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtordd.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtorf.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtorx.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/strtorxL.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/sum.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/Qtest.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/dItest.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/ddtest.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/dt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/dtest.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/dtst.out#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/ftest.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/getround.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/makefile#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/strtodt.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/x.ou0#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/x.ou1#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/xL.ou1#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/xLtest.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/xsum0.out#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/test/xtest.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/ulp.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/gdtoa/xsum0.out#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/CHANGELOG#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/CHANGES#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/FREEBSD-upgrade#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/INSTALL#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/NEWS#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/README#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/aclocal.m4#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/bind.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/callback.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/complete.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/config.h.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/configure#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/configure.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/display.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/history.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/hstech.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/hsuser.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/readline.3#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/rlman.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/rltech.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/rluser.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/rluserman.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/doc/version.texi#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/examples/excallback.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/examples/rlfe/Makefile.in#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/histexpand.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/histfile.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/history.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/input.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/isearch.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/kill.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/macro.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/misc.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/readline.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/readline.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/rlconf.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/rlmbutil.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/rlprivate.h#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/rltty.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/search.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/signals.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/support/shlib-install#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/support/shobj-conf#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/terminal.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/text.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/tilde.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/undo.c#2 integrate .. //depot/projects/soc2005/libalias/contrib/libreadline/vi_mode.c#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/abi#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/accounting#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/archdep#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/atm1#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/auto_linklocal#5 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/bluetooth#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/bootconf.sh#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/bridge#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/geli#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/hcsecd#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ip6fw#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ipfilter#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ipfw#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ipnat#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/jail#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ldconfig#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/lpd#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/mdconfig#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/mdconfig2#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/mountcritremote#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/moused#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/natd#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/netif#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/nfsclient#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/nfsserver#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/nsswitch#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/pf#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/pflog#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/pfsync#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/pppoed#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/sdpd#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/syscons#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/syslogd#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ugidfw#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/var#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ypbind#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/yppasswdd#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ypserv#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ypset#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ypupdated#2 integrate .. //depot/projects/soc2005/libalias/etc/rc.d/ypxfrd#3 integrate .. //depot/projects/soc2005/libalias/etc/rc.firewall#5 integrate .. //depot/projects/soc2005/libalias/etc/rc.subr#7 integrate .. //depot/projects/soc2005/libalias/etc/snmpd.config#4 integrate .. //depot/projects/soc2005/libalias/games/fortune/datfiles/fortunes#10 integrate .. //depot/projects/soc2005/libalias/games/fortune/datfiles/fortunes-o.real#2 integrate .. //depot/projects/soc2005/libalias/gnu/lib/libreadline/Makefile.inc#2 integrate .. //depot/projects/soc2005/libalias/gnu/lib/libreadline/config.h#2 integrate .. //depot/projects/soc2005/libalias/gnu/usr.bin/groff/tmac/mdoc.local#6 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_read.c#6 integrate .. //depot/projects/soc2005/libalias/lib/libarchive/archive_read_support_format_tar.c#5 integrate .. //depot/projects/soc2005/libalias/lib/libc/amd64/gd_qnan.h#1 branch .. //depot/projects/soc2005/libalias/lib/libc/arm/gd_qnan.h#1 branch .. //depot/projects/soc2005/libalias/lib/libc/gdtoa/_hdtoa.c#2 integrate .. //depot/projects/soc2005/libalias/lib/libc/i386/gd_qnan.h#1 branch .. //depot/projects/soc2005/libalias/lib/libc/ia64/gd_qnan.h#1 branch .. //depot/projects/soc2005/libalias/lib/libc/powerpc/gd_qnan.h#1 branch .. //depot/projects/soc2005/libalias/lib/libc/sparc64/gd_qnan.h#1 branch .. //depot/projects/soc2005/libalias/lib/libc/stdio/vfprintf.c#3 integrate .. //depot/projects/soc2005/libalias/lib/libc/sys/recv.2#3 integrate .. //depot/projects/soc2005/libalias/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#5 integrate .. //depot/projects/soc2005/libalias/release/doc/en_US.ISO8859-1/readme/article.sgml#2 integrate .. //depot/projects/soc2005/libalias/release/doc/share/misc/dev.archlist.txt#6 integrate .. //depot/projects/soc2005/libalias/sbin/atm/atm/atm.8#2 integrate .. //depot/projects/soc2005/libalias/sbin/bsdlabel/bsdlabel.8#4 integrate .. //depot/projects/soc2005/libalias/sbin/devfs/devfs.8#3 integrate .. //depot/projects/soc2005/libalias/sbin/ifconfig/ifconfig.c#5 integrate .. //depot/projects/soc2005/libalias/sbin/init/init.8#2 integrate .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw.8#12 integrate .. //depot/projects/soc2005/libalias/sbin/ipfw/ipfw2.c#17 integrate .. //depot/projects/soc2005/libalias/sbin/mount_unionfs/mount_unionfs.8#3 integrate .. //depot/projects/soc2005/libalias/share/man/man4/Makefile#8 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ata.4#6 integrate .. //depot/projects/soc2005/libalias/share/man/man4/blackhole.4#2 integrate .. //depot/projects/soc2005/libalias/share/man/man4/ng_deflate.4#1 branch .. //depot/projects/soc2005/libalias/share/man/man4/ng_pred1.4#1 branch .. //depot/projects/soc2005/libalias/share/man/man9/kqueue.9#2 integrate .. //depot/projects/soc2005/libalias/sys/amd64/include/atomic.h#3 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_dummy.c#5 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_proto.h#9 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_syscall.h#9 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/linux32_sysent.c#9 integrate .. //depot/projects/soc2005/libalias/sys/amd64/linux32/syscalls.master#8 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/at91_pioreg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/at91_spireg.h#3 integrate .. //depot/projects/soc2005/libalias/sys/arm/at91/if_ate.c#6 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_emul.c#8 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_emul.h#4 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_mib.c#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_mib.h#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_misc.c#11 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/soc2005/libalias/sys/compat/linux/linux_signal.c#5 integrate .. //depot/projects/soc2005/libalias/sys/conf/NOTES#17 integrate .. //depot/projects/soc2005/libalias/sys/conf/files#20 integrate .. //depot/projects/soc2005/libalias/sys/conf/kern.post.mk#5 integrate .. //depot/projects/soc2005/libalias/sys/conf/options#16 integrate .. //depot/projects/soc2005/libalias/sys/contrib/pf/net/if_pfsync.c#4 integrate .. //depot/projects/soc2005/libalias/sys/contrib/pf/net/pf.c#4 integrate .. //depot/projects/soc2005/libalias/sys/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aic7xxx.seq#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/arl/if_arl.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/ata-chipset.c#10 integrate .. //depot/projects/soc2005/libalias/sys/dev/ata/ata-pci.h#6 integrate .. //depot/projects/soc2005/libalias/sys/dev/bktr/bktr_i2c.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ce/if_ce.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/cp/if_cp.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ctau/if_ct.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/cx/if_cx.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/en/midway.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/firewire/if_fwip.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/mfi/mfi.c#9 integrate .. //depot/projects/soc2005/libalias/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/my/if_my.c#3 integrate .. //depot/projects/soc2005/libalias/sys/dev/ppbus/if_plip.c#2 integrate .. //depot/projects/soc2005/libalias/sys/dev/usb/usbdi_util.h#3 integrate .. //depot/projects/soc2005/libalias/sys/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/soc2005/libalias/sys/i386/include/atomic.h#3 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_dummy.c#5 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_proto.h#11 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_syscall.h#10 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/linux_sysent.c#10 integrate .. //depot/projects/soc2005/libalias/sys/i386/linux/syscalls.master#10 integrate .. //depot/projects/soc2005/libalias/sys/i4b/driver/i4b_ipr.c#3 integrate .. //depot/projects/soc2005/libalias/sys/isa/pnpparse.c#2 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_mac.c#7 delete .. //depot/projects/soc2005/libalias/sys/kern/kern_switch.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_synch.c#5 integrate .. //depot/projects/soc2005/libalias/sys/kern/kern_thread.c#7 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_4bsd.c#8 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_core.c#4 integrate .. //depot/projects/soc2005/libalias/sys/kern/sched_ule.c#6 integrate .. //depot/projects/soc2005/libalias/sys/modules/netgraph/Makefile#3 integrate .. //depot/projects/soc2005/libalias/sys/modules/netgraph/deflate/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/modules/netgraph/pred1/Makefile#1 branch .. //depot/projects/soc2005/libalias/sys/net/ethernet.h#3 integrate .. //depot/projects/soc2005/libalias/sys/net/if_enc.c#2 integrate .. //depot/projects/soc2005/libalias/sys/net/if_vlan.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netgraph/ng_deflate.c#1 branch .. //depot/projects/soc2005/libalias/sys/netgraph/ng_deflate.h#1 branch .. //depot/projects/soc2005/libalias/sys/netgraph/ng_pred1.c#1 branch .. //depot/projects/soc2005/libalias/sys/netgraph/ng_pred1.h#1 branch .. //depot/projects/soc2005/libalias/sys/netgraph/ng_sppp.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/in.h#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/in_pcb.c#6 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_divert.c#5 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw.h#9 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#37 integrate .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw_pfil.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/raw_ip.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_asconf.h#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_auth.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_indata.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_os.h#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_pcb.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_pcb.h#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_structs.h#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_timer.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_usrreq.c#3 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctp_var.h#2 integrate .. //depot/projects/soc2005/libalias/sys/netinet/sctputil.c#4 integrate .. //depot/projects/soc2005/libalias/sys/netinet/tcp_subr.c#9 integrate .. //depot/projects/soc2005/libalias/sys/netinet/udp_usrreq.c#7 integrate .. //depot/projects/soc2005/libalias/sys/netinet6/sctp6_usrreq.c#3 integrate .. //depot/projects/soc2005/libalias/sys/nfsserver/nfs_srvsubs.c#5 integrate .. //depot/projects/soc2005/libalias/sys/nfsserver/nfsm_subs.h#2 integrate .. //depot/projects/soc2005/libalias/sys/powerpc/powerpc/vm_machdep.c#3 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_arg.c#5 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm_klib.c#2 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_bsm_token.c#5 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_syscalls.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_trigger.c#2 integrate .. //depot/projects/soc2005/libalias/sys/security/audit/audit_worker.c#4 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_framework.c#1 branch .. //depot/projects/soc2005/libalias/sys/security/mac/mac_inet.c#8 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_internal.h#6 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_label.c#4 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_net.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_policy.h#3 integrate .. //depot/projects/soc2005/libalias/sys/security/mac/mac_syscalls.c#1 branch .. //depot/projects/soc2005/libalias/sys/security/mac/mac_vfs.c#7 integrate .. //depot/projects/soc2005/libalias/sys/security/mac_stub/mac_stub.c#4 integrate .. //depot/projects/soc2005/libalias/sys/sun4v/sun4v/pmap.c#7 integrate .. //depot/projects/soc2005/libalias/sys/sys/copyright.h#3 integrate .. //depot/projects/soc2005/libalias/sys/sys/proc.h#8 integrate .. //depot/projects/soc2005/libalias/sys/sys/runq.h#3 integrate .. //depot/projects/soc2005/libalias/tools/regression/lib/libc/stdio/test-scanfloat.c#2 integrate .. //depot/projects/soc2005/libalias/tools/tools/mfi/Makefile#1 branch .. //depot/projects/soc2005/libalias/tools/tools/mfi/mfi_checkq.c#1 branch .. //depot/projects/soc2005/libalias/tools/tools/mfi/runmegacli.sh#1 branch .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/calendar.birthday#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/calendar.christian#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/calendar.history#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/calendar.holiday#4 integrate .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/calendar.music#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/id/id.c#5 integrate .. //depot/projects/soc2005/libalias/usr.bin/kdump/kdump.c#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/kdump/kdump_subr.h#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/kdump/mksubr#5 integrate .. //depot/projects/soc2005/libalias/usr.bin/make/make.1#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/tar/write.c#3 integrate .. //depot/projects/soc2005/libalias/usr.bin/xlint/lint1/emit.c#2 integrate .. //depot/projects/soc2005/libalias/usr.bin/ypwhich/ypwhich.1#2 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bsnmpd/modules/Makefile#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#4 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#4 integrate .. //depot/projects/soc2005/libalias/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#4 integrate .. //depot/projects/soc2005/libalias/usr.sbin/freebsd-update/freebsd-update.8#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/fwcontrol/fwcontrol.8#3 integrate .. //depot/projects/soc2005/libalias/usr.sbin/ntp/doc/ntp.conf.5#4 integrate .. //depot/projects/soc2005/libalias/usr.sbin/sysinstall/installUpgrade.c#3 integrate Differences ... ==== //depot/projects/soc2005/libalias/COPYRIGHT#2 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/COPYRIGHT,v 1.7 2006/01/15 22:06:10 imp Exp $ +# $FreeBSD: src/COPYRIGHT,v 1.8 2006/12/31 16:34:16 delphij Exp $ # @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94 The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (C) 1992-2006 The FreeBSD Project. All rights reserved. +Copyright (C) 1992-2007 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ==== //depot/projects/soc2005/libalias/ObsoleteFiles.inc#17 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.67 2006/12/07 01:24:38 avatar Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.68 2007/01/02 03:42:16 kientzle Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -32,6 +32,8 @@ OLD_FILES+=lib/libalias_pptp.so.4 OLD_FILES+=lib/libalias_skinny.so.4 OLD_FILES+=lib/libalias_smedia.so.4 +# 20061126: remove old man page +OLD_FILES+=usr/share/man/man3/archive_read_set_bytes_per_block.3.gz # 20061125: remove old man page OLD_FILES+=usr/share/man/man9/devsw.9.gz # 20061122: remove obsolete mount programs ==== //depot/projects/soc2005/libalias/contrib/gdtoa/README#2 (text+ko) ==== @@ -144,18 +144,33 @@ necessary to #include "float.h" or another system-dependent header file. -The values returned for NaNs may be signaling NaNs on some systems, -since the rules for distinguishing signaling from quiet NaNs are -system-dependent. You can easily fix this by suitably modifying the -ULto* routines in strtor*.c. +Source file strtodnrp.c gives a strtod that does not require 53-bit +rounding precision on systems (such as Intel IA32 systems) that may +suffer double rounding due to use of extended-precision registers. +For some conversions this variant of strtod is less efficient than the +one in strtod.c when the latter is run with 53-bit rounding precision. + +The values that the strto* routines return for NaNs are determined by +gd_qnan.h, which the makefile generates by running the program whose +source is qnan.c. Note that the rules for distinguishing signaling +from quiet NaNs are system-dependent. For cross-compilation, you need +to determine arith.h and gd_qnan.h suitably, e.g., using the +arithmetic of the target machine. C99's hexadecimal floating-point constants are recognized by the strto* routines (but this feature has not yet been heavily tested). Compiling with NO_HEX_FP #defined disables this feature. -The strto* routines do not (yet) recognize C99's NaN(...) syntax; the -strto* routines simply regard '(' as the first unprocessed input -character. +When compiled with -DINFNAN_CHECK, the strto* routines recognize C99's +NaN and Infinity syntax. Moreover, unless No_Hex_NaN is #defined, the +strto* routines also recognize C99's NaN(...) syntax: they accept +(case insensitively) strings of the form NaN(x), where x is a string +of hexadecimal digits and spaces; if there is only one string of +hexadecimal digits, it is taken for the fraction bits of the resulting +NaN; if there are two or more strings of hexadecimal digits, each +string is assigned to the next available sequence of 32-bit words of +fractions bits (starting with the most significant), right-aligned in +each sequence. For binary -> decimal conversions, I've provided just one family of helper routines: @@ -213,7 +228,7 @@ if the private pool does not suffice. 2000 is large enough that MALLOC is called only under very unusual circumstances (decimal -> binary conversion of very long strings) for conversions to and from double -precision. For systems with preemptivaly scheduled multiple threads +precision. For systems with preemptively scheduled multiple threads or for conversions to extended or quad, it may be appropriate to #define PRIVATE_MEM nnnn, where nnnn is a suitable value > 2000. For extended and quad precisions, -DPRIVATE_MEM=20000 is probably @@ -317,7 +332,5 @@ the decimal-point character to be taken from the current locale; otherwise it is '.'. -Please send comments to - - David M. Gay - dmg@acm.org +Please send comments to David M. Gay (dmg at acm dot org, with " at " +changed at "@" and " dot " changed to "."). ==== //depot/projects/soc2005/libalias/contrib/gdtoa/arithchk.c#2 (text+ko) ==== @@ -136,6 +136,7 @@ return b == 0.; } + int main() { Akind *a = 0; ==== //depot/projects/soc2005/libalias/contrib/gdtoa/dmisc.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/soc2005/libalias/contrib/gdtoa/dtoa.c#2 (text+ko) ==== @@ -26,21 +26,15 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" /* dtoa for IEEE arithmetic (dmg): convert double to ASCII string. * * Inspired by "How to Print Floating-Point Numbers Accurately" by - * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101]. + * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126]. * * Modifications: * 1. Rather than iterating, we use a simple numeric overestimate ==== //depot/projects/soc2005/libalias/contrib/gdtoa/g_Qfmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -83,7 +77,7 @@ if (ex == 0x7fff) { /* Infinity or NaN */ if (bits[0] | bits[1] | bits[2] | bits[3]) - b = strcpy(b, "NaN"); + b = strcp(b, "NaN"); else { b = buf; if (sign) ==== //depot/projects/soc2005/libalias/contrib/gdtoa/g__fmt.c#2 (text+ko) ==== @@ -26,10 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - dmg@acm.org - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/soc2005/libalias/contrib/gdtoa/g_ddfmt.c#2 (text+ko) ==== @@ -26,14 +26,7 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg@acm.org). */ #include "gdtoaimp.h" #include ==== //depot/projects/soc2005/libalias/contrib/gdtoa/g_dfmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/soc2005/libalias/contrib/gdtoa/g_ffmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/soc2005/libalias/contrib/gdtoa/g_xLfmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/soc2005/libalias/contrib/gdtoa/g_xfmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -96,6 +90,7 @@ } else if (bits[0] | bits[1]) { i = STRTOG_Denormal; + ex = 1; } else { b = buf; ==== //depot/projects/soc2005/libalias/contrib/gdtoa/gdtoa.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -83,7 +77,7 @@ /* dtoa for IEEE arithmetic (dmg): convert double to ASCII string. * * Inspired by "How to Print Floating-Point Numbers Accurately" by - * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101]. + * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126]. * * Modifications: * 1. Rather than iterating, we use a simple numeric overestimate ==== //depot/projects/soc2005/libalias/contrib/gdtoa/gdtoa.h#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #ifndef GDTOA_H_INCLUDED #define GDTOA_H_INCLUDED ==== //depot/projects/soc2005/libalias/contrib/gdtoa/gdtoaimp.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ ****************************************************************/ -/* $FreeBSD: src/contrib/gdtoa/gdtoaimp.h,v 1.7 2005/01/18 18:56:18 das Exp $ */ +/* $FreeBSD: src/contrib/gdtoa/gdtoaimp.h,v 1.8 2007/01/03 04:59:33 das Exp $ */ /* This is a variation on dtoa.c that converts arbitary binary floating-point formats to and from decimal notation. It uses @@ -35,13 +35,8 @@ double-precision arithmetic (any of IEEE, VAX D_floating, or IBM mainframe arithmetic). - Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com + Please send bug reports to David M. Gay (dmg at acm dot org, + with " at " changed at "@" and " dot " changed to "."). */ /* On a machine with IEEE extended-precision registers, it is @@ -63,7 +58,7 @@ * biased rounding (add half and chop). * * Inspired loosely by William D. Clinger's paper "How to Read Floating - * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. + * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 112-126]. * * Modifications: * @@ -134,10 +129,7 @@ * 8-byte pointers, PRIVATE_MEM >= 7400 appears to suffice; with * 4-byte pointers, PRIVATE_MEM >= 7112 appears adequate. * #define INFNAN_CHECK on IEEE systems to cause strtod to check for - * Infinity and NaN (case insensitively). On some systems (e.g., - * some HP systems), it may be necessary to #define NAN_WORD0 - * appropriately -- to the most significant word of a quiet NaN. - * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.) + * Infinity and NaN (case insensitively). * When INFNAN_CHECK is #defined and No_Hex_NaN is not #defined, * strtodg also accepts (case insensitively) strings of the form * NaN(x), where x is a string of hexadecimal digits and spaces; @@ -178,6 +170,7 @@ #ifndef GDTOAIMP_H_INCLUDED #define GDTOAIMP_H_INCLUDED #include "gdtoa.h" +#include "gd_qnan.h" #ifdef DEBUG #include "stdio.h" @@ -558,6 +551,7 @@ #define hexdig_init_D2A __hexdig_init_D2A #define hexnan __hexnan_D2A #define hi0bits __hi0bits_D2A +#define hi0bits_D2A __hi0bits_D2A #define i2b __i2b_D2A #define increment __increment_D2A #define lo0bits __lo0bits_D2A @@ -657,31 +651,39 @@ #ifdef __cplusplus } #endif - - +/* + * NAN_WORD0 and NAN_WORD1 are only referenced in strtod.c. Prior to + * 20050115, they used to be hard-wired here (to 0x7ff80000 and 0, + * respectively), but now are determined by compiling and running + * qnan.c to generate gd_qnan.h, which specifies d_QNAN0 and d_QNAN1. + * Formerly gdtoaimp.h recommended supplying suitable -DNAN_WORD0=... + * and -DNAN_WORD1=... values if necessary. This should still work. + * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.) + */ #ifdef IEEE_Arith #ifdef IEEE_MC68k #define _0 0 #define _1 1 +#ifndef NAN_WORD0 +#define NAN_WORD0 d_QNAN0 +#endif +#ifndef NAN_WORD1 +#define NAN_WORD1 d_QNAN1 +#endif #else #define _0 1 #define _1 0 +#ifndef NAN_WORD0 +#define NAN_WORD0 d_QNAN1 #endif +#ifndef NAN_WORD1 +#define NAN_WORD1 d_QNAN0 +#endif +#endif #else #undef INFNAN_CHECK #endif -#ifdef INFNAN_CHECK - -#ifndef NAN_WORD0 -#define NAN_WORD0 0x7ff80000 -#endif - -#ifndef NAN_WORD1 -#define NAN_WORD1 0 -#endif -#endif /* INFNAN_CHECK */ - #undef SI #ifdef Sudden_Underflow #define SI 1 ==== //depot/projects/soc2005/libalias/contrib/gdtoa/gethex.c#2 (text+ko) ==== @@ -26,10 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - dmg@acm.org - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -47,7 +45,7 @@ { Bigint *b; CONST unsigned char *decpt, *s0, *s, *s1; - int esign, havedig, irv, k, n, nbits, up; + int esign, havedig, irv, k, n, nbits, up, zret; ULong L, lostbits, *x; Long e, e1; #ifdef USE_LOCALE @@ -65,22 +63,20 @@ s0 += havedig; s = s0; decpt = 0; + zret = 0; + e = 0; if (!hexdig[*s]) { - if (*s == decimalpoint) { - decpt = ++s; - if (!hexdig[*s]) - goto ret0; - } - else { - ret0: - *sp = (char*)s; - return havedig ? STRTOG_Zero : STRTOG_NoNumber; - } + zret = 1; + if (*s != decimalpoint) + goto pcheck; + decpt = ++s; + if (!hexdig[*s]) + goto pcheck; while(*s == '0') s++; + if (hexdig[*s]) + zret = 0; havedig = 1; - if (!hexdig[*s]) - goto ret0; s0 = s; } while(hexdig[*s]) @@ -90,9 +86,9 @@ while(hexdig[*s]) s++; } - e = 0; if (decpt) e = -(((Long)(s-decpt)) << 2); + pcheck: s1 = s; switch(*s) { case 'p': @@ -117,6 +113,8 @@ e += e1; } *sp = (char*)s; + if (zret) + return havedig ? STRTOG_Zero : STRTOG_NoNumber; n = s1 - s0 - 1; for(k = 0; n > 7; n >>= 1) k++; ==== //depot/projects/soc2005/libalias/contrib/gdtoa/gmisc.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/soc2005/libalias/contrib/gdtoa/hd_init.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/soc2005/libalias/contrib/gdtoa/hexnan.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/soc2005/libalias/contrib/gdtoa/makefile#2 (text+ko) ==== @@ -30,13 +30,18 @@ .c.o: $(CC) -c $(CFLAGS) $*.c -all: arith.h gdtoa.a +all: arith.h gd_qnan.h gdtoa.a arith.h: arithchk.c $(CC) $(CFLAGS) arithchk.c || $(CC) -DNO_LONG_LONG $(CFLAGS) arithchk.c ./a.out >arith.h rm -f a.out arithchk.o +gd_qnan.h: arith.h qnan.c + $(CC) $(CFLAGS) qnan.c + ./a.out >gd_qnan.h + rm -f a.out qnan.o + gdtoa.a: dmisc.c dtoa.c g_Qfmt.c g__fmt.c g_ddfmt.c g_dfmt.c g_ffmt.c\ g_xLfmt.c g_xfmt.c gdtoa.c gethex.c gmisc.c hd_init.c hexnan.c\ misc.c smisc.c strtoIQ.c strtoId.c strtoIdd.c strtoIf.c strtoIg.c\ @@ -51,10 +56,10 @@ xs0 = README arithchk.c dmisc.c dtoa.c g_Qfmt.c g__fmt.c g_ddfmt.c g_dfmt.c\ g_ffmt.c g_xLfmt.c g_xfmt.c gdtoa.c gdtoa.h gdtoaimp.h gethex.c\ - gmisc.c hd_init.c hexnan.c makefile misc.c smisc.c strtoIQ.c\ + gmisc.c hd_init.c hexnan.c makefile misc.c qnan.c smisc.c strtoIQ.c\ strtoId.c strtoIdd.c strtoIf.c strtoIg.c strtoIx.c strtoIxL.c\ - strtod.c strtodI.c strtodg.c strtof.c strtopQ.c strtopd.c strtopdd.c\ - strtopf.c strtopx.c strtopxL.c strtorQ.c strtord.c strtordd.c\ + strtod.c strtodI.c strtodg.c strtodnrp.c strtof.c strtopQ.c strtopd.c\ + strtopdd.c strtopf.c strtopx.c strtopxL.c strtorQ.c strtord.c strtordd.c\ strtorf.c strtorx.c strtorxL.c sum.c ulp.c # "make xsum.out" to check for transmission errors; source for xsum is @@ -66,4 +71,4 @@ cmp xsum0.out xsum1.out && mv xsum1.out xsum.out || diff xsum[01].out clean: >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jan 4 14:03:39 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 C160F16A417; Thu, 4 Jan 2007 14:03:38 +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 6097616A40F for ; Thu, 4 Jan 2007 14:03:38 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 4D0EF13C43E for ; Thu, 4 Jan 2007 14:03:38 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04E3cd1093068 for ; Thu, 4 Jan 2007 14:03:38 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04E3WlW093051 for perforce@freebsd.org; Thu, 4 Jan 2007 14:03:32 GMT (envelope-from piso@freebsd.org) Date: Thu, 4 Jan 2007 14:03:32 GMT Message-Id: <200701041403.l04E3WlW093051@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112479 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, 04 Jan 2007 14:03:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=112479 Change 112479 by piso@piso_newluxor on 2007/01/04 14:02:43 IFC@112477 Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/amd64/apic_vector.S#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/cpu_switch.S#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/exception.S#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/genassym.c#4 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/local_apic.c#6 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/machdep.c#8 integrate .. //depot/projects/soc2006/intr_filter/amd64/amd64/trap.c#7 integrate .. //depot/projects/soc2006/intr_filter/amd64/ia32/ia32_exception.S#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/ia32/ia32_syscall.c#3 integrate .. //depot/projects/soc2006/intr_filter/amd64/include/apicvar.h#4 integrate .. //depot/projects/soc2006/intr_filter/amd64/include/atomic.h#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/isa/atpic.c#3 integrate .. //depot/projects/soc2006/intr_filter/amd64/isa/atpic_vector.S#3 integrate .. //depot/projects/soc2006/intr_filter/amd64/isa/icu.h#2 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux.h#5 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_dummy.c#6 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_machdep.c#5 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_proto.h#11 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_syscall.h#11 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/linux32_sysent.c#11 integrate .. //depot/projects/soc2006/intr_filter/amd64/linux32/syscalls.master#10 integrate .. //depot/projects/soc2006/intr_filter/arm/at91/at91_pioreg.h#2 integrate .. //depot/projects/soc2006/intr_filter/arm/at91/at91_spireg.h#3 integrate .. //depot/projects/soc2006/intr_filter/arm/at91/at91_st.c#7 integrate .. //depot/projects/soc2006/intr_filter/arm/at91/if_ate.c#6 integrate .. //depot/projects/soc2006/intr_filter/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/Makefile.inc#5 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/boot0spi/main.c#5 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/arm_init.S#2 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/at91rm9200_lowlevel.h#4 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/eeprom.c#3 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/emac.c#5 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/emac_init.c#4 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/lib.h#4 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/spi_flash.c#3 integrate .. //depot/projects/soc2006/intr_filter/boot/arm/at91/libat91/spi_flash.h#2 integrate .. //depot/projects/soc2006/intr_filter/boot/common/bootstrap.h#3 integrate .. //depot/projects/soc2006/intr_filter/boot/sparc64/loader/main.c#4 integrate .. //depot/projects/soc2006/intr_filter/cam/cam_xpt.c#7 integrate .. //depot/projects/soc2006/intr_filter/compat/freebsd32/freebsd32_misc.c#5 integrate .. //depot/projects/soc2006/intr_filter/compat/freebsd32/freebsd32_proto.h#8 integrate .. //depot/projects/soc2006/intr_filter/compat/freebsd32/freebsd32_syscall.h#8 integrate .. //depot/projects/soc2006/intr_filter/compat/freebsd32/freebsd32_syscalls.c#8 integrate .. //depot/projects/soc2006/intr_filter/compat/freebsd32/freebsd32_sysent.c#8 integrate .. //depot/projects/soc2006/intr_filter/compat/freebsd32/syscalls.master#7 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_emul.c#5 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_emul.h#3 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_ipc.c#5 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_ipc.h#2 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_mib.c#2 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_mib.h#2 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_misc.c#9 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_misc.h#2 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_signal.c#4 integrate .. //depot/projects/soc2006/intr_filter/compat/linux/linux_time.c#2 integrate .. //depot/projects/soc2006/intr_filter/compat/ndis/subr_ntoskrnl.c#2 integrate .. //depot/projects/soc2006/intr_filter/conf/NOTES#12 integrate .. //depot/projects/soc2006/intr_filter/conf/files#11 integrate .. //depot/projects/soc2006/intr_filter/conf/files.amd64#8 integrate .. //depot/projects/soc2006/intr_filter/conf/files.arm#4 integrate .. //depot/projects/soc2006/intr_filter/conf/files.i386#8 integrate .. //depot/projects/soc2006/intr_filter/conf/files.pc98#6 integrate .. //depot/projects/soc2006/intr_filter/conf/files.powerpc#5 integrate .. //depot/projects/soc2006/intr_filter/conf/files.sparc64#3 integrate .. //depot/projects/soc2006/intr_filter/conf/files.sun4v#3 integrate .. //depot/projects/soc2006/intr_filter/conf/kern.post.mk#6 integrate .. //depot/projects/soc2006/intr_filter/conf/options#10 integrate .. //depot/projects/soc2006/intr_filter/contrib/ipfilter/netinet/ip_state.c#3 integrate .. //depot/projects/soc2006/intr_filter/contrib/pf/net/if_pfsync.c#5 integrate .. //depot/projects/soc2006/intr_filter/contrib/pf/net/pf.c#4 integrate .. //depot/projects/soc2006/intr_filter/contrib/pf/net/pf_ioctl.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/aac/aac_linux.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/acpica/acpi_battery.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aic7xxx.seq#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/soc2006/intr_filter/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/soc2006/intr_filter/dev/arl/if_arl.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-all.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-chipset.c#9 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-pci.h#7 integrate .. //depot/projects/soc2006/intr_filter/dev/ata/ata-queue.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ath/if_ath.c#10 integrate .. //depot/projects/soc2006/intr_filter/dev/ath/if_athvar.h#8 integrate .. //depot/projects/soc2006/intr_filter/dev/atkbdc/psm.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/bge/if_bge.c#10 integrate .. //depot/projects/soc2006/intr_filter/dev/bge/if_bgereg.h#8 integrate .. //depot/projects/soc2006/intr_filter/dev/bktr/bktr_i2c.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ce/if_ce.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/cp/if_cp.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/ctau/if_ct.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/cx/if_cx.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/dc/if_dc.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/drm/drm_agpsupport.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/en/midway.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/firewire/if_fwip.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/ichwd/ichwd.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ipmi/ipmi.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp.c#10 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_freebsd.c#8 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_pci.c#11 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/isp_sbus.c#8 integrate .. //depot/projects/soc2006/intr_filter/dev/isp/ispmbox.h#6 integrate .. //depot/projects/soc2006/intr_filter/dev/mfi/mfi.c#10 integrate .. //depot/projects/soc2006/intr_filter/dev/mii/brgphy.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/mii/rgephy.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/mk48txx/mk48txx.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/mpt/mpt_cam.c#9 integrate .. //depot/projects/soc2006/intr_filter/dev/msk/if_msk.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/my/if_my.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/pci/pci.c#7 integrate .. //depot/projects/soc2006/intr_filter/dev/ppbus/if_plip.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ral/rt2560.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/ral/rt2560var.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/ral/rt2661.c#3 integrate .. //depot/projects/soc2006/intr_filter/dev/ral/rt2661var.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/re/if_re.c#12 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/envy24.c#4 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/envy24ht.h#2 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/hda/hdac.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/sound/pci/ich.c#5 integrate .. //depot/projects/soc2006/intr_filter/dev/usb/if_aue.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/usb/if_auereg.h#4 integrate .. //depot/projects/soc2006/intr_filter/dev/usb/uplcom.c#6 integrate .. //depot/projects/soc2006/intr_filter/dev/usb/usbdi_util.h#3 integrate .. //depot/projects/soc2006/intr_filter/dev/watchdog/watchdog.c#2 integrate .. //depot/projects/soc2006/intr_filter/fs/msdosfs/bpb.h#2 integrate .. //depot/projects/soc2006/intr_filter/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/soc2006/intr_filter/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/apic_vector.s#2 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/elan-mmcr.c#2 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/exception.s#2 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/genassym.c#4 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/local_apic.c#6 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/machdep.c#8 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/swtch.s#2 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/trap.c#6 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/vm86.c#3 integrate .. //depot/projects/soc2006/intr_filter/i386/i386/vm86bios.s#2 integrate .. //depot/projects/soc2006/intr_filter/i386/include/apicvar.h#4 integrate .. //depot/projects/soc2006/intr_filter/i386/include/atomic.h#2 integrate .. //depot/projects/soc2006/intr_filter/i386/isa/atpic.c#3 integrate .. //depot/projects/soc2006/intr_filter/i386/isa/atpic_vector.s#3 integrate .. //depot/projects/soc2006/intr_filter/i386/isa/icu.h#2 integrate .. //depot/projects/soc2006/intr_filter/i386/linux/linux.h#4 integrate .. //depot/projects/soc2006/intr_filter/i386/linux/linux_dummy.c#6 integrate .. //depot/projects/soc2006/intr_filter/i386/linux/linux_proto.h#11 integrate .. //depot/projects/soc2006/intr_filter/i386/linux/linux_syscall.h#10 integrate .. //depot/projects/soc2006/intr_filter/i386/linux/linux_sysent.c#10 integrate .. //depot/projects/soc2006/intr_filter/i386/linux/syscalls.master#10 integrate .. //depot/projects/soc2006/intr_filter/i4b/driver/i4b_ipr.c#3 integrate .. //depot/projects/soc2006/intr_filter/ia64/ia64/machdep.c#6 integrate .. //depot/projects/soc2006/intr_filter/isa/pnpparse.c#2 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_clock.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_condvar.c#3 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_ktrace.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_mac.c#5 delete .. //depot/projects/soc2006/intr_filter/kern/kern_mutex.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_sig.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_switch.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_synch.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_thread.c#6 integrate .. //depot/projects/soc2006/intr_filter/kern/kern_umtx.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/sched_4bsd.c#8 integrate .. //depot/projects/soc2006/intr_filter/kern/sched_core.c#4 integrate .. //depot/projects/soc2006/intr_filter/kern/sched_ule.c#7 integrate .. //depot/projects/soc2006/intr_filter/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/soc2006/intr_filter/kern/sys_pipe.c#4 integrate .. //depot/projects/soc2006/intr_filter/kern/sysv_ipc.c#3 integrate .. //depot/projects/soc2006/intr_filter/kern/sysv_msg.c#6 integrate .. //depot/projects/soc2006/intr_filter/kern/tty.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/uipc_mbuf.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/uipc_socket.c#9 integrate .. //depot/projects/soc2006/intr_filter/kern/vfs_bio.c#7 integrate .. //depot/projects/soc2006/intr_filter/kern/vfs_export.c#4 integrate .. //depot/projects/soc2006/intr_filter/kern/vfs_extattr.c#1 branch .. //depot/projects/soc2006/intr_filter/kern/vfs_mount.c#5 integrate .. //depot/projects/soc2006/intr_filter/kern/vfs_syscalls.c#6 integrate .. //depot/projects/soc2006/intr_filter/modules/Makefile#10 integrate .. //depot/projects/soc2006/intr_filter/modules/acpi/Makefile#4 integrate .. //depot/projects/soc2006/intr_filter/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/soc2006/intr_filter/modules/netgraph/Makefile#3 integrate .. //depot/projects/soc2006/intr_filter/modules/netgraph/deflate/Makefile#1 branch .. //depot/projects/soc2006/intr_filter/modules/netgraph/pred1/Makefile#1 branch .. //depot/projects/soc2006/intr_filter/modules/ufs/Makefile#3 integrate .. //depot/projects/soc2006/intr_filter/net/ethernet.h#3 integrate .. //depot/projects/soc2006/intr_filter/net/if_enc.c#4 integrate .. //depot/projects/soc2006/intr_filter/net/if_ethersubr.c#7 integrate .. //depot/projects/soc2006/intr_filter/net/if_media.h#2 integrate .. //depot/projects/soc2006/intr_filter/net/if_vlan.c#9 integrate .. //depot/projects/soc2006/intr_filter/net80211/_ieee80211.h#2 integrate .. //depot/projects/soc2006/intr_filter/net80211/ieee80211.c#4 integrate .. //depot/projects/soc2006/intr_filter/net80211/ieee80211_node.c#2 integrate .. //depot/projects/soc2006/intr_filter/net80211/ieee80211_output.c#7 integrate .. //depot/projects/soc2006/intr_filter/net80211/ieee80211_proto.c#3 integrate .. //depot/projects/soc2006/intr_filter/net80211/ieee80211_var.h#4 integrate .. //depot/projects/soc2006/intr_filter/netgraph/ng_deflate.c#1 branch .. //depot/projects/soc2006/intr_filter/netgraph/ng_deflate.h#1 branch .. //depot/projects/soc2006/intr_filter/netgraph/ng_nat.c#4 integrate .. //depot/projects/soc2006/intr_filter/netgraph/ng_ppp.c#2 integrate .. //depot/projects/soc2006/intr_filter/netgraph/ng_ppp.h#2 integrate .. //depot/projects/soc2006/intr_filter/netgraph/ng_pred1.c#1 branch .. //depot/projects/soc2006/intr_filter/netgraph/ng_pred1.h#1 branch .. //depot/projects/soc2006/intr_filter/netgraph/ng_sppp.c#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/in.h#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/in_pcb.c#7 integrate .. //depot/projects/soc2006/intr_filter/netinet/ip_divert.c#5 integrate .. //depot/projects/soc2006/intr_filter/netinet/ip_fw.h#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/ip_fw2.c#10 integrate .. //depot/projects/soc2006/intr_filter/netinet/ip_fw_pfil.c#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/libalias/alias.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/libalias/alias_db.c#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/libalias/alias_local.h#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/libalias/alias_mod.c#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/libalias/alias_proxy.c#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/libalias/alias_util.c#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/raw_ip.c#5 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_asconf.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_asconf.h#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_auth.c#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_indata.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_input.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_os.h#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_output.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_pcb.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_pcb.h#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_structs.h#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_timer.c#3 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_usrreq.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctp_var.h#2 integrate .. //depot/projects/soc2006/intr_filter/netinet/sctputil.c#4 integrate .. //depot/projects/soc2006/intr_filter/netinet/tcp_subr.c#6 integrate .. //depot/projects/soc2006/intr_filter/netinet/udp_usrreq.c#5 integrate .. //depot/projects/soc2006/intr_filter/netinet6/in6.c#7 integrate .. //depot/projects/soc2006/intr_filter/netinet6/sctp6_usrreq.c#4 integrate .. //depot/projects/soc2006/intr_filter/nfsserver/nfs_srvsubs.c#4 integrate .. //depot/projects/soc2006/intr_filter/nfsserver/nfsm_subs.h#2 integrate .. //depot/projects/soc2006/intr_filter/pci/if_rl.c#5 integrate .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/mmu_oea.c#9 integrate .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/vm_machdep.c#3 integrate .. //depot/projects/soc2006/intr_filter/security/audit/audit.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/audit/audit_arg.c#5 integrate .. //depot/projects/soc2006/intr_filter/security/audit/audit_bsm_klib.c#2 integrate .. //depot/projects/soc2006/intr_filter/security/audit/audit_bsm_token.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/audit/audit_syscalls.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/audit/audit_trigger.c#2 integrate .. //depot/projects/soc2006/intr_filter/security/audit/audit_worker.c#3 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_framework.c#1 branch .. //depot/projects/soc2006/intr_filter/security/mac/mac_framework.h#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_inet.c#5 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_internal.h#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_label.c#3 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_net.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_pipe.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_policy.h#1 branch .. //depot/projects/soc2006/intr_filter/security/mac/mac_posix_sem.c#5 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_priv.c#2 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_process.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_socket.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_syscalls.c#1 branch .. //depot/projects/soc2006/intr_filter/security/mac/mac_system.c#3 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_sysv_msg.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_sysv_sem.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_sysv_shm.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac/mac_vfs.c#5 integrate .. //depot/projects/soc2006/intr_filter/security/mac_biba/mac_biba.c#7 integrate .. //depot/projects/soc2006/intr_filter/security/mac_bsdextended/mac_bsdextended.c#3 integrate .. //depot/projects/soc2006/intr_filter/security/mac_ifoff/mac_ifoff.c#2 integrate .. //depot/projects/soc2006/intr_filter/security/mac_lomac/mac_lomac.c#5 integrate .. //depot/projects/soc2006/intr_filter/security/mac_mls/mac_mls.c#5 integrate .. //depot/projects/soc2006/intr_filter/security/mac_none/mac_none.c#2 integrate .. //depot/projects/soc2006/intr_filter/security/mac_partition/mac_partition.c#3 integrate .. //depot/projects/soc2006/intr_filter/security/mac_portacl/mac_portacl.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac_seeotheruids/mac_seeotheruids.c#3 integrate .. //depot/projects/soc2006/intr_filter/security/mac_stub/mac_stub.c#4 integrate .. //depot/projects/soc2006/intr_filter/security/mac_test/mac_test.c#3 integrate .. //depot/projects/soc2006/intr_filter/sparc64/include/param.h#2 integrate .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/genassym.c#5 integrate .. //depot/projects/soc2006/intr_filter/sun4v/include/cddl/mdesc.h#2 integrate .. //depot/projects/soc2006/intr_filter/sun4v/include/pcpu.h#4 integrate .. //depot/projects/soc2006/intr_filter/sun4v/include/smp.h#3 integrate .. //depot/projects/soc2006/intr_filter/sun4v/include/trap.h#3 integrate .. //depot/projects/soc2006/intr_filter/sun4v/mdesc/mdesc_init.c#4 integrate .. //depot/projects/soc2006/intr_filter/sun4v/mdesc/mdesc_vdevfindnode.c#1 branch .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/exception.S#4 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/interrupt.S#3 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/mp_machdep.c#4 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/pmap.c#5 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/tick.c#2 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/trap.c#5 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/tsb.c#4 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/tte.c#3 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/tte_hash.c#3 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/vm_machdep.c#3 integrate .. //depot/projects/soc2006/intr_filter/sun4v/sun4v/wbuf.S#3 integrate .. //depot/projects/soc2006/intr_filter/sys/copyright.h#3 integrate .. //depot/projects/soc2006/intr_filter/sys/lock_profile.h#2 integrate .. //depot/projects/soc2006/intr_filter/sys/mac_policy.h#6 delete .. //depot/projects/soc2006/intr_filter/sys/mount.h#4 integrate .. //depot/projects/soc2006/intr_filter/sys/mouse.h#2 integrate .. //depot/projects/soc2006/intr_filter/sys/mutex.h#4 integrate .. //depot/projects/soc2006/intr_filter/sys/pcpu.h#4 integrate .. //depot/projects/soc2006/intr_filter/sys/proc.h#6 integrate .. //depot/projects/soc2006/intr_filter/sys/runq.h#3 integrate .. //depot/projects/soc2006/intr_filter/sys/sleepqueue.h#3 integrate .. //depot/projects/soc2006/intr_filter/sys/syscallsubr.h#6 integrate .. //depot/projects/soc2006/intr_filter/sys/sysent.h#4 integrate .. //depot/projects/soc2006/intr_filter/sys/systm.h#6 integrate .. //depot/projects/soc2006/intr_filter/sys/umtx.h#6 integrate .. //depot/projects/soc2006/intr_filter/sys/watchdog.h#2 integrate .. //depot/projects/soc2006/intr_filter/vm/vm_object.c#5 integrate Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/amd64/apic_vector.S#2 (text+ko) ==== @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * from: vector.s, 386BSD 0.1 unknown origin - * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.109 2006/05/01 21:36:46 jhb Exp $ + * $FreeBSD: src/sys/amd64/amd64/apic_vector.S,v 1.110 2006/12/17 06:48:39 kmacy Exp $ */ /* @@ -60,6 +60,7 @@ jz 2f ; \ addl $(32 * index),%eax ; \ 1: ; \ + movq %rsp, %rsi ; \ movl %eax, %edi ; /* pass the IRQ */ \ call lapic_handle_intr ; \ MEXITCOUNT ; \ @@ -98,7 +99,7 @@ IDTVEC(timerint) PUSH_FRAME FAKE_MCOUNT(TF_RIP(%rsp)) - + movq %rsp, %rdi call lapic_handle_timer MEXITCOUNT jmp doreti ==== //depot/projects/soc2006/intr_filter/amd64/amd64/cpu_switch.S#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.154 2005/10/17 23:10:31 davidxu Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.155 2006/12/20 04:40:38 davidxu Exp $ */ #include @@ -206,6 +206,11 @@ movq %rbx, (%rax) movq %rbx, PCPU(RSP0) + movl TD_TID(%rsi), %eax + movq %r8, PCPU(CURPCB) + movl %eax, PCPU(CURTID) + movq %rsi, PCPU(CURTHREAD) /* into next thread */ + /* Restore context. */ movq PCB_RBX(%r8),%rbx movq PCB_RSP(%r8),%rsp @@ -217,9 +222,6 @@ movq PCB_RIP(%r8),%rax movq %rax,(%rsp) - movq %r8, PCPU(CURPCB) - movq %rsi, PCPU(CURTHREAD) /* into next thread */ - /* Test if debug registers should be restored. */ testl $PCB_DBREGS,PCB_FLAGS(%r8) jz 1f ==== //depot/projects/soc2006/intr_filter/amd64/amd64/exception.S#2 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.127 2005/08/27 16:03:40 jkoshy Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.129 2006/12/23 03:30:50 davidxu Exp $ */ #include "opt_atpic.h" @@ -165,6 +165,7 @@ .globl calltrap .type calltrap,@function calltrap: + movq %rsp, %rdi call trap MEXITCOUNT jmp doreti /* Handle any pending ASTs */ @@ -267,6 +268,7 @@ movq %r14,TF_R14(%rsp) /* C preserved */ movq %r15,TF_R15(%rsp) /* C preserved */ FAKE_MCOUNT(TF_RIP(%rsp)) + movq %rsp, %rdi call syscall movq PCPU(CURPCB),%rax testq $PCB_FULLCTX,PCB_FLAGS(%rax) @@ -363,6 +365,7 @@ /* Note: this label is also used by ddb and gdb: */ nmi_calltrap: FAKE_MCOUNT(TF_RIP(%rsp)) + movq %rsp, %rdi call trap MEXITCOUNT testl %ebx,%ebx ==== //depot/projects/soc2006/intr_filter/amd64/amd64/genassym.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.159 2006/11/30 04:17:04 jb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.160 2006/12/20 04:40:38 davidxu Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -79,6 +79,7 @@ ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); +ASSYM(TD_TID, offsetof(struct thread, td_tid)); ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); @@ -190,6 +191,7 @@ ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); ASSYM(PC_TSSP, offsetof(struct pcpu, pc_tssp)); ASSYM(PC_RSP0, offsetof(struct pcpu, pc_rsp0)); +ASSYM(PC_CURTID, offsetof(struct pcpu, pc_curtid)); ASSYM(LA_VER, offsetof(struct LAPIC, version)); ASSYM(LA_TPR, offsetof(struct LAPIC, tpr)); ==== //depot/projects/soc2006/intr_filter/amd64/amd64/local_apic.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.33 2006/11/13 22:23:32 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.34 2006/12/17 06:48:39 kmacy Exp $"); #include "opt_hwpmc_hooks.h" @@ -610,18 +610,18 @@ } void -lapic_handle_intr(int vector, struct trapframe frame) +lapic_handle_intr(int vector, struct trapframe *frame) { struct intsrc *isrc; if (vector == -1) panic("Couldn't get vector from ISR!"); isrc = intr_lookup_source(apic_idt_to_irq(vector)); - intr_execute_handlers(isrc, &frame); + intr_execute_handlers(isrc, frame); } void -lapic_handle_timer(struct trapframe frame) +lapic_handle_timer(struct trapframe *frame) { struct lapic *la; @@ -654,16 +654,16 @@ if (la->la_hard_ticks >= lapic_timer_hz) { la->la_hard_ticks -= lapic_timer_hz; if (PCPU_GET(cpuid) == 0) - hardclock(TRAPF_USERMODE(&frame), TRAPF_PC(&frame)); + hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); else - hardclock_cpu(TRAPF_USERMODE(&frame)); + hardclock_cpu(TRAPF_USERMODE(frame)); } /* Fire statclock at stathz. */ la->la_stat_ticks += stathz; if (la->la_stat_ticks >= lapic_timer_hz) { la->la_stat_ticks -= lapic_timer_hz; - statclock(TRAPF_USERMODE(&frame)); + statclock(TRAPF_USERMODE(frame)); } /* Fire profclock at profhz, but only when needed. */ @@ -671,7 +671,7 @@ if (la->la_prof_ticks >= lapic_timer_hz) { la->la_prof_ticks -= lapic_timer_hz; if (profprocs != 0) - profclock(TRAPF_USERMODE(&frame), TRAPF_PC(&frame)); + profclock(TRAPF_USERMODE(frame), TRAPF_PC(frame)); } critical_exit(); } ==== //depot/projects/soc2006/intr_filter/amd64/amd64/machdep.c#8 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.666 2006/12/06 18:27:17 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.667 2006/12/20 04:40:38 davidxu Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1164,6 +1164,7 @@ PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); + PCPU_SET(curtid, thread0.td_tid); PCPU_SET(tssp, &common_tss[0]); /* ==== //depot/projects/soc2006/intr_filter/amd64/amd64/trap.c#7 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.312 2006/11/28 20:04:00 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.313 2006/12/17 06:48:39 kmacy Exp $"); /* * AMD64 Trap and System call handling @@ -94,8 +94,8 @@ #endif #include -extern void trap(struct trapframe frame); -extern void syscall(struct trapframe frame); +extern void trap(struct trapframe *frame); +extern void syscall(struct trapframe *frame); static int trap_pfault(struct trapframe *, int); static void trap_fatal(struct trapframe *, vm_offset_t); @@ -155,8 +155,7 @@ */ void -trap(frame) - struct trapframe frame; +trap(struct trapframe *frame) { struct thread *td = curthread; struct proc *p = td->td_proc; @@ -165,7 +164,7 @@ ksiginfo_t ksi; PCPU_LAZY_INC(cnt.v_trap); - type = frame.tf_trapno; + type = frame->tf_trapno; #ifdef SMP #ifdef STOP_NMI @@ -192,12 +191,12 @@ * the NMI was handled by it and we can return immediately. */ if (type == T_NMI && pmc_intr && - (*pmc_intr)(PCPU_GET(cpuid), (uintptr_t) frame.tf_rip, - TRAPF_USERMODE(&frame))) + (*pmc_intr)(PCPU_GET(cpuid), (uintptr_t) frame->tf_rip, + TRAPF_USERMODE(frame))) goto out; #endif - if ((frame.tf_rflags & PSL_I) == 0) { + if ((frame->tf_rflags & PSL_I) == 0) { /* * Buggy application or kernel code has disabled * interrupts and then trapped. Enabling interrupts @@ -205,7 +204,7 @@ * interrupts disabled until they are accidentally * enabled later. */ - if (ISPL(frame.tf_cs) == SEL_UPL) + if (ISPL(frame->tf_cs) == SEL_UPL) printf( "pid %ld (%s): trap %d with interrupts disabled\n", (long)curproc->p_pid, curproc->p_comm, type); @@ -226,7 +225,7 @@ } } - code = frame.tf_err; + code = frame->tf_err; if (type == T_PAGEFLT) { /* * If we get a page fault while in a critical section, then @@ -245,15 +244,15 @@ if (td->td_critnest != 0 || WITNESS_CHECK(WARN_SLEEPOK | WARN_GIANTOK, NULL, "Kernel page fault") != 0) - trap_fatal(&frame, frame.tf_addr); + trap_fatal(frame, frame->tf_addr); } - if (ISPL(frame.tf_cs) == SEL_UPL) { + if (ISPL(frame->tf_cs) == SEL_UPL) { /* user trap */ td->td_pticks = 0; - td->td_frame = &frame; - addr = frame.tf_rip; + td->td_frame = frame; + addr = frame->tf_rip; if (td->td_ucred != p->p_ucred) cred_update_thread(td); @@ -266,7 +265,7 @@ case T_BPTFLT: /* bpt instruction fault */ case T_TRCTRAP: /* trace trap */ enable_intr(); - frame.tf_rflags &= ~PSL_T; + frame->tf_rflags &= ~PSL_T; i = SIGTRAP; ucode = (type == T_TRCTRAP ? TRAP_TRACE : TRAP_BRKPT); break; @@ -298,12 +297,12 @@ break; case T_PAGEFLT: /* page fault */ - addr = frame.tf_addr; + addr = frame->tf_addr; #ifdef KSE if (td->td_pflags & TDP_SA) thread_user_enter(td); #endif - i = trap_pfault(&frame, TRUE); + i = trap_pfault(frame, TRUE); if (i == -1) goto userout; if (i == 0) @@ -334,7 +333,7 @@ */ if (kdb_on_nmi) { printf ("NMI ... going to debugger\n"); - kdb_trap(type, 0, &frame); + kdb_trap(type, 0, frame); } #endif /* KDB */ goto userout; @@ -380,7 +379,7 @@ ("kernel trap doesn't have ucred")); switch (type) { case T_PAGEFLT: /* page fault */ - (void) trap_pfault(&frame, FALSE); + (void) trap_pfault(frame, FALSE); goto out; case T_DNA: @@ -413,12 +412,12 @@ * selectors and pointers when the user changes * them. */ - if (frame.tf_rip == (long)doreti_iret) { - frame.tf_rip = (long)doreti_iret_fault; + if (frame->tf_rip == (long)doreti_iret) { + frame->tf_rip = (long)doreti_iret_fault; goto out; } if (PCPU_GET(curpcb)->pcb_onfault != NULL) { - frame.tf_rip = + frame->tf_rip = (long)PCPU_GET(curpcb)->pcb_onfault; goto out; } @@ -434,8 +433,8 @@ * problem here and not every time the kernel is * entered. */ - if (frame.tf_rflags & PSL_NT) { - frame.tf_rflags &= ~PSL_NT; + if (frame->tf_rflags & PSL_NT) { + frame->tf_rflags &= ~PSL_NT; goto out; } break; @@ -470,7 +469,7 @@ */ #ifdef KDB /* XXX Giant */ - if (kdb_trap(type, 0, &frame)) + if (kdb_trap(type, 0, frame)) goto out; #endif break; @@ -487,7 +486,7 @@ */ if (kdb_on_nmi) { printf ("NMI ... going to debugger\n"); - kdb_trap(type, 0, &frame); + kdb_trap(type, 0, frame); } #endif /* KDB */ goto out; @@ -497,7 +496,7 @@ #endif /* DEV_ISA */ } - trap_fatal(&frame, 0); + trap_fatal(frame, 0); goto out; } @@ -517,13 +516,13 @@ uprintf("fatal process exception: %s", trap_msg[type]); if ((type == T_PAGEFLT) || (type == T_PROTFLT)) - uprintf(", fault VA = 0x%lx", frame.tf_addr); + uprintf(", fault VA = 0x%lx", frame->tf_addr); uprintf("\n"); } #endif user: - userret(td, &frame); + userret(td, frame); mtx_assert(&Giant, MA_NOTOWNED); userout: out: @@ -723,8 +722,7 @@ * A system call is essentially treated as a trap. */ void -syscall(frame) - struct trapframe frame; +syscall(struct trapframe *frame) { caddr_t params; struct sysent *callp; @@ -746,7 +744,7 @@ PCPU_LAZY_INC(cnt.v_syscall); #ifdef DIAGNOSTIC - if (ISPL(frame.tf_cs) != SEL_UPL) { + if (ISPL(frame->tf_cs) != SEL_UPL) { mtx_lock(&Giant); /* try to stabilize the system XXX */ panic("syscall"); /* NOT REACHED */ @@ -757,25 +755,25 @@ reg = 0; regcnt = 6; td->td_pticks = 0; - td->td_frame = &frame; + td->td_frame = frame; if (td->td_ucred != p->p_ucred) cred_update_thread(td); #ifdef KSE if (p->p_flag & P_SA) thread_user_enter(td); #endif - params = (caddr_t)frame.tf_rsp + sizeof(register_t); - code = frame.tf_rax; - orig_tf_rflags = frame.tf_rflags; + params = (caddr_t)frame->tf_rsp + sizeof(register_t); + code = frame->tf_rax; + orig_tf_rflags = frame->tf_rflags; if (p->p_sysent->sv_prepsyscall) { /* * The prep code is MP aware. */ - (*p->p_sysent->sv_prepsyscall)(&frame, (int *)args, &code, ¶ms); + (*p->p_sysent->sv_prepsyscall)(frame, (int *)args, &code, ¶ms); } else { if (code == SYS_syscall || code == SYS___syscall) { - code = frame.tf_rdi; + code = frame->tf_rdi; reg++; regcnt--; } @@ -797,7 +795,7 @@ KASSERT(narg <= sizeof(args) / sizeof(args[0]), ("Too many syscall arguments!")); error = 0; - argp = &frame.tf_rdi; + argp = &frame->tf_rdi; argp += reg; bcopy(argp, args, sizeof(args[0]) * regcnt); if (narg > regcnt) { @@ -817,7 +815,7 @@ if (error == 0) { td->td_retval[0] = 0; - td->td_retval[1] = frame.tf_rdx; + td->td_retval[1] = frame->tf_rdx; STOPEVENT(p, S_SCE, narg); @@ -830,9 +828,9 @@ switch (error) { case 0: - frame.tf_rax = td->td_retval[0]; - frame.tf_rdx = td->td_retval[1]; - frame.tf_rflags &= ~PSL_C; + frame->tf_rax = td->td_retval[0]; + frame->tf_rdx = td->td_retval[1]; + frame->tf_rflags &= ~PSL_C; break; case ERESTART: @@ -842,8 +840,8 @@ * (which was holding the value of %rcx) is restored for * the next iteration. */ - frame.tf_rip -= frame.tf_err; - frame.tf_r10 = frame.tf_rcx; + frame->tf_rip -= frame->tf_err; + frame->tf_r10 = frame->tf_rcx; td->td_pcb->pcb_flags |= PCB_FULLCTX; break; @@ -857,8 +855,8 @@ else error = p->p_sysent->sv_errtbl[error]; } - frame.tf_rax = error; - frame.tf_rflags |= PSL_C; + frame->tf_rax = error; + frame->tf_rflags |= PSL_C; break; } @@ -866,11 +864,11 @@ * Traced syscall. */ if (orig_tf_rflags & PSL_T) { - frame.tf_rflags &= ~PSL_T; + frame->tf_rflags &= ~PSL_T; ksiginfo_init_trap(&ksi); ksi.ksi_signo = SIGTRAP; ksi.ksi_code = TRAP_TRACE; - ksi.ksi_addr = (void *)frame.tf_rip; + ksi.ksi_addr = (void *)frame->tf_rip; trapsignal(td, &ksi); } @@ -890,7 +888,7 @@ /* * Handle reschedule and other end-of-syscall issues */ - userret(td, &frame); + userret(td, frame); CTR4(KTR_SYSC, "syscall exit thread %p pid %d proc %s code %d", td, td->td_proc->p_pid, td->td_proc->p_comm, code); ==== //depot/projects/soc2006/intr_filter/amd64/ia32/ia32_exception.S#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/ia32/ia32_exception.S,v 1.4 2004/05/24 11:28:11 bde Exp $ + * $FreeBSD: src/sys/amd64/ia32/ia32_exception.S,v 1.5 2006/12/17 06:48:39 kmacy Exp $ */ #include @@ -61,6 +61,7 @@ movq %r14,TF_R14(%rsp) movq %r15,TF_R15(%rsp) FAKE_MCOUNT(TF_RIP(%rsp)) + movq %rsp, %rdi call ia32_syscall MEXITCOUNT jmp doreti ==== //depot/projects/soc2006/intr_filter/amd64/ia32/ia32_syscall.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.16 2006/07/28 20:22:57 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.17 2006/12/17 06:48:39 kmacy Exp $"); /* * 386 Trap and System call handling @@ -86,10 +86,10 @@ extern inthand_t IDTVEC(int0x80_syscall), IDTVEC(rsvd); extern const char *freebsd32_syscallnames[]; -void ia32_syscall(struct trapframe frame); /* Called from asm code */ +void ia32_syscall(struct trapframe *frame); /* Called from asm code */ void -ia32_syscall(struct trapframe frame) +ia32_syscall(struct trapframe *frame) { caddr_t params; int i; @@ -111,18 +111,18 @@ PCPU_LAZY_INC(cnt.v_syscall); td->td_pticks = 0; - td->td_frame = &frame; + td->td_frame = frame; if (td->td_ucred != p->p_ucred) cred_update_thread(td); - params = (caddr_t)frame.tf_rsp + sizeof(u_int32_t); - code = frame.tf_rax; - orig_tf_rflags = frame.tf_rflags; + params = (caddr_t)frame->tf_rsp + sizeof(u_int32_t); + code = frame->tf_rax; + orig_tf_rflags = frame->tf_rflags; if (p->p_sysent->sv_prepsyscall) { /* * The prep code is MP aware. */ - (*p->p_sysent->sv_prepsyscall)(&frame, args, &code, ¶ms); + (*p->p_sysent->sv_prepsyscall)(frame, args, &code, ¶ms); } else { /* * Need to check if this is a 32 bit or 64 bit syscall. @@ -177,7 +177,7 @@ if (error == 0) { td->td_retval[0] = 0; - td->td_retval[1] = frame.tf_rdx; + td->td_retval[1] = frame->tf_rdx; STOPEVENT(p, S_SCE, narg); @@ -190,9 +190,9 @@ switch (error) { case 0: - frame.tf_rax = td->td_retval[0]; - frame.tf_rdx = td->td_retval[1]; - frame.tf_rflags &= ~PSL_C; + frame->tf_rax = td->td_retval[0]; + frame->tf_rdx = td->td_retval[1]; + frame->tf_rflags &= ~PSL_C; break; case ERESTART: @@ -200,7 +200,7 @@ * Reconstruct pc, assuming lcall $X,y is 7 bytes, * int 0x80 is 2 bytes. We saved this in tf_err. */ - frame.tf_rip -= frame.tf_err; + frame->tf_rip -= frame->tf_err; break; case EJUSTRETURN: @@ -213,8 +213,8 @@ else error = p->p_sysent->sv_errtbl[error]; } - frame.tf_rax = error; - frame.tf_rflags |= PSL_C; + frame->tf_rax = error; + frame->tf_rflags |= PSL_C; break; } @@ -222,11 +222,11 @@ * Traced syscall. */ if (orig_tf_rflags & PSL_T) { - frame.tf_rflags &= ~PSL_T; + frame->tf_rflags &= ~PSL_T; ksiginfo_init_trap(&ksi); ksi.ksi_signo = SIGTRAP; ksi.ksi_code = TRAP_TRACE; - ksi.ksi_addr = (void *)frame.tf_rip; + ksi.ksi_addr = (void *)frame->tf_rip; trapsignal(td, &ksi); } @@ -246,7 +246,7 @@ /* * Handle reschedule and other end-of-syscall issues */ - userret(td, &frame); + userret(td, frame); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Jan 4 14:34:17 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 C8BF916A416; Thu, 4 Jan 2007 14:34:16 +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 A317716A407 for ; Thu, 4 Jan 2007 14:34:16 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8602313C459 for ; Thu, 4 Jan 2007 14:34:16 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04EYGDO018191 for ; Thu, 4 Jan 2007 14:34:16 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04EYG6M018182 for perforce@freebsd.org; Thu, 4 Jan 2007 14:34:16 GMT (envelope-from piso@freebsd.org) Date: Thu, 4 Jan 2007 14:34:16 GMT Message-Id: <200701041434.l04EYG6M018182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112480 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, 04 Jan 2007 14:34:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=112480 Change 112480 by piso@piso_newluxor on 2007/01/04 14:33:55 Throw away the old stuff and start from Marcel's latest version. Affected files ... .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#15 edit Differences ... ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#15 (text+ko) ==== @@ -66,13 +66,7 @@ #include #include #include ->>>> ORIGINAL intr_machdep.c#8 -==== THEIRS intr_machdep.c#9 #include -==== YOURS intr_machdep.c -#include -#include -<<<< #include #include #include @@ -89,65 +83,20 @@ MALLOC_DEFINE(M_INTR, "intr", "interrupt handler data"); ->>>> ORIGINAL intr_machdep.c#8 -static int intr_initialized = 0; - -==== THEIRS intr_machdep.c#9 struct ppc_intr { struct intr_event *event; long *cntp; int cntidx; }; -==== YOURS intr_machdep.c -<<<< ->>>> ORIGINAL intr_machdep.c#8 -static u_int intr_nirq; -static struct ppc_intr_handler *intr_handlers; -==== THEIRS intr_machdep.c#9 static struct mtx ppc_intrs_lock; static struct ppc_intr **ppc_intrs; static u_int ppc_nintrs; -==== YOURS intr_machdep.c -static u_int intr_nirq; -static struct ppc_intr_handler *intr_handlers = NULL; -<<<< static int intrcnt_index; -extern struct callout stray_callout_handle; - -void intr_callout_reset(void); - ->>>> ORIGINAL intr_machdep.c#8 -extern int extint, extsize; -extern u_long extint_call; - -static int intrcnt_index; -static ih_func_t intr_stray_handler; -static ih_func_t sched_ithd; - -static void (*irq_enable)(uintptr_t); -static void (*irq_disable)(uintptr_t); - -static void intrcnt_setname(const char *name, int index); -static void intrcnt_updatename(struct ppc_intr_handler *ih); -==== THEIRS intr_machdep.c#9 static void (*irq_enable)(uintptr_t); -==== YOURS intr_machdep.c -extern int extint, extsize; -extern u_long extint_call; - -static int intrcnt_index; -static ih_func_t intr_stray_handler; -static void (*irq_enable)(uintptr_t); -static void (*irq_disable)(uintptr_t); - -static void intrcnt_setname(const char *name, int index); -static void intrcnt_updatename(struct ppc_intr_handler *ih); -<<<< - static void intrcnt_setname(const char *name, int index) { @@ -161,51 +110,18 @@ { uint32_t msr; ->>>> ORIGINAL intr_machdep.c#8 - if (intr_initialized != 0) - panic("intr_init: interrupts intialized twice\n"); -==== THEIRS intr_machdep.c#9 if (ppc_intrs != NULL) panic("intr_init: interrupts initialized twice\n"); -==== YOURS intr_machdep.c - if (intr_handlers != NULL) - panic("intr_init: interrupts intialized twice\n"); -<<<< - ->>>> ORIGINAL intr_machdep.c#8 - intr_initialized++; - intr_nirq = nirq; - intr_handlers = malloc(nirq * sizeof(struct ppc_intr_handler), M_INTR, -==== THEIRS intr_machdep.c#9 ppc_nintrs = nirq; ppc_intrs = malloc(nirq * sizeof(struct ppc_intr *), M_INTR, -==== YOURS intr_machdep.c - intr_nirq = nirq; - intr_handlers = malloc(nirq * sizeof(struct ppc_intr_handler), M_INTR, -<<<< M_NOWAIT|M_ZERO); if (ppc_intrs == NULL) panic("intr_init: unable to allocate interrupt handler array"); ->>>> ORIGINAL intr_machdep.c#8 - for (i = 0; i < nirq; i++) { - intr_handlers[i].ih_func = intr_stray_handler; - intr_handlers[i].ih_arg = &intr_handlers[i]; - intr_handlers[i].ih_irq = i; - intr_handlers[i].ih_flags = 0; - /* mux all initial stray irqs onto same count... */ - intr_handlers[i].ih_straycount = &intrcnt[0]; - } -==== THEIRS intr_machdep.c#9 mtx_init(&ppc_intrs_lock, "intr table", NULL, MTX_SPIN); irq_enable = irq_e; -==== YOURS intr_machdep.c - /* mux all initial stray irqs onto same count... */ - for (i = 0; i < nirq; i++) - intr_handlers[i].ih_straycount = &intrcnt[0]; -<<<< intrcnt_setname("???", 0); intrcnt_index = 1; @@ -213,66 +129,16 @@ msr = mfmsr(); mtmsr(msr & ~PSL_EE); ext_intr_install(handler); ->>>> ORIGINAL intr_machdep.c#8 - - mtmsr(msr); - - irq_enable = irq_e; - irq_disable = irq_d; - - mtx_init(&intr_table_lock, "intr table", NULL, MTX_SPIN); -} - -void -intr_setup(u_int irq, ih_func_t *ihf, void *iha, u_int flags) -{ - u_int32_t msr; - - msr = mfmsr(); - mtmsr(msr & ~PSL_EE); - - intr_handlers[irq].ih_func = ihf; - intr_handlers[irq].ih_arg = iha; - intr_handlers[irq].ih_irq = irq; - intr_handlers[irq].ih_flags = flags; - - mtmsr(msr); -} - -==== THEIRS intr_machdep.c#9 - mtmsr(msr); -} - -==== YOURS intr_machdep.c - mtmsr(msr); - - irq_enable = irq_e; - irq_disable = irq_d; - - mtx_init(&intr_table_lock, "intr table", NULL, MTX_SPIN); - callout_init_mtx(&stray_callout_handle, &intr_table_lock, 0); } -<<<< int -inthand_add(const char *name, u_int irq, int (*filter)(void *), - void (*handler)(void *), void *arg, int flags, void **cookiep) +inthand_add(const char *name, u_int irq, void (*handler)(void *), void *arg, + int flags, void **cookiep) { ->>>> ORIGINAL intr_machdep.c#8 - struct ppc_intr_handler *ih; - struct intr_event *event, *orphan; - int error = 0; - int created_event = 0; -==== THEIRS intr_machdep.c#9 struct ppc_intr *i, *orphan; u_int idx; int error; -==== YOURS intr_machdep.c - struct ppc_intr_handler *ih; - struct intr_event *event, *orphan; - int error = 0; -<<<< /* * Work around a race where more than one CPU may be registering @@ -287,7 +153,7 @@ if (i == NULL) return (ENOMEM); error = intr_event_create(&i->event, (void *)irq, 0, - (void (*)(void *))irq_enable, NULL, "irq%d:", irq); + (void (*)(void *))irq_enable, "irq%d:", irq); if (error) { free(i, M_INTR); return (error); @@ -299,19 +165,8 @@ i = ppc_intrs[irq]; mtx_unlock_spin(&ppc_intrs_lock); ->>>> ORIGINAL intr_machdep.c#8 - if (ih->ih_event == NULL) { - ih->ih_event = event; - created_event++; - mtx_unlock_spin(&intr_table_lock); -==== THEIRS intr_machdep.c#9 intr_event_destroy(orphan->event); free(orphan, M_INTR); -==== YOURS intr_machdep.c - if (ih->ih_event == NULL) { - ih->ih_event = event; - mtx_unlock_spin(&intr_table_lock); -<<<< } else { ppc_intrs[irq] = i; idx = intrcnt_index++; @@ -323,44 +178,11 @@ } } ->>>> ORIGINAL intr_machdep.c#8 - /* XXX: Should probably fix support for multiple FAST. */ - if (flags & INTR_FAST) - flags |= INTR_EXCL; - error = intr_event_add_handler(event, name, handler, arg, -==== THEIRS intr_machdep.c#9 error = intr_event_add_handler(i->event, name, handler, arg, -==== YOURS intr_machdep.c - error = intr_event_add_handler(event, name, filter, handler, arg, -<<<< intr_priority(flags), flags, cookiep); ->>>> ORIGINAL intr_machdep.c#8 - - if ((flags & INTR_FAST) == 0 || error) - intr_setup(irq, sched_ithd, ih, flags); - - if (error) - return (error); - - if (flags & INTR_FAST) - intr_setup(irq, handler, arg, flags); - - intrcnt_register(ih); - - return (0); -==== THEIRS intr_machdep.c#9 if (!error) intrcnt_setname(i->event->ie_fullname, i->cntidx); return (error); -==== YOURS intr_machdep.c - - if (error) - return (error); - - intrcnt_register(ih); - - return (0); -<<<< } int @@ -369,126 +191,24 @@ return (intr_event_remove_handler(cookie)); } ->>>> ORIGINAL intr_machdep.c#8 - - if (error == 0) { - ih = &intr_handlers[irq]; - - mtx_lock_spin(&intr_table_lock); - - if (ih->ih_event == NULL) { - intr_setup(irq, intr_stray_handler, ih, 0); - } else { - intr_setup(irq, sched_ithd, ih, 0); - } - - mtx_unlock_spin(&intr_table_lock); - } - - return (error); -} -==== THEIRS intr_machdep.c#9 -==== YOURS intr_machdep.c - -/* Stray detection MD code */ -static struct intr_event * -walk_intr_ppc(void) -{ - struct ppc_intr_handler *ppc; - static int i = 0; - - for (; i < intr_nirq; ) { - int j = i++; - ppc = &intr_handlers[j]; - if (ppc != NULL && ppc->ih_event != NULL) - return (ppc->ih_event); - } - i = 0; - return (NULL); -} void -intr_callout_reset(void) -{ - - mtx_lock_spin(&intr_table_lock); - callout_reset(&stray_callout_handle, hz, - &stray_detection, &walk_intr_ppc); - mtx_unlock_spin(&intr_table_lock); -} -<<<< - -void intr_handle(u_int irq) { ->>>> ORIGINAL intr_machdep.c#8 - atomic_add_long(intr_handlers[irq].ih_count, 1); - intr_handlers[irq].ih_func(intr_handlers[irq].ih_arg); -==== THEIRS intr_machdep.c#9 struct ppc_intr *i; struct intr_event *ie; struct intr_handler *ih; int error, sched; -==== YOURS intr_machdep.c - struct ppc_intr_handler *ppc_ih = &intr_handlers[irq]; - struct intr_event *ie = ppc_ih->ih_event; - int res; -<<<< ->>>> ORIGINAL intr_machdep.c#8 - /* XXX wrong thing when using pre-emption ? */ - if ((intr_handlers[irq].ih_flags & INTR_FAST) != 0) - irq_enable(irq); -} -==== THEIRS intr_machdep.c#9 i = ppc_intrs[irq]; if (i == NULL) goto stray; -==== YOURS intr_machdep.c - res = mi_handle_intr(ie, NULL, intr_eoi_src_stub, - intr_disab_eoi_src_stub, NULL); - switch (res) { - case 0: - /* FALLTHROUGH */ - case ECHILD: - atomic_add_long(ppc_ih->ih_count, 1); - break; - case EFAULT: - atomic_add_long(ppc_ih->ih_count, 1); - /* FALLTHROUGH */ - case EINVAL: - intr_stray_handler(ppc_ih); - break; - default: - printf("Ouch! Return code from mi_handle_intr()" - "not expected.\n"); - } -} -<<<< ->>>> ORIGINAL intr_machdep.c#8 -static void -intr_stray_handler(void *cookie) -{ - struct ppc_intr_handler *ih; -==== THEIRS intr_machdep.c#9 atomic_add_long(i->cntp, 1); -==== YOURS intr_machdep.c -static void -intr_stray_handler(void *cookie) -{ - struct ppc_intr_handler *ih = cookie; -<<<< ->>>> ORIGINAL intr_machdep.c#8 - ih = (struct ppc_intr_handler *)cookie; - -==== THEIRS intr_machdep.c#9 ie = i->event; KASSERT(ie != NULL, ("%s: interrupt without an event", __func__)); -==== YOURS intr_machdep.c -<<<< if (TAILQ_EMPTY(&ie->ie_handlers)) goto stray; @@ -509,21 +229,6 @@ } critical_exit(); ->>>> ORIGINAL intr_machdep.c#8 -static void -sched_ithd(void *cookie) -{ - struct ppc_intr_handler *ih; - int error; - - ih = (struct ppc_intr_handler *)cookie; - - error = intr_event_schedule_thread(ih->ih_event); - - if (error == EINVAL) - intr_stray_handler(ih); -} -==== THEIRS intr_machdep.c#9 if (sched) { error = intr_event_schedule_thread(ie); KASSERT(error == 0, ("%s: impossible stray interrupt", @@ -542,5 +247,3 @@ } } } -==== YOURS intr_machdep.c -<<<< From owner-p4-projects@FreeBSD.ORG Thu Jan 4 19:41: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 6B85416A412; Thu, 4 Jan 2007 19:41:49 +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 2BAF216A407 for ; Thu, 4 Jan 2007 19:41:49 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1E1C513C45A for ; Thu, 4 Jan 2007 19:41:49 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04Jfndi002569 for ; Thu, 4 Jan 2007 19:41:49 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04Jfmm6002566 for perforce@freebsd.org; Thu, 4 Jan 2007 19:41:48 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 4 Jan 2007 19:41:48 GMT Message-Id: <200701041941.l04Jfmm6002566@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112488 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, 04 Jan 2007 19:41:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=112488 Change 112488 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/04 19:41:18 fix LOR by not acquiring the sc lock before wi_stop acquire the sc lock in wi_stop after calling ieee80211_newstate Affected files ... .. //depot/projects/wifi/sys/dev/wi/if_wi.c#27 edit Differences ... ==== //depot/projects/wifi/sys/dev/wi/if_wi.c#27 (text+ko) ==== @@ -672,15 +672,15 @@ int i; int error = 0, wasenabled; - WI_LOCK(sc); + - if (sc->wi_gone) { - WI_UNLOCK(sc); + if (sc->wi_gone) return; - } if ((wasenabled = sc->sc_enabled)) wi_stop(ifp, 1); + + WI_LOCK(sc); wi_reset(ifp); /* common 802.11 configuration */ @@ -874,11 +874,10 @@ struct wi_softc *sc = ifp->if_softc; struct ieee80211com *ic = &sc->sc_ic; - WI_LOCK(sc); + ieee80211_new_state(ic, IEEE80211_S_INIT, -1); DELAY(100000); - - ieee80211_new_state(ic, IEEE80211_S_INIT, -1); + WI_LOCK(sc); if (sc->sc_enabled && !sc->wi_gone) { CSR_WRITE_2(sc, WI_INT_EN, 0); wi_cmd(sc, WI_CMD_DISABLE | sc->sc_portnum, 0, 0, 0); From owner-p4-projects@FreeBSD.ORG Thu Jan 4 20:06:20 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 CBB5C16A47B; Thu, 4 Jan 2007 20:06:20 +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 8E6B216A416 for ; Thu, 4 Jan 2007 20:06:20 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 80E8C13C43E for ; Thu, 4 Jan 2007 20:06:20 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04K6KdL007852 for ; Thu, 4 Jan 2007 20:06:20 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04K6K1F007848 for perforce@freebsd.org; Thu, 4 Jan 2007 20:06:20 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 4 Jan 2007 20:06:20 GMT Message-Id: <200701042006.l04K6K1F007848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112489 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, 04 Jan 2007 20:06:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=112489 Change 112489 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/04 20:06:08 fix LOR by dropping softc lock before callling ieee80211_input avoid race with unload by making stop sleep if RAL_INPUT_RUNNING is set Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#8 edit .. //depot/projects/wifi/sys/dev/ral/rt2560var.h#5 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#8 (text) ==== @@ -1170,6 +1170,8 @@ bpf_mtap2(sc->sc_drvbpf, tap, sc->sc_rxtap_len, m); } + sc->sc_flags |= RAL_INPUT_RUNNING; + RAL_UNLOCK(sc); wh = mtod(m, struct ieee80211_frame *); ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh); @@ -1184,6 +1186,8 @@ /* node is no longer needed */ ieee80211_free_node(ni); + RAL_LOCK(sc); + sc->sc_flags &= ~RAL_INPUT_RUNNING; skip: desc->flags = htole32(RT2560_RX_BUSY); DPRINTFN(15, ("decryption done idx=%u\n", sc->rxq.cur_decrypt)); @@ -2736,7 +2740,12 @@ struct rt2560_softc *sc = priv; struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; + volatile int *flags = &sc->sc_flags; + while (*flags & RAL_INPUT_RUNNING) { + msleep(sc, &sc->sc_mtx, 0, "ralrunning", hz/10); + } + sc->sc_tx_timer = 0; ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); ==== //depot/projects/wifi/sys/dev/ral/rt2560var.h#5 (text) ==== @@ -156,6 +156,8 @@ } sc_txtapu; #define sc_txtap sc_txtapu.th int sc_txtap_len; +#define RAL_INPUT_RUNNING 1 + int sc_flags; }; int rt2560_attach(device_t, int); From owner-p4-projects@FreeBSD.ORG Thu Jan 4 20:23:43 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 04E4E16A40F; Thu, 4 Jan 2007 20:23:43 +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 B9F3916A403 for ; Thu, 4 Jan 2007 20:23:42 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id AC9FE13C442 for ; Thu, 4 Jan 2007 20:23:42 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04KNgxI010829 for ; Thu, 4 Jan 2007 20:23:42 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04KNg4A010816 for perforce@freebsd.org; Thu, 4 Jan 2007 20:23:42 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 4 Jan 2007 20:23:42 GMT Message-Id: <200701042023.l04KNg4A010816@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112490 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, 04 Jan 2007 20:23:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=112490 Change 112490 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/04 20:23:00 make sure that the sc lock is held across rt2560_stop ensure that the sc lock is not held across ieee80211_ioctl Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#9 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#9 (text) ==== @@ -349,8 +349,10 @@ struct rt2560_softc *sc = xsc; struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; - + + RAL_LOCK(sc); rt2560_stop(sc); + RAL_UNLOCK(sc); callout_stop(&sc->watchdog_ch); callout_stop(&sc->rssadapt_ch); @@ -2074,10 +2076,11 @@ struct ieee80211com *ic = &sc->sc_ic; int error = 0; - RAL_LOCK(sc); + switch (cmd) { case SIOCSIFFLAGS: + RAL_LOCK(sc); if (ifp->if_flags & IFF_UP) { if (ifp->if_drv_flags & IFF_DRV_RUNNING) rt2560_update_promisc(sc); @@ -2087,6 +2090,7 @@ if (ifp->if_drv_flags & IFF_DRV_RUNNING) rt2560_stop(sc); } + RAL_UNLOCK(sc); break; default: @@ -2101,7 +2105,6 @@ error = 0; } - RAL_UNLOCK(sc); return error; } From owner-p4-projects@FreeBSD.ORG Thu Jan 4 21:17:52 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 147AF16A415; Thu, 4 Jan 2007 21:17:52 +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 E267216A40F for ; Thu, 4 Jan 2007 21:17:51 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D4F0D13C448 for ; Thu, 4 Jan 2007 21:17:51 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04LHpo2031149 for ; Thu, 4 Jan 2007 21:17:51 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04LHp3R031146 for perforce@freebsd.org; Thu, 4 Jan 2007 21:17:51 GMT (envelope-from piso@freebsd.org) Date: Thu, 4 Jan 2007 21:17:51 GMT Message-Id: <200701042117.l04LHp3R031146@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112493 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, 04 Jan 2007 21:17:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=112493 Change 112493 by piso@piso_newluxor on 2007/01/04 21:17:24 Readd support for filters to powerpc - not compiled tough cause crosscompiling powerpc code from my amd64 seems broken. Affected files ... .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#16 edit Differences ... ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#16 (text+ko) ==== @@ -192,8 +192,8 @@ return (intr_event_remove_handler(cookie)); } -void -intr_handle(u_int irq) +__unused void +intr_handle_old(u_int irq) { struct ppc_intr *i; struct intr_event *ie; @@ -247,3 +247,55 @@ } } } + +static void +stray_int(uint irq) +{ + + atomic_add_long(&intrcnt[0], 1); + if (intrcnt[0] <= MAX_STRAY_LOG) { + printf("stray irq %d\n", irq); + if (intrcnt[0] >= MAX_STRAY_LOG) { + printf("got %d stray interrupts, not" + "logging anymore\n", MAX_STRAY_LOG); + } + } +} + +void +intr_handle(u_int irq) +{ + struct ppc_intr *i; + struct intr_event *ie; + int error; + + i = ppc_intrs[irq]; + if (i == NULL) { + stray_int(irq); + return; + } + + atomic_add_long(i->cntp, 1); + + ie = i->event; + KASSERT(ie != NULL, ("%s: interrupt without an event", __func__)); + + res = mi_handle_intr(ie, NULL, intr_eoi_src_stub, + intr_disab_eoi_src_stub, NULL); + switch(res) { + case 0: + break; + case ECHILD: + irq_enable(irq); + break; + case EFAULT: + panic("%s: impossible stray interrupt", __func__); + break; + case EINVAL: + stray_int(irq); + break; + default: + printf("Ouch! Return code from mi_handle_intr()" + "not expected.\n"); + } +} From owner-p4-projects@FreeBSD.ORG Thu Jan 4 21:19:55 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 A284E16A415; Thu, 4 Jan 2007 21:19:55 +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 65E4116A407 for ; Thu, 4 Jan 2007 21:19:55 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5890C13C468 for ; Thu, 4 Jan 2007 21:19:55 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04LJtOr031246 for ; Thu, 4 Jan 2007 21:19:55 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04LJtxo031243 for perforce@freebsd.org; Thu, 4 Jan 2007 21:19:55 GMT (envelope-from piso@freebsd.org) Date: Thu, 4 Jan 2007 21:19:55 GMT Message-Id: <200701042119.l04LJtxo031243@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112494 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, 04 Jan 2007 21:19:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=112494 Change 112494 by piso@piso_newluxor on 2007/01/04 21:19:21 In case IPFIREWALL_NAT was not definied, do not the user add rules with a 'nat' action. Affected files ... .. //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#38 edit Differences ... ==== //depot/projects/soc2005/libalias/sys/netinet/ip_fw2.c#38 (text+ko) ==== @@ -4222,9 +4222,13 @@ else goto check_size; case O_NAT: +#ifdef IPFIREWALL_NAT if (cmdlen != F_INSN_SIZE(ipfw_insn_nat)) goto bad_size; goto check_action; +#else + return EINVAL; +#endif case O_FORWARD_MAC: /* XXX not implemented yet */ case O_CHECK_STATE: case O_COUNT: From owner-p4-projects@FreeBSD.ORG Thu Jan 4 22:31:03 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 E916F16A417; Thu, 4 Jan 2007 22:31:02 +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 C221516A403 for ; Thu, 4 Jan 2007 22:31:02 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 678BA13C468 for ; Thu, 4 Jan 2007 22:31:02 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04MV258044631 for ; Thu, 4 Jan 2007 22:31:02 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04MV2cb044628 for perforce@freebsd.org; Thu, 4 Jan 2007 22:31:02 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 4 Jan 2007 22:31:02 GMT Message-Id: <200701042231.l04MV2cb044628@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 112498 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, 04 Jan 2007 22:31:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=112498 Change 112498 by rdivacky@rdivacky_witten on 2007/01/04 22:30:33 Change names of the locking flags to EMUL_DOLOCK and EMUL_DONTLOC to be less confusing. Affected files ... .. //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_machdep.c#17 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#18 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.h#7 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#49 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#8 edit .. //depot/projects/linuxolator/src/sys/i386/linux/linux_machdep.c#13 edit Differences ... ==== //depot/projects/linuxolator/src/sys/amd64/linux32/linux32_machdep.c#17 (text+ko) ==== @@ -581,7 +581,7 @@ /* create the emuldata */ error = linux_proc_init(td, p2->p_pid, args->flags); /* reference it - no need to check this */ - em = em_find(p2, EMUL_UNLOCKED); + em = em_find(p2, EMUL_DOLOCK); KASSERT(em != NULL, ("clone: emuldata not found.\n")); /* and adjust it */ if (args->flags & CLONE_PARENT_SETTID) { ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#18 (text+ko) ==== @@ -63,12 +63,12 @@ { struct linux_emuldata *em; - if (locked == EMUL_UNLOCKED) + if (locked == EMUL_DOLOCK) EMUL_LOCK(&emul_lock); em = p->p_emuldata; - if (em == NULL && locked == EMUL_UNLOCKED) + if (em == NULL && locked == EMUL_DOLOCK) EMUL_UNLOCK(&emul_lock); return (em); @@ -104,7 +104,7 @@ EMUL_LOCK(&emul_lock); } else { /* lookup the old one */ - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_DOLOCK); KASSERT(em != NULL, ("proc_init: emuldata not found in exec case.\n")); } @@ -119,7 +119,7 @@ if (child != 0) { if (flags & CLONE_THREAD) { /* lookup the parent */ - p_em = em_find(td->td_proc, EMUL_LOCKED); + p_em = em_find(td->td_proc, EMUL_DONTLOCK); KASSERT(p_em != NULL, ("proc_init: parent emuldata not found for CLONE_THREAD\n")); em->shared = p_em->shared; em->shared->refs++; @@ -159,7 +159,7 @@ return; /* find the emuldata */ - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("proc_exit: emuldata not found.\n")); @@ -217,7 +217,7 @@ continue; if (__predict_false(q->p_sysent != &elf_linux_sysvec)) continue; - em = em_find(q, EMUL_UNLOCKED); + em = em_find(q, EMUL_DOLOCK); KASSERT(em != NULL, ("linux_reparent: emuldata not found: %i\n", q->p_pid)); if (em->pdeath_signal != 0) { PROC_LOCK(q); @@ -244,7 +244,7 @@ && p->p_sysent == &elf_linux_sysvec)) { struct linux_emuldata *em; - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("proc_exec: emuldata not found.\n")); @@ -280,7 +280,7 @@ retry: /* find the emuldata */ - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); if (em == NULL) { /* @@ -315,7 +315,7 @@ #endif /* find the emuldata */ - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_DOLOCK); KASSERT(em != NULL, ("set_tid_address: emuldata not found.\n")); ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.h#7 (text+ko) ==== @@ -66,8 +66,8 @@ #define EMUL_SHARED_WUNLOCK(l) sx_xunlock(l) /* for em_find use */ -#define EMUL_LOCKED 1 -#define EMUL_UNLOCKED 0 +#define EMUL_DOLOCK 1 +#define EMUL_DONTLOCK 0 int linux_proc_init(struct thread *, pid_t, int); void linux_proc_exit(void *, struct proc *); ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#49 (text+ko) ==== @@ -1448,7 +1448,7 @@ #endif if (linux_use26(td)) { - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_DOLOCK); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; EMUL_UNLOCK(&emul_lock); @@ -1490,7 +1490,7 @@ return (0); } - em = em_find(td->td_proc, EMUL_UNLOCKED); + em = em_find(td->td_proc, EMUL_DOLOCK); KASSERT(em != NULL, ("getppid: process emuldata not found.\n")); @@ -1512,7 +1512,7 @@ /* if its also linux process */ if (pp->p_sysent == &elf_linux_sysvec) { - em = em_find(pp, EMUL_LOCKED); + em = em_find(pp, EMUL_DONTLOCK); KASSERT(em != NULL, ("getppid: parent emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; @@ -1619,7 +1619,7 @@ #endif if (linux_use26(td)) { - td_em = em_find(td->td_proc, EMUL_UNLOCKED); + td_em = em_find(td->td_proc, EMUL_DOLOCK); KASSERT(td_em != NULL, ("exit_group: emuldata not found.\n")); @@ -1667,13 +1667,13 @@ case LINUX_PR_SET_PDEATHSIG: if (!LINUX_SIG_VALID(args->arg2)) return (EINVAL); - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("prctl: emuldata not found.\n")); em->pdeath_signal = args->arg2; EMUL_UNLOCK(&emul_lock); break; case LINUX_PR_GET_PDEATHSIG: - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); KASSERT(em != NULL, ("prctl: emuldata not found.\n")); error = copyout(&em->pdeath_signal, (void *)(register_t)args->arg2, ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#8 (text+ko) ==== @@ -561,7 +561,7 @@ PROC_UNLOCK(p); - em = em_find(p, EMUL_UNLOCKED); + em = em_find(p, EMUL_DOLOCK); if (em == NULL) { #ifdef DEBUG ==== //depot/projects/linuxolator/src/sys/i386/linux/linux_machdep.c#13 (text+ko) ==== @@ -408,7 +408,7 @@ /* create the emuldata */ error = linux_proc_init(td, p2->p_pid, args->flags); /* reference it - no need to check this */ - em = em_find(p2, EMUL_UNLOCKED); + em = em_find(p2, EMUL_DOLOCK); KASSERT(em != NULL, ("clone: emuldata not found.\n")); /* and adjust it */ if (args->flags & CLONE_PARENT_SETTID) { From owner-p4-projects@FreeBSD.ORG Thu Jan 4 22:32:04 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 72DC416A415; Thu, 4 Jan 2007 22:32:04 +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 3925716A407 for ; Thu, 4 Jan 2007 22:32:04 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2C1CC13C442 for ; Thu, 4 Jan 2007 22:32:04 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l04MW4LF045562 for ; Thu, 4 Jan 2007 22:32:04 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l04MW3xX045559 for perforce@freebsd.org; Thu, 4 Jan 2007 22:32:03 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 4 Jan 2007 22:32:03 GMT Message-Id: <200701042232.l04MW3xX045559@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 112499 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, 04 Jan 2007 22:32:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=112499 Change 112499 by rdivacky@rdivacky_witten on 2007/01/04 22:31:44 Protect em->shared in a case of CLONE_THREAD. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#19 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_emul.c#19 (text+ko) ==== @@ -119,10 +119,12 @@ if (child != 0) { if (flags & CLONE_THREAD) { /* lookup the parent */ + EMUL_SHARED_WLOCK(&emul_shared_lock); p_em = em_find(td->td_proc, EMUL_DONTLOCK); KASSERT(p_em != NULL, ("proc_init: parent emuldata not found for CLONE_THREAD\n")); em->shared = p_em->shared; em->shared->refs++; + EMUL_SHARED_WUNLOCK(&emul_shared_lock); } else { /* * handled earlier to avoid malloc(M_WAITOK) with From owner-p4-projects@FreeBSD.ORG Fri Jan 5 00:26:32 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 A871B16A412; Fri, 5 Jan 2007 00:26:32 +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 6EDAE16A407 for ; Fri, 5 Jan 2007 00:26:32 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 55D1B13C459 for ; Fri, 5 Jan 2007 00:26:32 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l050QW5f065985 for ; Fri, 5 Jan 2007 00:26:32 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l050QWDk065982 for perforce@freebsd.org; Fri, 5 Jan 2007 00:26:32 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 00:26:32 GMT Message-Id: <200701050026.l050QWDk065982@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112505 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: Fri, 05 Jan 2007 00:26:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=112505 Change 112505 by mjacob@mjexp on 2007/01/05 00:25:37 A little more tweaking on this toy to finally get it to completely clean out dead consumers via posting events. Affected files ... .. //depot/projects/mjexp/sys/geom/multipath/g_multipath.c#10 edit .. //depot/projects/mjexp/sys/geom/multipath/g_multipath.h#5 edit Differences ... ==== //depot/projects/mjexp/sys/geom/multipath/g_multipath.c#10 (text+ko) ==== @@ -74,6 +74,7 @@ static void g_multipath_orphan(struct g_consumer *cp) { +printf("%s called on %s\n", __FUNCTION__, cp->provider? cp->provider->name : "none"); g_topology_assert(); g_multipath_destroy(cp->geom); } @@ -104,6 +105,17 @@ } static void +g_mpd(void *arg, int flags __unused) +{ + struct g_consumer *cp; + g_topology_assert(); + cp = arg; + g_access(cp, -cp->acr, -cp->acw, -cp->ace); + g_detach(cp); + g_destroy_consumer(cp); +} + +static void g_multipath_done(struct bio *bp) { struct bio *pbp = bp->bio_parent; @@ -131,6 +143,8 @@ if (dofail) { struct g_consumer *cp = bp->bio_from; + struct g_consumer *lcp; + struct g_provider *pp = cp->provider; /* * If we had a failure, we have to check first to see @@ -139,31 +153,44 @@ * a number of failures). If so, we then switch consumers * to the next available consumer. */ + g_topology_lock(); if (cp == sc->cp_active) { - printf("i/o failure is causing detach of %s from %s\n", - cp->provider->name, gp->name); -/* - * XXX: The following two lines are probably wrong due to inflights - */ - g_detach(cp); - g_destroy_consumer(cp); - sc->cp_active = LIST_FIRST(&gp->consumer); + printf("GEOM_MULTIPATH: I/O failure terminates use of " + "%s in %s\n", cp->provider->name, gp->name); + cp->index = 1; + sc->cp_active = NULL; + LIST_FOREACH(lcp, &gp->consumer, consumer) { + if (lcp->index == 0) { + sc->cp_active = lcp; + break; + } + } + if (sc->cp_active == NULL) { + printf("GEOM_MULTIPATH: out of providers\n"); + g_topology_unlock(); + goto out; + } + printf("GEOM_MULTIPATH: switching to provider %s\n", + sc->cp_active->provider->name); + } + g_topology_unlock(); + if (cp->nend == cp->nstart && pp->nend == pp->nstart) { + printf("GEOM_MULTIPATH: old provider %s is now quiet\n", + pp->name); + g_post_event(g_mpd, cp, M_NOWAIT, NULL); } /* * If we can fruitfully restart the I/O, do so. */ if (sc->cp_active) { - printf("switching to provider %s\n", - sc->cp_active->provider->name); g_destroy_bio(bp); pbp->bio_children--; g_multipath_start(pbp); return; - } else { - printf("out of providers to try\n"); } } +out: g_std_done(bp); } @@ -275,7 +302,7 @@ return (error); } cp->private = sc; - cp->index = sc->index++; + cp->index = 0; /* * Set access permissions on new consumer to match other consumers @@ -375,7 +402,6 @@ g_destroy_consumer(cp); g_destroy_geom(gp); if (error != 0) { - printf("%s had error %d reading metadata\n", pp->name, error); return (NULL); } gp = NULL; ==== //depot/projects/mjexp/sys/geom/multipath/g_multipath.h#5 (text+ko) ==== @@ -47,7 +47,6 @@ struct g_consumer * cp_active; char sc_name[16]; char sc_uuid[40]; - int index; }; #endif /* _KERNEL */ From owner-p4-projects@FreeBSD.ORG Fri Jan 5 00:26:33 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 050A716A55F; Fri, 5 Jan 2007 00:26:32 +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 BAEA716A501 for ; Fri, 5 Jan 2007 00:26:32 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A937513C465 for ; Fri, 5 Jan 2007 00:26:32 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l050QWMw065992 for ; Fri, 5 Jan 2007 00:26:32 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l050QWH4065988 for perforce@freebsd.org; Fri, 5 Jan 2007 00:26:32 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 00:26:32 GMT Message-Id: <200701050026.l050QWH4065988@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112506 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: Fri, 05 Jan 2007 00:26:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=112506 Change 112506 by mjacob@mjexp on 2007/01/05 00:26:10 Add 'clear' command. Affected files ... .. //depot/projects/mjexp/sbin/geom/class/multipath/geom_multipath.c#4 edit Differences ... ==== //depot/projects/mjexp/sbin/geom/class/multipath/geom_multipath.c#4 (text+ko) ==== @@ -47,11 +47,16 @@ static void mp_main(struct gctl_req *, unsigned int); static void mp_label(struct gctl_req *); +static void mp_clear(struct gctl_req *); struct g_command class_commands[] = { { "label", G_FLAG_VERBOSE | G_FLAG_LOADKLD, mp_main, G_NULL_OPTS, - "[-v] name prov prov" + "[-v] name prov ..." + }, + { + "clear", G_FLAG_VERBOSE, mp_main, G_NULL_OPTS, + "[-v] prov ..." }, { "destroy", G_FLAG_VERBOSE, NULL, G_NULL_OPTS, @@ -72,6 +77,8 @@ } if (strcmp(name, "label") == 0) { mp_label(req); + } if (strcmp(name, "clear") == 0) { + mp_clear(req); } else { gctl_error(req, "Unknown command: %s.", name); } @@ -90,7 +97,7 @@ int error, i, nargs; nargs = gctl_get_int(req, "nargs"); - if (nargs != 3) { + if (nargs < 2) { gctl_error(req, "wrong number of arguments."); return; } @@ -201,3 +208,28 @@ } } } + +static void +mp_clear(struct gctl_req *req) +{ + const char *name; + int error, i, nargs; + + nargs = gctl_get_int(req, "nargs"); + if (nargs < 1) { + gctl_error(req, "Too few arguments."); + return; + } + + for (i = 0; i < nargs; i++) { + name = gctl_get_ascii(req, "arg%d", i); + error = g_metadata_clear(name, G_MULTIPATH_MAGIC); + if (error != 0) { + fprintf(stderr, "Can't clear metadata on %s: %s.\n", + name, strerror(error)); + gctl_error(req, "Not fully done."); + continue; + } + } +} + From owner-p4-projects@FreeBSD.ORG Fri Jan 5 00:34:31 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 B00D816A417; Fri, 5 Jan 2007 00:34:31 +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 709BE16A415 for ; Fri, 5 Jan 2007 00:34:31 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 5C28113C468 for ; Fri, 5 Jan 2007 00:34:31 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l050YVh7067278 for ; Fri, 5 Jan 2007 00:34:31 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l050YUQm067275 for perforce@freebsd.org; Fri, 5 Jan 2007 00:34:30 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 00:34:30 GMT Message-Id: <200701050034.l050YUQm067275@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112508 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: Fri, 05 Jan 2007 00:34:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=112508 Change 112508 by mjacob@mjexp on 2007/01/05 00:33:33 Add code to help test multipathing by putting in a sysctl per-MPT instance that will fail commands to the next target_id that matches to this mpt with a SELECTION FAILURE. The default for this code is to be turned off. Affected files ... .. //depot/projects/mjexp/sys/dev/mpt/mpt.c#4 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt.h#4 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#6 edit Differences ... ==== //depot/projects/mjexp/sys/dev/mpt/mpt.c#4 (text+ko) ==== @@ -2000,7 +2000,12 @@ SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "role", CTLFLAG_RD, &mpt->role, 0, "HBA role"); +#ifdef MPT_TEST_MULTIPATH + SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "failure_id", CTLFLAG_RW, &mpt->failure_id, -1, + "Next Target to Fail"); #endif +#endif } int @@ -2120,6 +2125,9 @@ } STAILQ_INIT(&mpt->trt_wildcard.atios); STAILQ_INIT(&mpt->trt_wildcard.inots); +#ifdef MPT_TEST_MULTIPATH + mpt->failure_id = -1; +#endif mpt->scsi_tgt_handler_id = MPT_HANDLER_ID_NONE; mpt_sysctl_attach(mpt); mpt_lprt(mpt, MPT_PRT_DEBUG, "doorbell req = %s\n", ==== //depot/projects/mjexp/sys/dev/mpt/mpt.h#4 (text+ko) ==== @@ -159,6 +159,7 @@ #define MPT_U64_2_SCALAR(y) ((((uint64_t)y.High) << 32) | (y.Low)) /****************************** Misc Definitions ******************************/ +/* #define MPT_TEST_MULTIPATH 1 */ #define MPT_OK (0) #define MPT_FAIL (0x10000) @@ -535,6 +536,9 @@ u_int role; /* role: none, ini, target, both */ u_int verbose; +#ifdef MPT_TEST_MULTIPATH + int failure_id; +#endif /* * IOC Facts ==== //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#6 (text+ko) ==== @@ -2907,6 +2907,13 @@ mpt_set_ccb_status(ccb, CAM_REQ_INVALID); break; } +#ifdef MPT_TEST_MULTIPATH + if (mpt->failure_id == ccb->ccb_h.target_id) { + ccb->ccb_h.status &= ~CAM_SIM_QUEUED; + mpt_set_ccb_status(ccb, CAM_SEL_TIMEOUT); + break; + } +#endif ccb->csio.scsi_status = SCSI_STATUS_OK; mpt_start(sim, ccb); return; From owner-p4-projects@FreeBSD.ORG Fri Jan 5 03:21:13 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 ECD1616A415; Fri, 5 Jan 2007 03:21:12 +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 7763816A407 for ; Fri, 5 Jan 2007 03:21:12 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6A80B13C455 for ; Fri, 5 Jan 2007 03:21:12 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l053LCsu008245 for ; Fri, 5 Jan 2007 03:21:12 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l053LC15008236 for perforce@freebsd.org; Fri, 5 Jan 2007 03:21:12 GMT (envelope-from marcel@freebsd.org) Date: Fri, 5 Jan 2007 03:21:12 GMT Message-Id: <200701050321.l053LC15008236@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 112523 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: Fri, 05 Jan 2007 03:21:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=112523 Change 112523 by marcel@marcel_xcllnt on 2007/01/05 03:20:18 Work-around a bug in the Apple hardware. Affected files ... .. //depot/projects/uart/dev/uart/uart_dev_z8530.c#34 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_dev_z8530.c#34 (text+ko) ==== @@ -162,6 +162,33 @@ if (bas->rclk == 0) bas->rclk = DEFAULT_RCLK; + switch (bas->chan) { + case 1: + uart_setmreg(bas, WR_MIC, MIC_NV | MIC_CRA); + break; + case 2: + uart_setmreg(bas, WR_MIC, MIC_NV | MIC_CRB); + break; + } + uart_barrier(bas); + uart_setmreg(bas, WR_MPM, MPM_CM1 | MPM_MONO | MPM_SYNC); + uart_setmreg(bas, WR_RPC, RPC_RB8); + uart_setmreg(bas, WR_TPC, TPC_TB8 | TPC_RTS); + uart_setmreg(bas, WR_CMC, CMC_RC_BRG | CMC_TC_BRG); + uart_setmreg(bas, WR_TCL, 0); + uart_setmreg(bas, WR_TCH, 0); + uart_setmreg(bas, WR_MCB2, MCB2_LL | UART_PCLK); + uart_setmreg(bas, WR_MCB2, MCB2_LL | UART_PCLK | MCB2_BRGE); + uart_setmreg(bas, WR_RPC, RPC_RB8 | RPC_RXE); + uart_setreg(bas, REG_CTRL, CR_RSTXSI); + uart_setreg(bas, REG_CTRL, CR_RSTXSI); + uart_setreg(bas, REG_CTRL, CR_RSTXSI); + uart_setmreg(bas, WR_MPM, MPM_CM16 | MPM_SB2); + uart_setmreg(bas, WR_RPC, RPC_RB8); + uart_getreg(bas, REG_DATA); + uart_setreg(bas, REG_CTRL, CR_RSTXSI); + uart_setreg(bas, REG_CTRL, CR_RSTERR); + /* Assume we don't need to perform a full hardware reset. */ switch (bas->chan) { case 1: From owner-p4-projects@FreeBSD.ORG Fri Jan 5 04:49:08 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 1E3C916A412; Fri, 5 Jan 2007 04:49:08 +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 ED92616A407 for ; Fri, 5 Jan 2007 04:49:07 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D4D0B13C43E for ; Fri, 5 Jan 2007 04:49:07 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l054n7wh032323 for ; Fri, 5 Jan 2007 04:49:07 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l054n760032320 for perforce@freebsd.org; Fri, 5 Jan 2007 04:49:07 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 5 Jan 2007 04:49:07 GMT Message-Id: <200701050449.l054n760032320@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112526 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: Fri, 05 Jan 2007 04:49:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=112526 Change 112526 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/05 04:48:57 - move locking soft lock acquisition into rt2560_stop - fixing hangs when the card was removed - only call newstate to transition to INIT if the driver is currently running - fixing a panic in ieee80211_cancel_scan with mtx_lock of destroyed mutex Affected files ... .. //depot/projects/wifi/sys/dev/ral/rt2560.c#10 edit Differences ... ==== //depot/projects/wifi/sys/dev/ral/rt2560.c#10 (text) ==== @@ -350,9 +350,7 @@ struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; - RAL_LOCK(sc); rt2560_stop(sc); - RAL_UNLOCK(sc); callout_stop(&sc->watchdog_ch); callout_stop(&sc->rssadapt_ch); @@ -2080,17 +2078,18 @@ switch (cmd) { case SIOCSIFFLAGS: - RAL_LOCK(sc); if (ifp->if_flags & IFF_UP) { + RAL_LOCK(sc); if (ifp->if_drv_flags & IFF_DRV_RUNNING) rt2560_update_promisc(sc); else rt2560_init(sc); + RAL_UNLOCK(sc); } else { if (ifp->if_drv_flags & IFF_DRV_RUNNING) rt2560_stop(sc); } - RAL_UNLOCK(sc); + break; default: @@ -2652,10 +2651,11 @@ uint32_t tmp; int i; - RAL_LOCK(sc); + rt2560_stop(sc); + RAL_LOCK(sc); /* setup tx rings */ tmp = RT2560_PRIO_RING_COUNT << 24 | RT2560_ATIM_RING_COUNT << 16 | @@ -2738,41 +2738,44 @@ } void -rt2560_stop(void *priv) +rt2560_stop(void *arg) { - struct rt2560_softc *sc = priv; + struct rt2560_softc *sc = arg; struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; volatile int *flags = &sc->sc_flags; while (*flags & RAL_INPUT_RUNNING) { - msleep(sc, &sc->sc_mtx, 0, "ralrunning", hz/10); + tsleep(sc, 0, "ralrunning", hz/10); } - - sc->sc_tx_timer = 0; - ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); - ieee80211_new_state(ic, IEEE80211_S_INIT, -1); + RAL_LOCK(sc); + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + ieee80211_new_state(ic, IEEE80211_S_INIT, -1); + sc->sc_tx_timer = 0; + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); - /* abort Tx */ - RAL_WRITE(sc, RT2560_TXCSR0, RT2560_ABORT_TX); + /* abort Tx */ + RAL_WRITE(sc, RT2560_TXCSR0, RT2560_ABORT_TX); + + /* disable Rx */ + RAL_WRITE(sc, RT2560_RXCSR0, RT2560_DISABLE_RX); - /* disable Rx */ - RAL_WRITE(sc, RT2560_RXCSR0, RT2560_DISABLE_RX); + /* reset ASIC (imply reset BBP) */ + RAL_WRITE(sc, RT2560_CSR1, RT2560_RESET_ASIC); + RAL_WRITE(sc, RT2560_CSR1, 0); - /* reset ASIC (imply reset BBP) */ - RAL_WRITE(sc, RT2560_CSR1, RT2560_RESET_ASIC); - RAL_WRITE(sc, RT2560_CSR1, 0); - - /* disable interrupts */ - RAL_WRITE(sc, RT2560_CSR8, 0xffffffff); - - /* reset Tx and Rx rings */ - rt2560_reset_tx_ring(sc, &sc->txq); - rt2560_reset_tx_ring(sc, &sc->atimq); - rt2560_reset_tx_ring(sc, &sc->prioq); - rt2560_reset_tx_ring(sc, &sc->bcnq); - rt2560_reset_rx_ring(sc, &sc->rxq); + /* disable interrupts */ + RAL_WRITE(sc, RT2560_CSR8, 0xffffffff); + + /* reset Tx and Rx rings */ + rt2560_reset_tx_ring(sc, &sc->txq); + rt2560_reset_tx_ring(sc, &sc->atimq); + rt2560_reset_tx_ring(sc, &sc->prioq); + rt2560_reset_tx_ring(sc, &sc->bcnq); + rt2560_reset_rx_ring(sc, &sc->rxq); + } + RAL_UNLOCK(sc); } static int @@ -2828,3 +2831,4 @@ RAL_UNLOCK(sc); return EIO; /* XXX */ } + From owner-p4-projects@FreeBSD.ORG Fri Jan 5 05:40:14 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 D797D16A412; Fri, 5 Jan 2007 05:40:13 +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 A503116A403 for ; Fri, 5 Jan 2007 05:40:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 8368C13C45A for ; Fri, 5 Jan 2007 05:40:13 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l055eDw8041690 for ; Fri, 5 Jan 2007 05:40:13 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l055eDIY041687 for perforce@freebsd.org; Fri, 5 Jan 2007 05:40:13 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 5 Jan 2007 05:40:13 GMT Message-Id: <200701050540.l055eDIY041687@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 112529 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: Fri, 05 Jan 2007 05:40:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=112529 Change 112529 by kmacy@kmacy_serendipity:sam_wifi on 2007/01/05 05:40:01 tie iwi into ieee80211 scanning state machine add ic_{scan_start, scan_done, set_channel} move iwi_auth_and_assoc into new taskqueue task sta mode appears to be fully functional Affected files ... .. //depot/projects/wifi/sys/dev/iwi/if_iwi.c#19 edit .. //depot/projects/wifi/sys/dev/iwi/if_iwivar.h#10 edit Differences ... ==== //depot/projects/wifi/sys/dev/iwi/if_iwi.c#19 (text+ko) ==== @@ -165,6 +165,11 @@ static void iwi_scandone(void *, int); static void iwi_scanstart(void *, int); static void iwi_scanchan(void *, int); +static void iwi_scan_start(struct ieee80211com *); +static void iwi_scan_end(struct ieee80211com *); +static void iwi_set_channel(struct ieee80211com *); +static void iwi_assoc(struct ieee80211com *ic); +static void iwi_ops(void *, int); static int iwi_auth_and_assoc(struct iwi_softc *); static int iwi_disassociate(struct iwi_softc *, int quiet); static void iwi_down(void *, int); @@ -288,6 +293,7 @@ TASK_INIT(&sc->sc_setwmetask, 0, iwi_wme_setparams, sc); TASK_INIT(&sc->sc_downtask, 0, iwi_down, sc); TASK_INIT(&sc->sc_restarttask, 0, iwi_restart, sc); + TASK_INIT(&sc->sc_opstask, 0, iwi_ops, sc); if (pci_get_powerstate(dev) != PCI_POWERSTATE_D0) { device_printf(dev, "chip is in D%d power mode " @@ -422,6 +428,10 @@ ic->ic_node_alloc = iwi_node_alloc; sc->sc_node_free = ic->ic_node_free; ic->ic_node_free = iwi_node_free; + ic->ic_scan_start = iwi_scan_start; + ic->ic_scan_end = iwi_scan_end; + ic->ic_set_channel = iwi_set_channel; + /* override state transition machine */ sc->sc_newstate = ic->ic_newstate; ic->ic_newstate = iwi_newstate; @@ -945,6 +955,7 @@ { struct ifnet *ifp = ic->ic_ifp; struct iwi_softc *sc = ifp->if_softc; + int error = 0; DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__, ieee80211_state_name[ic->ic_state], @@ -952,30 +963,9 @@ /* XXX state change race with taskqueue */ switch (nstate) { - case IEEE80211_S_SCAN: - if (ic->ic_state == IEEE80211_S_RUN) { - /* - * Beacon miss, send disassoc and wait for a reply - * from the card; we'll start a scan then. Note - * this only happens with auto roaming; otherwise - * just notify users and wait to be directed. - */ - /* notify directly as we bypass net80211 */ - ieee80211_sta_leave(ic, ic->ic_bss); - if (ic->ic_roaming == IEEE80211_ROAMING_AUTO) - taskqueue_enqueue(sc->sc_tq, &sc->sc_downtask); - break; - } - if ((sc->flags & IWI_FLAG_SCANNING) == 0) { - sc->flags |= IWI_FLAG_SCANNING; - taskqueue_enqueue(sc->sc_tq, &sc->sc_scanstarttask); - } - break; - case IEEE80211_S_AUTH: - iwi_auth_and_assoc(sc); + iwi_assoc(ic); break; - case IEEE80211_S_RUN: if (ic->ic_opmode == IEEE80211_M_IBSS) { /* @@ -987,17 +977,9 @@ * This is all totally bogus and needs to be redone. */ if (ic->ic_state == IEEE80211_S_SCAN) - iwi_auth_and_assoc(sc); - } else if (ic->ic_opmode == IEEE80211_M_MONITOR) - taskqueue_enqueue(sc->sc_tq, &sc->sc_scantask); - - /* XXX way wrong */ - return sc->sc_newstate(ic, nstate, - IEEE80211_FC0_SUBTYPE_ASSOC_RESP); - - case IEEE80211_S_ASSOC: + iwi_assoc(ic); + } break; - case IEEE80211_S_INIT: /* * NB: don't try to do this if iwi_stop_master has @@ -1006,11 +988,16 @@ if (ic->ic_state == IEEE80211_S_RUN && (sc->flags & IWI_FLAG_FW_INITED)) taskqueue_enqueue(sc->sc_tq, &sc->sc_downtask); + if (ic->ic_state == IEEE80211_S_SCAN && + (sc->flags & IWI_FLAG_SCANNING)) + taskqueue_enqueue(sc->sc_tq, &sc->sc_scanaborttask); + break; + case IEEE80211_S_ASSOC: + default: break; } + return (error != 0) ? error : sc->sc_newstate(ic, nstate, arg); - ic->ic_state = nstate; - return 0; } /* @@ -1191,8 +1178,6 @@ iwi_setcurchan(struct iwi_softc *sc, int chan) { struct ieee80211com *ic = &sc->sc_ic; - - ic->ic_curchan = &ic->ic_channels[chan]; sc->curchan = chan; sc->sc_rxtap.wr_chan_freq = sc->sc_txtap.wt_chan_freq = @@ -1406,9 +1391,10 @@ switch (notif->type) { case IWI_NOTIF_TYPE_SCAN_CHANNEL: chan = (struct iwi_notif_scan_channel *)(notif + 1); - + DPRINTFN(3, ("Scan of channel %u complete (%u)\n", ic->ic_channels[chan->nchan].ic_freq, chan->nchan)); + sc->flags &= ~IWI_FLAG_CHANNEL_SCAN; break; case IWI_NOTIF_TYPE_SCAN_COMPLETE: @@ -1419,19 +1405,6 @@ sc->sc_scan_timer = 0; - if (ic->ic_opmode == IEEE80211_M_MONITOR) { - /* - * Monitor mode works by doing a passive scan to set - * the channel and enable rx. Because we don't want - * to abort a scan lest the firmware crash we scan - * for a short period of time and automatically restart - * the scan when notified the sweep has completed. - */ - taskqueue_enqueue(sc->sc_tq, &sc->sc_scantask); - } else { - sc->flags &= ~IWI_FLAG_SCANNING; - taskqueue_enqueue(sc->sc_tq, &sc->sc_scandonetask); - } break; case IWI_NOTIF_TYPE_AUTHENTICATION: @@ -1504,15 +1477,6 @@ beacon->state, le32toh(beacon->number))); if (beacon->state == IWI_BEACON_MISS) { -#if 0 - if (sc->flags & IWI_FLAG_SCANNING) { - /* XXX terminate scan, linux driver - says fw can get stuck */ - /* XXX should be handled in iwi_newstate */ - taskqueue_enqueue(sc->sc_tq, - &sc->sc_scanaborttask); - } -#endif /* * The firmware notifies us of every beacon miss * so we need to track the count against the @@ -1646,6 +1610,9 @@ /* don't restart if the interface isn't up */ if (sc->sc_ifp->if_flags & IFF_DRV_RUNNING) taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); + + sc->flags &= ~IWI_FLAG_BUSY; + wakeup(sc); } if (r & IWI_INTR_FW_INITED) { @@ -2838,7 +2805,7 @@ ic = &sc->sc_ic; KASSERT(ic->ic_opmode == IEEE80211_M_MONITOR, ("opmode %u", ic->ic_opmode)); - chan = ic->ic_bsschan; + chan = ic->ic_curchan; memset(&scan, 0, sizeof scan); /* @@ -2847,7 +2814,9 @@ * let a scan complete before changing channels--such as when * channel hopping in monitor mode. */ - scan.dwell_time[IWI_SCAN_TYPE_PASSIVE] = htole16(2000); + scan.dwell_time[IWI_SCAN_TYPE_PASSIVE] = htole16(20); + scan.dwell_time[IWI_SCAN_TYPE_BROADCAST] = htole16(20); + scan.dwell_time[IWI_SCAN_TYPE_BDIRECTED] = htole16(20); scan.full_scan_index = htole32(++sc->sc_scangen); if (IEEE80211_IS_CHAN_5GHZ(chan)) scan.channels[0] = 1 | IWI_CHAN_5GHZ; @@ -2885,8 +2854,12 @@ struct iwi_rateset rs; uint16_t capinfo; int error; + IWI_LOCK_DECL; - if (IEEE80211_IS_CHAN_2GHZ(ic->ic_bsschan)) { + + error = 0; + IWI_LOCK(sc); + if (IEEE80211_IS_CHAN_2GHZ(ic->ic_curchan)) { memset(&config, 0, sizeof config); config.bluetooth_coexistence = sc->bluetooth; config.antenna = sc->antenna; @@ -2899,7 +2872,7 @@ DPRINTF(("Configuring adapter\n")); error = iwi_cmd(sc, IWI_CMD_SET_CONFIG, &config, sizeof config); if (error != 0) - return error; + goto done; } #ifdef IWI_DEBUG @@ -2911,11 +2884,16 @@ #endif error = iwi_cmd(sc, IWI_CMD_SET_ESSID, ni->ni_essid, ni->ni_esslen); if (error != 0) - return error; + goto done; /* the rate set has already been "negotiated" */ - rs.mode = IEEE80211_IS_CHAN_5GHZ(ic->ic_bsschan) ? IWI_MODE_11A : - IWI_MODE_11G; + if (IEEE80211_IS_CHAN_A(ic->ic_curchan)) + rs.mode = IWI_MODE_11A; + else if (IEEE80211_IS_CHAN_G(ic->ic_curchan)) + rs.mode = IWI_MODE_11G; + if (IEEE80211_IS_CHAN_B(ic->ic_curchan)) + rs.mode = IWI_MODE_11B; + rs.type = IWI_RATESET_TYPE_NEGOTIATED; rs.nrates = ni->ni_rates.rs_nrates; if (rs.nrates > IWI_RATESET_SIZE) { @@ -2927,7 +2905,7 @@ DPRINTF(("Setting negotiated rates (%u)\n", rs.nrates)); error = iwi_cmd(sc, IWI_CMD_SET_RATES, &rs, sizeof rs); if (error != 0) - return error; + goto done; memset(assoc, 0, sizeof *assoc); @@ -2943,21 +2921,21 @@ error = iwi_cmd(sc, IWI_CMD_SET_OPTIE, ic->ic_opt_ie, ic->ic_opt_ie_len); if (error != 0) - return error; + goto done; } error = iwi_set_sensitivity(sc, ni->ni_rssi); if (error != 0) - return error; + goto done; - if (IEEE80211_IS_CHAN_A(ni->ni_chan)) + if (IEEE80211_IS_CHAN_A(ic->ic_curchan)) assoc->mode = IWI_MODE_11A; - else if (IEEE80211_IS_CHAN_G(ni->ni_chan)) + else if (IEEE80211_IS_CHAN_G(ic->ic_curchan)) assoc->mode = IWI_MODE_11G; - else if (IEEE80211_IS_CHAN_B(ni->ni_chan)) + else if (IEEE80211_IS_CHAN_B(ic->ic_curchan)) assoc->mode = IWI_MODE_11B; - /* XXX else error */ - assoc->chan = ieee80211_chan2ieee(ic, ni->ni_chan); + + assoc->chan = ic->ic_curchan->ic_ieee; /* * NB: do not arrange for shared key auth w/o privacy * (i.e. a wep key); it causes a firmware error. @@ -2976,7 +2954,7 @@ error = iwi_setwepkeys(sc); if (error != 0) - return error; + goto done; } if (ic->ic_flags & IEEE80211_F_WPA) assoc->policy |= htole16(IWI_POLICY_WPA); @@ -2993,7 +2971,7 @@ if (ic->ic_flags & IEEE80211_F_PRIVACY) capinfo |= IEEE80211_CAPINFO_PRIVACY; if ((ic->ic_flags & IEEE80211_F_SHPREAMBLE) && - IEEE80211_IS_CHAN_2GHZ(ic->ic_bsschan)) + IEEE80211_IS_CHAN_2GHZ(ic->ic_curchan)) capinfo |= IEEE80211_CAPINFO_SHORT_PREAMBLE; if (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_SLOTTIME) capinfo |= IEEE80211_CAPINFO_SHORT_SLOTTIME; @@ -3014,7 +2992,11 @@ assoc->chan, le16toh(assoc->policy), assoc->auth, le16toh(assoc->capinfo), le16toh(assoc->lintval), le16toh(assoc->intval))); - return iwi_cmd(sc, IWI_CMD_ASSOCIATE, assoc, sizeof *assoc); + error = iwi_cmd(sc, IWI_CMD_ASSOCIATE, assoc, sizeof *assoc); +done: + IWI_UNLOCK(sc); + + return (error); } static int @@ -3521,3 +3503,74 @@ sc->sc_ledpin = IWI_RST_LED_ASSOCIATED; } } + +static void +iwi_ops(void *arg, int npending) +{ + struct iwi_softc *sc = arg; + struct ieee80211com *ic = &sc->sc_ic; + IWI_LOCK_DECL; + + IWI_LOCK(sc); + while ((ic->ic_state != IEEE80211_S_INIT) && (sc->flags & IWI_FLAG_BUSY)) { + msleep(sc, &sc->sc_mtx, 0, "iwicmd", hz/10); + } + + if (ic->ic_state == IEEE80211_S_INIT) + goto done; + + switch (sc->sc_scanop) { + case IWI_ASSOC: + iwi_auth_and_assoc(sc); + break; + case IWI_SCAN_START: + iwi_scan(sc); + break; + case IWI_SCAN_END: + iwi_scanabort(sc, 0); + break; + } +done: + IWI_UNLOCK(sc); +} + +static void +iwi_scan_start(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct iwi_softc *sc = ifp->if_softc; + printf("start scan\n"); + sc->sc_scanop = IWI_SCAN_START; + taskqueue_enqueue(sc->sc_tq, &sc->sc_opstask); + +} + +static void +iwi_set_channel(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct iwi_softc *sc = ifp->if_softc; + if (!(sc->flags & IWI_FLAG_SCANNING)) + iwi_setcurchan(sc, ic->ic_curchan->ic_ieee); +} + +static void +iwi_scan_end(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct iwi_softc *sc = ifp->if_softc; + + printf("end scan\n"); + sc->sc_scanop = IWI_SCAN_END; + taskqueue_enqueue(sc->sc_tq, &sc->sc_opstask); +} + +static void +iwi_assoc(struct ieee80211com *ic) +{ + struct ifnet *ifp = ic->ic_ifp; + struct iwi_softc *sc = ifp->if_softc; + + sc->sc_scanop = IWI_ASSOC; + taskqueue_enqueue(sc->sc_tq, &sc->sc_opstask); +} ==== //depot/projects/wifi/sys/dev/iwi/if_iwivar.h#10 (text+ko) ==== @@ -136,7 +136,7 @@ #define IWI_FLAG_FW_LOADING (1 << 2) #define IWI_FLAG_BUSY (1 << 3) /* busy sending a command */ #define IWI_FLAG_ASSOCIATED (1 << 4) /* currently associated */ - +#define IWI_FLAG_CHANNEL_SCAN (1 << 5) struct iwi_cmd_ring cmdq; struct iwi_tx_ring txq[WME_NUM_AC]; struct iwi_rx_ring rxq; @@ -176,6 +176,7 @@ struct task sc_setwmetask; /* set wme params processing */ struct task sc_downtask; /* disassociate processing */ struct task sc_restarttask; /* restart adapter processing */ + struct task sc_opstask; /* scan / auth processing */ unsigned int sc_softled : 1, /* enable LED gpio status */ sc_ledstate: 1, /* LED on/off state */ @@ -195,6 +196,11 @@ int sc_rfkill_timer;/* poll for rfkill change */ int sc_scan_timer; /* scan request timeout */ +#define IWI_SCAN_START (1 << 0) +#define IWI_SET_CHANNEL (1 << 1) +#define IWI_SCAN_END (1 << 2) +#define IWI_ASSOC (1 << 3) + int sc_scanop; /* operation for scan task to perform */ struct bpf_if *sc_drvbpf; union { From owner-p4-projects@FreeBSD.ORG Fri Jan 5 07:54:06 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 26AC816A5B3; Fri, 5 Jan 2007 07:54:06 +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 DD42816A5AC for ; Fri, 5 Jan 2007 07:54:05 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CD76F13C442 for ; Fri, 5 Jan 2007 07:54:05 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l057s57Q066111 for ; Fri, 5 Jan 2007 07:54:05 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l057s5bU066108 for perforce@freebsd.org; Fri, 5 Jan 2007 07:54:05 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 5 Jan 2007 07:54:05 GMT Message-Id: <200701050754.l057s5bU066108@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 112534 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: Fri, 05 Jan 2007 07:54:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=112534 Change 112534 by rdivacky@rdivacky_witten on 2007/01/05 07:53:57 Dont lock em in a case of just using em->shared->group_pid because the group_pid never changes. Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#50 edit .. //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#9 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#50 (text+ko) ==== @@ -1448,10 +1448,9 @@ #endif if (linux_use26(td)) { - em = em_find(td->td_proc, EMUL_DOLOCK); + em = em_find(td->td_proc, EMUL_DONTLOCK); KASSERT(em != NULL, ("getpid: emuldata not found.\n")); td->td_retval[0] = em->shared->group_pid; - EMUL_UNLOCK(&emul_lock); } else { td->td_retval[0] = td->td_proc->p_pid; } @@ -1490,7 +1489,7 @@ return (0); } - em = em_find(td->td_proc, EMUL_DOLOCK); + em = em_find(td->td_proc, EMUL_DONTLOCK); KASSERT(em != NULL, ("getppid: process emuldata not found.\n")); @@ -1519,7 +1518,6 @@ } else td->td_retval[0] = pp->p_pid; - EMUL_UNLOCK(&emul_lock); PROC_UNLOCK(pp); return (0); ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#9 (text+ko) ==== @@ -561,7 +561,7 @@ PROC_UNLOCK(p); - em = em_find(p, EMUL_DOLOCK); + em = em_find(p, EMUL_DONTLOCK); if (em == NULL) { #ifdef DEBUG @@ -573,8 +573,6 @@ if (em->shared->group_pid != args->tgid) return ESRCH; - EMUL_UNLOCK(&emul_lock); - return linux_kill(td, &ka); } From owner-p4-projects@FreeBSD.ORG Fri Jan 5 08:02:17 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 EE0B316A40F; Fri, 5 Jan 2007 08:02:16 +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 ACA1816A47C for ; Fri, 5 Jan 2007 08:02:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9C3E913C455 for ; Fri, 5 Jan 2007 08:02:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l0582Gvs067587 for ; Fri, 5 Jan 2007 08:02:16 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l0582Gnq067583 for perforce@freebsd.org; Fri, 5 Jan 2007 08:02:16 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 5 Jan 2007 08:02:16 GMT Message-Id: <200701050802.l0582Gnq067583@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 112535 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: Fri, 05 Jan 2007 08:02:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=112535 Change 112535 by rdivacky@rdivacky_witten on 2007/01/05 08:01:24 No need to lock prison in a case of linux_use26 becuase the int setting is atomic and process cannot leave jail. Submitted by: kib Reviewed by: jhb Affected files ... .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#6 edit Differences ... ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#6 (text+ko) ==== @@ -237,12 +237,10 @@ pr = td->td_ucred->cr_prison; if (pr != NULL) { - mtx_lock(&pr->pr_mtx); if (pr->pr_linux != NULL) { lpr = (struct linux_prison *)pr->pr_linux; use26 = lpr->pr_use_linux26; } - mtx_unlock(&pr->pr_mtx); } else use26 = linux_use_linux26; From owner-p4-projects@FreeBSD.ORG Fri Jan 5 15:52:03 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 4E43216A416; Fri, 5 Jan 2007 15:52:03 +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 11FA816A412 for ; Fri, 5 Jan 2007 15:52:03 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 00D5C13C46A for ; Fri, 5 Jan 2007 15:52:03 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05Fq26F050063 for ; Fri, 5 Jan 2007 15:52:02 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05Fq267050059 for perforce@freebsd.org; Fri, 5 Jan 2007 15:52:02 GMT (envelope-from piso@freebsd.org) Date: Fri, 5 Jan 2007 15:52:02 GMT Message-Id: <200701051552.l05Fq267050059@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112545 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: Fri, 05 Jan 2007 15:52:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=112545 Change 112545 by piso@piso_newluxor on 2007/01/05 15:51:53 Consolidate all the archs on the same behaviour: in case intr_event_schedule_thread() fails, panic! So far, sparc64 was the only arch that didn't panic in this case. Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#13 edit .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#12 edit .. //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#20 edit .. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#11 edit .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#23 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#17 edit .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#12 edit Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#13 (text+ko) ==== @@ -280,9 +280,6 @@ /* FALLTHROUGH */ case ECHILD: break; - case EFAULT: - panic("Bad stray interrupt\n"); - break; case EINVAL: /* * For stray interrupts, mask and EOI the source, bump the ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#12 (text+ko) ==== @@ -148,8 +148,6 @@ break; case ECHILD: break; - case EFAULT: - /* FALLTHROUGH */ case EINVAL: break; default: ==== //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#20 (text+ko) ==== @@ -268,9 +268,6 @@ /* FALLTHROUGH */ case ECHILD: break; - case EFAULT: - panic("Bad stray interrupt\n"); - break; case EINVAL: /* * For stray interrupts, mask and EOI the source, bump the ==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#11 (text+ko) ==== @@ -404,9 +404,6 @@ case ECHILD: ia64_send_eoi(vector); break; - case EFAULT: - panic("Got an impossible stray interrupt\n"); - break; case EINVAL: panic("Interrupt vector without an event\n"); break; ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#23 (text+ko) ==== @@ -1005,7 +1005,6 @@ * o 0: everything ok. * o EINVAL: stray interrupt. * o ECHILD: no ithread scheduled. - * o EFAULT: something went wrong with ithread scheduling. */ int mi_handle_intr(struct intr_event *ie, struct trapframe *frame, @@ -1055,7 +1054,8 @@ /* Schedule an ithread if needed. */ if (thread & FILTER_SCHEDULE_THREAD) { error = intr_event_schedule_thread(ie, ithd); - res = (error == 0) ? 0 : EFAULT; + if (error != 0) + panic("%s: impossible stray interrupt", __func__); } else res = ECHILD; td->td_intr_nesting_level--; ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#17 (text+ko) ==== @@ -288,9 +288,6 @@ case ECHILD: irq_enable(irq); break; - case EFAULT: - panic("%s: impossible stray interrupt", __func__); - break; case EINVAL: stray_int(irq); break; ==== //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#12 (text+ko) ==== @@ -279,8 +279,6 @@ /* FALLTHROUGH */ case ECHILD: break; - case EFAULT: - /* FALLTHROUGH */ case EINVAL: intr_stray_vector(iv); break; From owner-p4-projects@FreeBSD.ORG Fri Jan 5 16:29:52 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 1FBA716A47C; Fri, 5 Jan 2007 16:29:52 +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 BFC7A16A47B for ; Fri, 5 Jan 2007 16:29:51 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 76BBA13C45B for ; Fri, 5 Jan 2007 16:29:51 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05GTpTM057574 for ; Fri, 5 Jan 2007 16:29:51 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05GTpK2057571 for perforce@freebsd.org; Fri, 5 Jan 2007 16:29:51 GMT (envelope-from piso@freebsd.org) Date: Fri, 5 Jan 2007 16:29:51 GMT Message-Id: <200701051629.l05GTpK2057571@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112546 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: Fri, 05 Jan 2007 16:29:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=112546 Change 112546 by piso@piso_newluxor on 2007/01/05 16:29:28 o s/mi_handle_intr/handle_intr/g o indentation Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#14 edit .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#13 edit .. //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#21 edit .. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#12 edit .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#24 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#18 edit .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#13 edit .. //depot/projects/soc2006/intr_filter/sys/interrupt.h#11 edit Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#14 (text+ko) ==== @@ -274,7 +274,7 @@ if (vector == 0) clkintr_pending = 1; - res = mi_handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); + res = handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); switch(res) { case 0: /* FALLTHROUGH */ ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#13 (text+ko) ==== @@ -141,8 +141,8 @@ while ((i = arm_get_next_irq()) != -1) { intrcnt[intrcnt_tab[i]]++; event = intr_events[i]; - res = mi_handle_intr(event, frame, intr_eoi_src_stub, - intr_disab_eoi_src, (void *)i); + res = handle_intr(event, frame, intr_eoi_src_stub, + intr_disab_eoi_src, (void *)i); switch (res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#21 (text+ko) ==== @@ -262,7 +262,7 @@ if (vector == 0) clkintr_pending = 1; - res = mi_handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); + res = handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); switch(res) { case 0: /* FALLTHROUGH */ ==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#12 (text+ko) ==== @@ -396,8 +396,8 @@ if (i->cntp) atomic_add_long(i->cntp, 1); - res = mi_handle_intr(i->event, frame, intr_eoi_src_stub, - intr_disab_eoi_src_stub, NULL); + res = handle_intr(i->event, frame, intr_eoi_src_stub, + intr_disab_eoi_src_stub, NULL); switch (res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#24 (text+ko) ==== @@ -1007,9 +1007,9 @@ * o ECHILD: no ithread scheduled. */ int -mi_handle_intr(struct intr_event *ie, struct trapframe *frame, - void (*intr_eoi_src)(void *), - void (*intr_disab_eoi_src)(void *), void *arg) +handle_intr(struct intr_event *ie, struct trapframe *frame, + void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *), + void *arg) { struct intr_thread *ithd; struct thread *td; ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#18 (text+ko) ==== @@ -280,7 +280,7 @@ ie = i->event; KASSERT(ie != NULL, ("%s: interrupt without an event", __func__)); - res = mi_handle_intr(ie, NULL, intr_eoi_src_stub, + res = handle_intr(ie, NULL, intr_eoi_src_stub, intr_disab_eoi_src_stub, NULL); switch(res) { case 0: ==== //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#13 (text+ko) ==== @@ -272,8 +272,8 @@ iv = cookie; ie = iv->iv_event; - res = mi_handle_intr(ie, NULL, intr_eoi_src_stub, intr_disab_eoi_src_stub, - NULL); + res = handle_intr(ie, NULL, intr_eoi_src_stub, + intr_disab_eoi_src_stub, NULL); switch (res) { case 0: /* FALLTHROUGH */ ==== //depot/projects/soc2006/intr_filter/sys/interrupt.h#11 (text+ko) ==== @@ -119,9 +119,9 @@ void stray_detection(void *_arg); void intr_eoi_src_stub(void *arg __unused); void intr_disab_eoi_src_stub(void *arg __unused); -int mi_handle_intr(struct intr_event *ie, struct trapframe *frame, - void (*intr_eoi_src)(void *), - void (*intr_disab_eoi_src)(void *), void *arg); +int handle_intr(struct intr_event *ie, struct trapframe *frame, + void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *), + void *arg); u_char intr_priority(enum intr_type flags); int intr_event_add_handler(struct intr_event *ie, const char *name, driver_filter_t filter, driver_intr_t handler, void *arg, u_char pri, enum intr_type flags, From owner-p4-projects@FreeBSD.ORG Fri Jan 5 17:55:42 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 9CE6A16A4C9; Fri, 5 Jan 2007 17:55:42 +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 6551316A412 for ; Fri, 5 Jan 2007 17:55:42 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 552EC13C471 for ; Fri, 5 Jan 2007 17:55:42 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05HtgAS088165 for ; Fri, 5 Jan 2007 17:55:42 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05Htgoi088161 for perforce@freebsd.org; Fri, 5 Jan 2007 17:55:42 GMT (envelope-from piso@freebsd.org) Date: Fri, 5 Jan 2007 17:55:42 GMT Message-Id: <200701051755.l05Htgoi088161@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112549 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: Fri, 05 Jan 2007 17:55:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=112549 Change 112549 by piso@piso_newluxor on 2007/01/05 17:55:10 Arm interrupt handling doesn't have any particular case anymore: simplify the MD code dropping the switch at all. Affected files ... .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#14 edit Differences ... ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#14 (text+ko) ==== @@ -135,25 +135,14 @@ arm_handler_execute(struct trapframe *frame, int irqnb __unused) { struct intr_event *event; - int i, res; + int i; PCPU_LAZY_INC(cnt.v_intr); while ((i = arm_get_next_irq()) != -1) { intrcnt[intrcnt_tab[i]]++; event = intr_events[i]; - res = handle_intr(event, frame, intr_eoi_src_stub, + handle_intr(event, frame, intr_eoi_src_stub, intr_disab_eoi_src, (void *)i); - switch (res) { - case 0: - break; - case ECHILD: - break; - case EINVAL: - break; - default: - printf("Ouch! Return code from mi_handle_intr()" - "not expected.\n"); - } } } From owner-p4-projects@FreeBSD.ORG Fri Jan 5 19:01:08 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 5522916A415; Fri, 5 Jan 2007 19:01:08 +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 1376216A40F for ; Fri, 5 Jan 2007 19:01:08 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 03C3D13C441 for ; Fri, 5 Jan 2007 19:01:08 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05J17Il001350 for ; Fri, 5 Jan 2007 19:01:07 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05J17RW001347 for perforce@freebsd.org; Fri, 5 Jan 2007 19:01:07 GMT (envelope-from piso@freebsd.org) Date: Fri, 5 Jan 2007 19:01:07 GMT Message-Id: <200701051901.l05J17RW001347@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112554 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: Fri, 05 Jan 2007 19:01:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=112554 Change 112554 by piso@piso_newluxor on 2007/01/05 19:00:07 Enable the irq line just after the filter claimed the interrupt. Affected files ... .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#19 edit Differences ... ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#19 (text+ko) ==== @@ -262,6 +262,15 @@ } } +static void +intr_eoi_src(void *arg) +{ + uintptr_t nb; + + nb = (uintptr_t)arg; + irq_enable(nb); +} + void intr_handle(u_int irq) { @@ -280,13 +289,12 @@ ie = i->event; KASSERT(ie != NULL, ("%s: interrupt without an event", __func__)); - res = handle_intr(ie, NULL, intr_eoi_src_stub, - intr_disab_eoi_src_stub, NULL); + res = handle_intr(ie, NULL, intr_eoi_src, + intr_disab_eoi_src_stub, (void *)irq); switch(res) { case 0: - break; + /* FALLTHROUGH */ case ECHILD: - irq_enable(irq); break; case EINVAL: stray_int(irq); From owner-p4-projects@FreeBSD.ORG Fri Jan 5 19:27:36 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 9F1C216A494; Fri, 5 Jan 2007 19:27:36 +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 79F7116A403; Fri, 5 Jan 2007 19:27:36 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id EC90E13C4A7; Fri, 5 Jan 2007 19:27:35 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l05JRXr3041343; Fri, 5 Jan 2007 14:27:34 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Roman Divacky Date: Fri, 5 Jan 2007 12:31:59 -0500 User-Agent: KMail/1.9.1 References: <200701050754.l057s5bU066108@repoman.freebsd.org> In-Reply-To: <200701050754.l057s5bU066108@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701051231.59354.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Fri, 05 Jan 2007 14:27:34 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2414/Thu Jan 4 20:41:51 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112534 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: Fri, 05 Jan 2007 19:27:37 -0000 On Friday 05 January 2007 02:54, Roman Divacky wrote: > http://perforce.freebsd.org/chv.cgi?CH=112534 > > Change 112534 by rdivacky@rdivacky_witten on 2007/01/05 07:53:57 > > Dont lock em in a case of just using em->shared->group_pid because > the group_pid never changes. Is em->shared static for the lifetime of an em object? > Affected files ... > > .. //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#50 edit > .. //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#9 edit > > Differences ... > > ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_misc.c#50 (text+ko) ==== > > @@ -1448,10 +1448,9 @@ > #endif > > if (linux_use26(td)) { > - em = em_find(td->td_proc, EMUL_DOLOCK); > + em = em_find(td->td_proc, EMUL_DONTLOCK); > KASSERT(em != NULL, ("getpid: emuldata not found.\n")); > td->td_retval[0] = em->shared->group_pid; > - EMUL_UNLOCK(&emul_lock); > } else { > td->td_retval[0] = td->td_proc->p_pid; > } > @@ -1490,7 +1489,7 @@ > return (0); > } > > - em = em_find(td->td_proc, EMUL_DOLOCK); > + em = em_find(td->td_proc, EMUL_DONTLOCK); > > KASSERT(em != NULL, ("getppid: process emuldata not found.\n")); > > @@ -1519,7 +1518,6 @@ > } else > td->td_retval[0] = pp->p_pid; > > - EMUL_UNLOCK(&emul_lock); > PROC_UNLOCK(pp); > > return (0); > > ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_signal.c#9 (text+ko) ==== > > @@ -561,7 +561,7 @@ > > PROC_UNLOCK(p); > > - em = em_find(p, EMUL_DOLOCK); > + em = em_find(p, EMUL_DONTLOCK); > > if (em == NULL) { > #ifdef DEBUG > @@ -573,8 +573,6 @@ > if (em->shared->group_pid != args->tgid) > return ESRCH; > > - EMUL_UNLOCK(&emul_lock); > - > return linux_kill(td, &ka); > } > > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Fri Jan 5 19:27:39 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 B150F16A417; Fri, 5 Jan 2007 19:27:39 +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 76CC516A40F; Fri, 5 Jan 2007 19:27:39 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 2580D13C458; Fri, 5 Jan 2007 19:27:38 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l05JRXr4041343; Fri, 5 Jan 2007 14:27:36 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Roman Divacky Date: Fri, 5 Jan 2007 12:32:27 -0500 User-Agent: KMail/1.9.1 References: <200701050802.l0582Gnq067583@repoman.freebsd.org> In-Reply-To: <200701050802.l0582Gnq067583@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701051232.28019.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Fri, 05 Jan 2007 14:27:36 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2414/Thu Jan 4 20:41:51 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112535 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: Fri, 05 Jan 2007 19:27:39 -0000 On Friday 05 January 2007 03:02, Roman Divacky wrote: > http://perforce.freebsd.org/chv.cgi?CH=112535 > > Change 112535 by rdivacky@rdivacky_witten on 2007/01/05 08:01:24 > > No need to lock prison in a case of linux_use26 becuase the int > setting is atomic and process cannot leave jail. > > Submitted by: kib > Reviewed by: jhb > > Affected files ... > > .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#6 edit > > Differences ... > > ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#6 (text+ko) ==== > > @@ -237,12 +237,10 @@ > > pr = td->td_ucred->cr_prison; > if (pr != NULL) { > - mtx_lock(&pr->pr_mtx); > if (pr->pr_linux != NULL) { > lpr = (struct linux_prison *)pr->pr_linux; > use26 = lpr->pr_use_linux26; > } > - mtx_unlock(&pr->pr_mtx); > } else > use26 = linux_use_linux26; > > Hmm, what is use26 set to if pr != NULL but pr->pr_linux == NULL? -- John Baldwin From owner-p4-projects@FreeBSD.ORG Fri Jan 5 19:27:41 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 9BFAD16A500; Fri, 5 Jan 2007 19:27:41 +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 620A916A553 for ; Fri, 5 Jan 2007 19:27:41 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id D854313C461 for ; Fri, 5 Jan 2007 19:27:40 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l05JRXr5041343; Fri, 5 Jan 2007 14:27:38 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Paolo Pisati Date: Fri, 5 Jan 2007 12:34:37 -0500 User-Agent: KMail/1.9.1 References: <200701051629.l05GTpK2057571@repoman.freebsd.org> In-Reply-To: <200701051629.l05GTpK2057571@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701051234.37394.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Fri, 05 Jan 2007 14:27:38 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2414/Thu Jan 4 20:41:51 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112546 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: Fri, 05 Jan 2007 19:27:41 -0000 On Friday 05 January 2007 11:29, Paolo Pisati wrote: > http://perforce.freebsd.org/chv.cgi?CH=112546 > > Change 112546 by piso@piso_newluxor on 2007/01/05 16:29:28 > > o s/mi_handle_intr/handle_intr/g > o indentation Actually, can you call it 'intr_handle()?' Or maybe 'intr_event_handle()'? Also, can you make the intr_eoi_src and intr_disable_eoi_src function pointers be part of 'struct intr_event' passed to intr_event_create() instead of passing them to this function? You also shouldn't need to pass 'isrc' to the function as it's already in the intr_event. > Affected files ... > > .. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#14 edit > .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#13 edit > .. //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#21 edit > .. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#12 edit > .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#24 edit > .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#18 edit > .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#13 edit > .. //depot/projects/soc2006/intr_filter/sys/interrupt.h#11 edit > > Differences ... > > ==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#14 (text+ko) ==== > > @@ -274,7 +274,7 @@ > if (vector == 0) > clkintr_pending = 1; > > - res = mi_handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); > + res = handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); > switch(res) { > case 0: > /* FALLTHROUGH */ > > ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#13 (text+ko) ==== > > @@ -141,8 +141,8 @@ > while ((i = arm_get_next_irq()) != -1) { > intrcnt[intrcnt_tab[i]]++; > event = intr_events[i]; > - res = mi_handle_intr(event, frame, intr_eoi_src_stub, > - intr_disab_eoi_src, (void *)i); > + res = handle_intr(event, frame, intr_eoi_src_stub, > + intr_disab_eoi_src, (void *)i); > switch (res) { > case 0: > break; > > ==== //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#21 (text+ko) ==== > > @@ -262,7 +262,7 @@ > if (vector == 0) > clkintr_pending = 1; > > - res = mi_handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); > + res = handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); > switch(res) { > case 0: > /* FALLTHROUGH */ > > ==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#12 (text+ko) ==== > > @@ -396,8 +396,8 @@ > if (i->cntp) > atomic_add_long(i->cntp, 1); > > - res = mi_handle_intr(i->event, frame, intr_eoi_src_stub, > - intr_disab_eoi_src_stub, NULL); > + res = handle_intr(i->event, frame, intr_eoi_src_stub, > + intr_disab_eoi_src_stub, NULL); > switch (res) { > case 0: > break; > > ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#24 (text+ko) ==== > > @@ -1007,9 +1007,9 @@ > * o ECHILD: no ithread scheduled. > */ > int > -mi_handle_intr(struct intr_event *ie, struct trapframe *frame, > - void (*intr_eoi_src)(void *), > - void (*intr_disab_eoi_src)(void *), void *arg) > +handle_intr(struct intr_event *ie, struct trapframe *frame, > + void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *), > + void *arg) > { > struct intr_thread *ithd; > struct thread *td; > > ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#18 (text+ko) ==== > > @@ -280,7 +280,7 @@ > ie = i->event; > KASSERT(ie != NULL, ("%s: interrupt without an event", __func__)); > > - res = mi_handle_intr(ie, NULL, intr_eoi_src_stub, > + res = handle_intr(ie, NULL, intr_eoi_src_stub, > intr_disab_eoi_src_stub, NULL); > switch(res) { > case 0: > > ==== //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#13 (text+ko) ==== > > @@ -272,8 +272,8 @@ > > iv = cookie; > ie = iv->iv_event; > - res = mi_handle_intr(ie, NULL, intr_eoi_src_stub, intr_disab_eoi_src_stub, > - NULL); > + res = handle_intr(ie, NULL, intr_eoi_src_stub, > + intr_disab_eoi_src_stub, NULL); > switch (res) { > case 0: > /* FALLTHROUGH */ > > ==== //depot/projects/soc2006/intr_filter/sys/interrupt.h#11 (text+ko) ==== > > @@ -119,9 +119,9 @@ > void stray_detection(void *_arg); > void intr_eoi_src_stub(void *arg __unused); > void intr_disab_eoi_src_stub(void *arg __unused); > -int mi_handle_intr(struct intr_event *ie, struct trapframe *frame, > - void (*intr_eoi_src)(void *), > - void (*intr_disab_eoi_src)(void *), void *arg); > +int handle_intr(struct intr_event *ie, struct trapframe *frame, > + void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *), > + void *arg); > u_char intr_priority(enum intr_type flags); > int intr_event_add_handler(struct intr_event *ie, const char *name, > driver_filter_t filter, driver_intr_t handler, void *arg, u_char pri, enum intr_type flags, > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Fri Jan 5 19:28:06 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 B952716A4A0; Fri, 5 Jan 2007 19:28:06 +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 97B9816A47C for ; Fri, 5 Jan 2007 19:28:06 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 4221F13C468 for ; Fri, 5 Jan 2007 19:28:06 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l05JRXr8041343; Fri, 5 Jan 2007 14:28:03 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Paolo Pisati Date: Fri, 5 Jan 2007 14:12:34 -0500 User-Agent: KMail/1.9.1 References: <200701051901.l05J17RW001347@repoman.freebsd.org> In-Reply-To: <200701051901.l05J17RW001347@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701051412.35212.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Fri, 05 Jan 2007 14:28:04 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2414/Thu Jan 4 20:41:51 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112554 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: Fri, 05 Jan 2007 19:28:07 -0000 On Friday 05 January 2007 14:01, Paolo Pisati wrote: > http://perforce.freebsd.org/chv.cgi?CH=112554 > > Change 112554 by piso@piso_newluxor on 2007/01/05 19:00:07 > > Enable the irq line just after the filter claimed the interrupt. More likely is that it shouldnt' disable the IRQ line except in the disable_eoi_source callback. > Affected files ... > > .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#19 edit > > Differences ... > > ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#19 (text+ko) ==== > > @@ -262,6 +262,15 @@ > } > } > > +static void > +intr_eoi_src(void *arg) > +{ > + uintptr_t nb; > + > + nb = (uintptr_t)arg; > + irq_enable(nb); > +} > + > void > intr_handle(u_int irq) > { > @@ -280,13 +289,12 @@ > ie = i->event; > KASSERT(ie != NULL, ("%s: interrupt without an event", __func__)); > > - res = handle_intr(ie, NULL, intr_eoi_src_stub, > - intr_disab_eoi_src_stub, NULL); > + res = handle_intr(ie, NULL, intr_eoi_src, > + intr_disab_eoi_src_stub, (void *)irq); > switch(res) { > case 0: > - break; > + /* FALLTHROUGH */ > case ECHILD: > - irq_enable(irq); > break; > case EINVAL: > stray_int(irq); > -- John Baldwin From owner-p4-projects@FreeBSD.ORG Fri Jan 5 20:07:43 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 7087316A416; Fri, 5 Jan 2007 20:07:43 +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 40D7D16A415; Fri, 5 Jan 2007 20:07:43 +0000 (UTC) (envelope-from piso@newluxor.wired.org) Received: from mail.oltrelinux.com (krisma.oltrelinux.com [194.242.226.43]) by mx1.freebsd.org (Postfix) with ESMTP id 0104D13C45D; Fri, 5 Jan 2007 20:07:42 +0000 (UTC) (envelope-from piso@newluxor.wired.org) Received: from newluxor.wired.org (ip-64-88.sn2.eutelia.it [83.211.64.88]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.oltrelinux.com (Postfix) with ESMTP id 1C6A711AE45; Fri, 5 Jan 2007 20:45:53 +0100 (CET) Received: (from piso@localhost) by newluxor.wired.org (8.13.8/8.13.8/Submit) id l05JjdQx077593; Fri, 5 Jan 2007 20:45:39 +0100 (CET) (envelope-from piso) Date: Fri, 5 Jan 2007 20:45:38 +0100 From: Paolo Pisati To: John Baldwin Message-ID: <20070105194538.GA55976@tin.it> References: <200701051629.l05GTpK2057571@repoman.freebsd.org> <200701051234.37394.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701051234.37394.jhb@freebsd.org> User-Agent: Mutt/1.4.2.2i X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at krisma.oltrelinux.com Cc: Perforce Change Reviews , Paolo Pisati Subject: Re: PERFORCE change 112546 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: Fri, 05 Jan 2007 20:07:43 -0000 On Fri, Jan 05, 2007 at 12:34:37PM -0500, John Baldwin wrote: > Also, can you make the intr_eoi_src and intr_disable_eoi_src function pointers > be part of 'struct intr_event' passed to intr_event_create() instead of > passing them to this function? You also shouldn't need to pass 'isrc' to > the function as it's already in the intr_event. Yep, that's the plan. P. From owner-p4-projects@FreeBSD.ORG Fri Jan 5 20:14:57 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 0548416A415; Fri, 5 Jan 2007 20:14:57 +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 A5C7416A407; Fri, 5 Jan 2007 20:14:56 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.freebsd.org (Postfix) with ESMTP id 4FB8C13C457; Fri, 5 Jan 2007 20:14:56 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id l05KErZZ041649; Fri, 5 Jan 2007 15:14:54 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: Paolo Pisati Date: Fri, 5 Jan 2007 15:15:08 -0500 User-Agent: KMail/1.9.1 References: <200701051629.l05GTpK2057571@repoman.freebsd.org> <200701051234.37394.jhb@freebsd.org> <20070105194538.GA55976@tin.it> In-Reply-To: <20070105194538.GA55976@tin.it> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200701051515.09123.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Fri, 05 Jan 2007 15:14:54 -0500 (EST) X-Virus-Scanned: ClamAV 0.88.3/2414/Thu Jan 4 20:41:51 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 112546 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: Fri, 05 Jan 2007 20:14:57 -0000 On Friday 05 January 2007 14:45, Paolo Pisati wrote: > On Fri, Jan 05, 2007 at 12:34:37PM -0500, John Baldwin wrote: > > Also, can you make the intr_eoi_src and intr_disable_eoi_src function pointers > > be part of 'struct intr_event' passed to intr_event_create() instead of > > passing them to this function? You also shouldn't need to pass 'isrc' to > > the function as it's already in the intr_event. > > Yep, that's the plan. I'd actually like to make intr_event_handle() relative to what is in HEAD now so it can be backported to 6.x so we can also try out some things like put INTR_FAST handlers on a separate list in 6.x (we can't backport filters to 6.x though). This will also make the actual diff to do filters smaller as it will only really be tweaking MI code. -- John Baldwin From owner-p4-projects@FreeBSD.ORG Fri Jan 5 20:16:52 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 75D0616A40F; Fri, 5 Jan 2007 20:16:52 +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 1F6F616A403 for ; Fri, 5 Jan 2007 20:16:52 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1087213C44B for ; Fri, 5 Jan 2007 20:16:52 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05KGpdj019708 for ; Fri, 5 Jan 2007 20:16:51 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05KGpZp019705 for perforce@freebsd.org; Fri, 5 Jan 2007 20:16:51 GMT (envelope-from piso@freebsd.org) Date: Fri, 5 Jan 2007 20:16:51 GMT Message-Id: <200701052016.l05KGpZp019705@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112560 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: Fri, 05 Jan 2007 20:16:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=112560 Change 112560 by piso@piso_newluxor on 2007/01/05 20:16:33 Enable the irq line just after the filter claimed the interrupt. Affected files ... .. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#13 edit Differences ... ==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#13 (text+ko) ==== @@ -380,6 +380,15 @@ mtx_unlock_spin(&ia64_intrs_lock); } +static void +intr_eoi_src(void *arg) +{ + uintptr_t nb; + + nb = (uintptr_t)arg; + ia64_send_eoi(nb); +} + void ia64_dispatch_intr(void *frame, unsigned long vector) { @@ -396,13 +405,12 @@ if (i->cntp) atomic_add_long(i->cntp, 1); - res = handle_intr(i->event, frame, intr_eoi_src_stub, - intr_disab_eoi_src_stub, NULL); + res = handle_intr(i->event, frame, intr_eoi_src, + intr_disab_eoi_src_stub, (void *)vector); switch (res) { case 0: - break; + /* FALLTHROUGH */ case ECHILD: - ia64_send_eoi(vector); break; case EINVAL: panic("Interrupt vector without an event\n"); From owner-p4-projects@FreeBSD.ORG Fri Jan 5 22:45:03 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 4BBD216A47B; Fri, 5 Jan 2007 22:45:03 +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 1B76516A403 for ; Fri, 5 Jan 2007 22:45:03 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 07CE713C46A for ; Fri, 5 Jan 2007 22:45:03 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05Mj2Y7055272 for ; Fri, 5 Jan 2007 22:45:02 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05Mj2cg055269 for perforce@freebsd.org; Fri, 5 Jan 2007 22:45:02 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 22:45:02 GMT Message-Id: <200701052245.l05Mj2cg055269@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112566 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: Fri, 05 Jan 2007 22:45:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=112566 Change 112566 by mjacob@mjexp on 2007/01/05 22:44:55 Fix a typo. Affected files ... .. //depot/projects/mjexp/sbin/geom/class/multipath/geom_multipath.c#5 edit Differences ... ==== //depot/projects/mjexp/sbin/geom/class/multipath/geom_multipath.c#5 (text+ko) ==== @@ -58,10 +58,6 @@ "clear", G_FLAG_VERBOSE, mp_main, G_NULL_OPTS, "[-v] prov ..." }, - { - "destroy", G_FLAG_VERBOSE, NULL, G_NULL_OPTS, - "[-fv] name" - }, G_CMD_SENTINEL }; @@ -77,7 +73,7 @@ } if (strcmp(name, "label") == 0) { mp_label(req); - } if (strcmp(name, "clear") == 0) { + } else if (strcmp(name, "clear") == 0) { mp_clear(req); } else { gctl_error(req, "Unknown command: %s.", name); @@ -232,4 +228,3 @@ } } } - From owner-p4-projects@FreeBSD.ORG Fri Jan 5 22:46:05 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 311FA16A412; Fri, 5 Jan 2007 22:46:05 +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 EB17016A407 for ; Fri, 5 Jan 2007 22:46:04 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id DF26F13C461 for ; Fri, 5 Jan 2007 22:46:04 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05Mk4gQ055373 for ; Fri, 5 Jan 2007 22:46:04 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05Mk4D5055370 for perforce@freebsd.org; Fri, 5 Jan 2007 22:46:04 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 22:46:04 GMT Message-Id: <200701052246.l05Mk4D5055370@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112567 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: Fri, 05 Jan 2007 22:46:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=112567 Change 112567 by mjacob@mjexp_6 on 2007/01/05 22:45:21 Fix a typo. Affected files ... .. //depot/projects/mjexp_6/sbin/geom/class/multipath/geom_multipath.c#2 edit Differences ... ==== //depot/projects/mjexp_6/sbin/geom/class/multipath/geom_multipath.c#2 (text+ko) ==== @@ -47,16 +47,17 @@ static void mp_main(struct gctl_req *, unsigned int); static void mp_label(struct gctl_req *); +static void mp_clear(struct gctl_req *); struct g_command class_commands[] = { { "label", G_FLAG_VERBOSE | G_FLAG_LOADKLD, mp_main, G_NULL_OPTS, - "[-v] name prov prov" + "[-v] name prov ..." }, { - "destroy", G_FLAG_VERBOSE, NULL, G_NULL_OPTS, - "[-fv] name" - }, + "clear", G_FLAG_VERBOSE, mp_main, G_NULL_OPTS, + "[-v] prov ..." + }, G_CMD_SENTINEL }; @@ -72,6 +73,8 @@ } if (strcmp(name, "label") == 0) { mp_label(req); + } else if (strcmp(name, "clear") == 0) { + mp_clear(req); } else { gctl_error(req, "Unknown command: %s.", name); } @@ -90,7 +93,7 @@ int error, i, nargs; nargs = gctl_get_int(req, "nargs"); - if (nargs != 3) { + if (nargs < 2) { gctl_error(req, "wrong number of arguments."); return; } @@ -201,3 +204,27 @@ } } } + +static void +mp_clear(struct gctl_req *req) +{ + const char *name; + int error, i, nargs; + + nargs = gctl_get_int(req, "nargs"); + if (nargs < 1) { + gctl_error(req, "Too few arguments."); + return; + } + + for (i = 0; i < nargs; i++) { + name = gctl_get_ascii(req, "arg%d", i); + error = g_metadata_clear(name, G_MULTIPATH_MAGIC); + if (error != 0) { + fprintf(stderr, "Can't clear metadata on %s: %s.\n", + name, strerror(error)); + gctl_error(req, "Not fully done."); + continue; + } + } +} From owner-p4-projects@FreeBSD.ORG Fri Jan 5 22:53:14 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 B2ED116A509; Fri, 5 Jan 2007 22:53:14 +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 826A716A506 for ; Fri, 5 Jan 2007 22:53:14 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 754AB13C45D for ; Fri, 5 Jan 2007 22:53:14 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05MrEAi056696 for ; Fri, 5 Jan 2007 22:53:14 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05MrE6g056691 for perforce@freebsd.org; Fri, 5 Jan 2007 22:53:14 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 22:53:14 GMT Message-Id: <200701052253.l05MrE6g056691@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112568 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: Fri, 05 Jan 2007 22:53:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=112568 Change 112568 by mjacob@mjexp on 2007/01/05 22:52:13 RELENG_6 compatibility code diff reduction. Affected files ... .. //depot/projects/mjexp/sys/dev/mpt/mpt.h#5 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#7 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt_pci.c#4 edit Differences ... ==== //depot/projects/mjexp/sys/dev/mpt/mpt.h#5 (text+ko) ==== @@ -515,7 +515,7 @@ uint32_t : 8, unit : 8, - : 1, + ready : 1, fw_uploaded : 1, msi_enable : 1, twildcard : 1, ==== //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#7 (text+ko) ==== @@ -110,7 +110,7 @@ #include #include -#if __FreeBSD_version >= 700000 +#if __FreeBSD_version >= 700025 #ifndef CAM_NEW_TRAN_CODE #define CAM_NEW_TRAN_CODE 1 #endif @@ -842,6 +842,7 @@ } MPT_UNLOCK(mpt); } + mpt->ready = 1; } void @@ -849,6 +850,7 @@ { mpt_handler_t handler; + mpt->ready = 0; mpt_terminate_recovery_thread(mpt); handler.reply_handler = mpt_scsi_reply_handler; @@ -3231,6 +3233,7 @@ /* * The base speed is the speed of the underlying connection. */ +#ifdef CAM_NEW_TRAN cpi->protocol = PROTO_SCSI; if (mpt->is_fc) { cpi->hba_misc = PIM_NOBUSRESET; @@ -3254,6 +3257,21 @@ cpi->transport_version = 2; cpi->protocol_version = SCSI_REV_2; } +#else + if (mpt->is_fc) { + cpi->hba_misc = PIM_NOBUSRESET; + cpi->base_transfer_speed = 100000; + cpi->hba_inquiry = PI_TAG_ABLE; + } else if (mpt->is_sas) { + cpi->hba_misc = PIM_NOBUSRESET; + cpi->base_transfer_speed = 300000; + cpi->hba_inquiry = PI_TAG_ABLE; + } else { + cpi->hba_misc = PIM_SEQSCAN; + cpi->base_transfer_speed = 3300; + cpi->hba_inquiry = PI_SDTR_ABLE|PI_TAG_ABLE|PI_WIDE_16; + } +#endif /* * We give our fake RAID passhtru bus a width that is MaxVolumes ==== //depot/projects/mjexp/sys/dev/mpt/mpt_pci.c#4 (text+ko) ==== @@ -105,6 +105,12 @@ #include #include +#if __FreeBSD_version < 700000 +#define pci_msi_count(x) 0 +#define pci_msi_enable(x) 0 +#define pci_alloc_msi(x, y) 1 +#define pci_release_msi(x) do { ; } while (0) +#endif #ifndef PCI_VENDOR_LSI #define PCI_VENDOR_LSI 0x1000 @@ -327,7 +333,6 @@ } mpt->do_cfg_role = 1; } - mpt->msi_enable = 0; } #else From owner-p4-projects@FreeBSD.ORG Fri Jan 5 22:53:16 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 D2F6F16A58C; Fri, 5 Jan 2007 22:53:15 +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 80BF616A588 for ; Fri, 5 Jan 2007 22:53:15 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7027113C469 for ; Fri, 5 Jan 2007 22:53:15 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05MrFQe056712 for ; Fri, 5 Jan 2007 22:53:15 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05MrEWX056708 for perforce@freebsd.org; Fri, 5 Jan 2007 22:53:14 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 22:53:14 GMT Message-Id: <200701052253.l05MrEWX056708@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112570 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: Fri, 05 Jan 2007 22:53:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=112570 Change 112570 by mjacob@mjexp on 2007/01/05 22:53:08 (Temp) xpt_rescan code to checkpoint things. Affected files ... .. //depot/projects/mjexp/sys/cam/cam_xpt.c#5 edit .. //depot/projects/mjexp/sys/cam/cam_xpt.h#3 edit .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#7 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#8 edit .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.h#2 edit Differences ... ==== //depot/projects/mjexp/sys/cam/cam_xpt.c#5 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include #include +#include #ifdef PC98 #include /* geometry translation */ @@ -1412,10 +1413,50 @@ return 0; } +/* thread to handle bus rescans */ +static TAILQ_HEAD(, ccb_hdr) ccb_scanq; +static void +xpt_scanner_thread(void *dummy) +{ + mtx_lock(&Giant); + for (;;) { + union ccb *ccb; + tsleep(&ccb_scanq, PRIBIO, "ccb_scanq", 0); + while ((ccb = (union ccb *)TAILQ_FIRST(&ccb_scanq)) != NULL) { + TAILQ_REMOVE(&ccb_scanq, &ccb->ccb_h, sim_links.tqe); + ccb->ccb_h.func_code = XPT_SCAN_BUS; + ccb->ccb_h.cbfcnp = xptdone; + xpt_setup_ccb(&ccb->ccb_h, ccb->ccb_h.path, 5); + cam_periph_runccb(ccb, NULL, 0, 0, NULL); + xpt_free_path(ccb->ccb_h.path); + xpt_free_ccb(ccb); + } + } +} + +void +xpt_rescan(union ccb *ccb) +{ + struct ccb_hdr *hdr; + GIANT_REQUIRED; + /* + * Don't make duplicate entries for the same paths. + */ + TAILQ_FOREACH(hdr, &ccb_scanq, sim_links.tqe) { + if (xpt_path_comp(hdr->path, ccb->ccb_h.path) == 0) { + xpt_print(ccb->ccb_h.path, "rescan already queued\n"); + xpt_free_path(ccb->ccb_h.path); + xpt_free_ccb(ccb); + return; + } + } + TAILQ_INSERT_TAIL(&ccb_scanq, &ccb->ccb_h, sim_links.tqe); + wakeup(&ccb_scanq); +} + /* Functions accessed by the peripheral drivers */ static void -xpt_init(dummy) - void *dummy; +xpt_init(void *dummy) { struct cam_sim *xpt_sim; struct cam_path *path; @@ -1425,6 +1466,7 @@ TAILQ_INIT(&xpt_busses); TAILQ_INIT(&cam_bioq); SLIST_INIT(&ccb_freeq); + TAILQ_INIT(&ccb_scanq); STAILQ_INIT(&highpowerq); mtx_init(&cam_bioq_lock, "CAM BIOQ lock", NULL, MTX_DEF); @@ -1490,6 +1532,10 @@ "- failing attach\n"); } + /* fire up rescan thread */ + if (kthread_create(xpt_scanner_thread, NULL, NULL, 0, 0, "xpt_thrd")) { + printf("xpt_init: failed to create rescan thread\n"); + } /* Install our software interrupt handlers */ swi_add(NULL, "cambio", camisr, &cam_bioq, SWI_CAMBIO, 0, &cambio_ih); } @@ -4453,8 +4499,7 @@ bus = TAILQ_FIRST(&xpt_busses); retry: /* Find an unoccupied pathid */ - while (bus != NULL - && bus->path_id <= pathid) { + while (bus != NULL && bus->path_id <= pathid) { if (bus->path_id == pathid) pathid++; bus = TAILQ_NEXT(bus, links); ==== //depot/projects/mjexp/sys/cam/cam_xpt.h#3 (text+ko) ==== @@ -72,6 +72,7 @@ struct cam_periph *xpt_path_periph(struct cam_path *path); void xpt_async(u_int32_t async_code, struct cam_path *path, void *async_arg); +void xpt_rescan(union ccb *ccb); #endif /* _KERNEL */ #endif /* _CAM_CAM_XPT_H */ ==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#7 (text+ko) ==== @@ -42,6 +42,7 @@ #include #endif #include +#include #if !defined(CAM_NEW_TRAN_CODE) && __FreeBSD_version >= 700025 #define CAM_NEW_TRAN_CODE 1 @@ -2128,21 +2129,44 @@ #if __FreeBSD_version >= 500000 -#define isp_make_here(isp, tgt) isp_announce(isp, tgt, AC_FOUND_DEVICE) -#define isp_make_gone(isp, tgt) isp_announce(isp, tgt, AC_LOST_DEVICE) - /* - * Support function for Announcement + * Support functions for Found/Lost */ static void -isp_announce(ispsoftc_t *isp, int tgt, int action) +isp_make_here(ispsoftc_t *isp, int tgt) +{ + union ccb *ccb; + ISPLOCK_2_CAMLOCK(mpt); + /* + * Allocate a CCB, create a wildcard path for this bus, + * and schedule a rescan. + */ + ccb = xpt_alloc_ccb_nowait(); + if (ccb == NULL) { + isp_prt(isp, ISP_LOGWARN, "unable to alloc CCB for rescan"); + CAMLOCK_2_ISPLOCK(mpt); + return; + } + if (xpt_create_path(&ccb->ccb_h.path, xpt_periph, + cam_sim_path(isp->isp_sim), tgt, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { + CAMLOCK_2_ISPLOCK(mpt); + isp_prt(isp, ISP_LOGWARN, "unable to create path for rescan"); + xpt_free_ccb(ccb); + return; + } + xpt_rescan(ccb); + CAMLOCK_2_ISPLOCK(mpt); +} + +static void +isp_make_gone(ispsoftc_t *isp, int tgt) { - struct cam_path *tmppath; + struct cam_path *tp; ISPLOCK_2_CAMLOCK(isp); - if (xpt_create_path(&tmppath, NULL, cam_sim_path(isp->isp_sim), tgt, + if (xpt_create_path(&tp, NULL, cam_sim_path(isp->isp_sim), tgt, CAM_LUN_WILDCARD) == CAM_REQ_CMP) { - xpt_async(action, tmppath, NULL); - xpt_free_path(tmppath); + xpt_async(AC_LOST_DEVICE, tp, NULL); + xpt_free_path(tp); } CAMLOCK_2_ISPLOCK(isp); } ==== //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#8 (text+ko) ==== @@ -2083,13 +2083,44 @@ break; case MPI_EVENT_RESCAN: + { + union ccb *ccb; + uint32_t pathid; /* * In general this means a device has been added to the loop. */ mpt_prt(mpt, "Rescan Port: %d\n", (data0 >> 8) & 0xff); -/* xpt_async(AC_FOUND_DEVICE, path, NULL); */ + if (mpt->ready == 0) { + break; + } + if (mpt->phydisk_sim) { + pathid = cam_sim_path(mpt->phydisk_sim);; + } else { + pathid = cam_sim_path(mpt->sim); + } + MPTLOCK_2_CAMLOCK(mpt); + /* + * Allocate a CCB, create a wildcard path for this bus, + * and schedule a rescan. + */ + ccb = xpt_alloc_ccb_nowait(); + if (ccb == NULL) { + mpt_prt(mpt, "unable to alloc CCB for rescan\n"); + CAMLOCK_2_MPTLOCK(mpt); + break; + } + + if (xpt_create_path(&ccb->ccb_h.path, xpt_periph, pathid, + CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { + CAMLOCK_2_MPTLOCK(mpt); + mpt_prt(mpt, "unable to create path for rescan\n"); + xpt_free_ccb(ccb); + break; + } + xpt_rescan(ccb); + CAMLOCK_2_MPTLOCK(mpt); break; - + } case MPI_EVENT_LINK_STATUS_CHANGE: mpt_prt(mpt, "Port %d: LinkState: %s\n", (data1 >> 8) & 0xff, ==== //depot/projects/mjexp/sys/dev/mpt/mpt_cam.h#2 (text+ko) ==== @@ -101,6 +101,8 @@ #include #include #include +#include +#include #include #include #include From owner-p4-projects@FreeBSD.ORG Fri Jan 5 22:56:21 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 0012516A492; Fri, 5 Jan 2007 22:56:20 +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 973F816A417 for ; Fri, 5 Jan 2007 22:56:20 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 7107813C44B for ; Fri, 5 Jan 2007 22:56:20 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05MuKAU057248 for ; Fri, 5 Jan 2007 22:56:20 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05MuKgl057245 for perforce@freebsd.org; Fri, 5 Jan 2007 22:56:20 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 22:56:20 GMT Message-Id: <200701052256.l05MuKgl057245@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112571 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: Fri, 05 Jan 2007 22:56:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=112571 Change 112571 by mjacob@mjexp_6 on 2007/01/05 22:55:58 RELENG_6 compile issues. Affected files ... .. //depot/projects/mjexp_6/sys/dev/isp/isp_freebsd.h#3 edit Differences ... ==== //depot/projects/mjexp_6/sys/dev/isp/isp_freebsd.h#3 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Fri Jan 5 22:56:22 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 11A4716A542; Fri, 5 Jan 2007 22:56:21 +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 F13AA16A47C for ; Fri, 5 Jan 2007 22:56:20 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CD29213C46B for ; Fri, 5 Jan 2007 22:56:20 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05MuKkm057255 for ; Fri, 5 Jan 2007 22:56:20 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05MuKYe057251 for perforce@freebsd.org; Fri, 5 Jan 2007 22:56:20 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 22:56:20 GMT Message-Id: <200701052256.l05MuKYe057251@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112572 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: Fri, 05 Jan 2007 22:56:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=112572 Change 112572 by mjacob@mjexp on 2007/01/05 22:56:11 RELENG_6 compile issues. Affected files ... .. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#3 edit Differences ... ==== //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#3 (text+ko) ==== @@ -98,7 +98,7 @@ #endif #if __FreeBSD_version < 700000 -typedef void ispfwfunc(int, int, int, uint16_t **); +typedef void ispfwfunc(int, int, int, void **); #endif #ifdef ISP_TARGET_MODE From owner-p4-projects@FreeBSD.ORG Fri Jan 5 23:04:35 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 2DB0316A494; Fri, 5 Jan 2007 23:04:35 +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 E738416A407 for ; Fri, 5 Jan 2007 23:04:34 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D9FAD13C46A for ; Fri, 5 Jan 2007 23:04:34 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05N4YaB060120 for ; Fri, 5 Jan 2007 23:04:34 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05N4Yc1060092 for perforce@freebsd.org; Fri, 5 Jan 2007 23:04:34 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 23:04:34 GMT Message-Id: <200701052304.l05N4Yc1060092@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112575 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: Fri, 05 Jan 2007 23:04:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=112575 Change 112575 by mjacob@mjexp_6 on 2007/01/05 23:03:51 (temp) checkpoint of multipath stuff in a RELENG_6 context Affected files ... .. //depot/projects/mjexp_6/sys/cam/cam_xpt.c#3 edit .. //depot/projects/mjexp_6/sys/cam/cam_xpt.h#2 edit .. //depot/projects/mjexp_6/sys/dev/isp/isp.c#3 edit .. //depot/projects/mjexp_6/sys/dev/isp/isp_freebsd.c#3 edit .. //depot/projects/mjexp_6/sys/dev/isp/isp_pci.c#3 edit .. //depot/projects/mjexp_6/sys/dev/mpt/mpt.c#3 edit .. //depot/projects/mjexp_6/sys/dev/mpt/mpt.h#3 edit .. //depot/projects/mjexp_6/sys/dev/mpt/mpt_cam.c#3 edit .. //depot/projects/mjexp_6/sys/dev/mpt/mpt_cam.h#2 edit .. //depot/projects/mjexp_6/sys/dev/mpt/mpt_pci.c#2 edit .. //depot/projects/mjexp_6/sys/geom/multipath/g_multipath.c#5 edit .. //depot/projects/mjexp_6/sys/geom/multipath/g_multipath.h#2 edit Differences ... ==== //depot/projects/mjexp_6/sys/cam/cam_xpt.c#3 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include #include +#include #ifdef PC98 #include /* geometry translation */ @@ -1412,10 +1413,50 @@ return 0; } +/* thread to handle bus rescans */ +static TAILQ_HEAD(, ccb_hdr) ccb_scanq; +static void +xpt_scanner_thread(void *dummy) +{ + mtx_lock(&Giant); + for (;;) { + union ccb *ccb; + tsleep(&ccb_scanq, PRIBIO, "ccb_scanq", 0); + while ((ccb = (union ccb *)TAILQ_FIRST(&ccb_scanq)) != NULL) { + TAILQ_REMOVE(&ccb_scanq, &ccb->ccb_h, sim_links.tqe); + ccb->ccb_h.func_code = XPT_SCAN_BUS; + ccb->ccb_h.cbfcnp = xptdone; + xpt_setup_ccb(&ccb->ccb_h, ccb->ccb_h.path, 5); + cam_periph_runccb(ccb, NULL, 0, 0, NULL); + xpt_free_path(ccb->ccb_h.path); + xpt_free_ccb(ccb); + } + } +} + +void +xpt_rescan(union ccb *ccb) +{ + struct ccb_hdr *hdr; + GIANT_REQUIRED; + /* + * Don't make duplicate entries for the same paths. + */ + TAILQ_FOREACH(hdr, &ccb_scanq, sim_links.tqe) { + if (xpt_path_comp(hdr->path, ccb->ccb_h.path) == 0) { + xpt_print(ccb->ccb_h.path, "rescan already queued\n"); + xpt_free_path(ccb->ccb_h.path); + xpt_free_ccb(ccb); + return; + } + } + TAILQ_INSERT_TAIL(&ccb_scanq, &ccb->ccb_h, sim_links.tqe); + wakeup(&ccb_scanq); +} + /* Functions accessed by the peripheral drivers */ static void -xpt_init(dummy) - void *dummy; +xpt_init(void *dummy) { struct cam_sim *xpt_sim; struct cam_path *path; @@ -1425,6 +1466,7 @@ TAILQ_INIT(&xpt_busses); TAILQ_INIT(&cam_bioq); SLIST_INIT(&ccb_freeq); + TAILQ_INIT(&ccb_scanq); STAILQ_INIT(&highpowerq); mtx_init(&cam_bioq_lock, "CAM BIOQ lock", NULL, MTX_DEF); @@ -1490,6 +1532,10 @@ "- failing attach\n"); } + /* fire up rescan thread */ + if (kthread_create(xpt_scanner_thread, NULL, NULL, 0, 0, "xpt_thrd")) { + printf("xpt_init: failed to create rescan thread\n"); + } /* Install our software interrupt handlers */ swi_add(NULL, "cambio", camisr, &cam_bioq, SWI_CAMBIO, 0, &cambio_ih); } ==== //depot/projects/mjexp_6/sys/cam/cam_xpt.h#2 (text+ko) ==== @@ -72,6 +72,7 @@ struct cam_periph *xpt_path_periph(struct cam_path *path); void xpt_async(u_int32_t async_code, struct cam_path *path, void *async_arg); +void xpt_rescan(union ccb *ccb); #endif /* _KERNEL */ #endif /* _CAM_CAM_XPT_H */ ==== //depot/projects/mjexp_6/sys/dev/isp/isp.c#3 (text+ko) ==== @@ -1634,12 +1634,14 @@ /* * We end up with these Loop IDs for F-Port topologies */ - if (icbp->icb_hardaddr != 0xff && icbp->icb_hardaddr != 0x800) { - isp_prt(isp, ISP_LOGERR, - "bad hard address %u- resetting to zero", - icbp->icb_hardaddr); + if (icbp->icb_hardaddr != 0xff && + icbp->icb_hardaddr != 0x800 && + icbp->icb_hardaddr != 0xffff) { + isp_prt(isp, ISP_LOGERR, + "bad hard address %u- resetting to zero", + icbp->icb_hardaddr); + icbp->icb_hardaddr = 0; } - icbp->icb_hardaddr = 0; } /* @@ -1888,7 +1890,9 @@ /* * We end up with these Loop IDs for F-Port topologies */ - if (icbp->icb_hardaddr != 0xff && icbp->icb_hardaddr != 0x800) { + if (icbp->icb_hardaddr != 0xff && + icbp->icb_hardaddr != 0x800 && + icbp->icb_hardaddr != 0xffff) { isp_prt(isp, ISP_LOGERR, "bad hard address %u- resetting to zero", icbp->icb_hardaddr); @@ -2151,8 +2155,8 @@ mbs.param[3] = DMA_WD0(FCPARAM(isp)->isp_scdma); mbs.param[6] = DMA_WD3(FCPARAM(isp)->isp_scdma); mbs.param[7] = DMA_WD2(FCPARAM(isp)->isp_scdma); + mbs.timeout = 500000; mbs.logval = MBLOGALL; - mbs.timeout = 250000; MEMORYBARRIER(isp, SYNC_SFORDEV, 0, QENTRY_LEN); isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { @@ -2585,6 +2589,7 @@ } if (check_for_fabric && isp_getpdb(isp, loopid, &pdb, 1) == 0) { + int r; if (IS_2100(isp)) { fcp->isp_topo = TOPO_FL_PORT; } @@ -2609,9 +2614,14 @@ lp->new_portid = lp->portid; lp->new_roles = lp->roles; if (IS_24XX(isp)) { - (void) isp_register_fc4_type_24xx(isp); + r = isp_register_fc4_type_24xx(isp); } else { - (void) isp_register_fc4_type(isp); + r = isp_register_fc4_type(isp); + } + if (r) { + isp_prt(isp, ISP_LOGSANCFG, + "isp_fclink_test: register fc4 type failed"); + return (-1); } } else { not_on_fabric: @@ -2625,6 +2635,7 @@ mbs.param[1] = MBGSD_GET_RATE; /* mbs.param[2] undefined if we're just getting rate */ mbs.logval = MBLOGALL; + mbs.timeout = 3000000; isp_mboxcmd(isp, &mbs); if (mbs.param[0] == MBOX_COMMAND_COMPLETE) { if (mbs.param[1] == MBGSD_FOURGB) { @@ -3138,7 +3149,7 @@ mbs.param[6] = DMA_WD3(fcp->isp_scdma); mbs.param[7] = DMA_WD2(fcp->isp_scdma); mbs.logval = MBLOGALL; - mbs.timeout = 1000000; + mbs.timeout = 10000000; isp_mboxcmd(isp, &mbs); if (mbs.param[0] != MBOX_COMMAND_COMPLETE) { if (mbs.param[0] == MBOX_INVALID_COMMAND) { @@ -3224,6 +3235,7 @@ mbs.param[3] = DMA_WD0(fcp->isp_scdma + CTXOFF); mbs.param[6] = DMA_WD3(fcp->isp_scdma + CTXOFF); mbs.param[7] = DMA_WD2(fcp->isp_scdma + CTXOFF); + mbs.timeout = 500000; mbs.logval = MBLOGALL; MEMORYBARRIER(isp, SYNC_SFORDEV, XTXOFF, 2 * QENTRY_LEN); isp_mboxcmd(isp, &mbs); @@ -3825,7 +3837,7 @@ mbs.param[6] = DMA_WD3(fcp->isp_scdma); mbs.param[7] = DMA_WD2(fcp->isp_scdma); mbs.logval = MBLOGALL; - mbs.timeout = 1000000; + mbs.timeout = 10000000; MEMORYBARRIER(isp, SYNC_SFORDEV, 0, SNS_RFT_ID_REQ_SIZE); isp_mboxcmd(isp, &mbs); FC_SCRATCH_RELEASE(isp); @@ -3902,6 +3914,7 @@ mbs.param[3] = DMA_WD0(fcp->isp_scdma + CTXOFF); mbs.param[6] = DMA_WD3(fcp->isp_scdma + CTXOFF); mbs.param[7] = DMA_WD2(fcp->isp_scdma + CTXOFF); + mbs.timeout = 500000; mbs.logval = MBLOGALL; MEMORYBARRIER(isp, SYNC_SFORDEV, XTXOFF, 2 * QENTRY_LEN); isp_mboxcmd(isp, &mbs); ==== //depot/projects/mjexp_6/sys/dev/isp/isp_freebsd.c#3 (text+ko) ==== @@ -42,6 +42,7 @@ #include #endif #include +#include #if !defined(CAM_NEW_TRAN_CODE) && __FreeBSD_version >= 700025 #define CAM_NEW_TRAN_CODE 1 @@ -2128,21 +2129,44 @@ #if __FreeBSD_version >= 500000 -#define isp_make_here(isp, tgt) isp_announce(isp, tgt, AC_FOUND_DEVICE) -#define isp_make_gone(isp, tgt) isp_announce(isp, tgt, AC_LOST_DEVICE) - /* - * Support function for Announcement + * Support functions for Found/Lost */ static void -isp_announce(ispsoftc_t *isp, int tgt, int action) +isp_make_here(ispsoftc_t *isp, int tgt) +{ + union ccb *ccb; + ISPLOCK_2_CAMLOCK(mpt); + /* + * Allocate a CCB, create a wildcard path for this bus, + * and schedule a rescan. + */ + ccb = xpt_alloc_ccb_nowait(); + if (ccb == NULL) { + isp_prt(isp, ISP_LOGWARN, "unable to alloc CCB for rescan"); + CAMLOCK_2_ISPLOCK(mpt); + return; + } + if (xpt_create_path(&ccb->ccb_h.path, xpt_periph, + cam_sim_path(isp->isp_sim), tgt, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { + CAMLOCK_2_ISPLOCK(mpt); + isp_prt(isp, ISP_LOGWARN, "unable to create path for rescan"); + xpt_free_ccb(ccb); + return; + } + xpt_rescan(ccb); + CAMLOCK_2_ISPLOCK(mpt); +} + +static void +isp_make_gone(ispsoftc_t *isp, int tgt) { - struct cam_path *tmppath; + struct cam_path *tp; ISPLOCK_2_CAMLOCK(isp); - if (xpt_create_path(&tmppath, NULL, cam_sim_path(isp->isp_sim), tgt, + if (xpt_create_path(&tp, NULL, cam_sim_path(isp->isp_sim), tgt, CAM_LUN_WILDCARD) == CAM_REQ_CMP) { - xpt_async(action, tmppath, NULL); - xpt_free_path(tmppath); + xpt_async(AC_LOST_DEVICE, tp, NULL); + xpt_free_path(tp); } CAMLOCK_2_ISPLOCK(isp); } ==== //depot/projects/mjexp_6/sys/dev/isp/isp_pci.c#3 (text+ko) ==== @@ -1378,8 +1378,9 @@ if (hccr & HCCR_PAUSE) { ISP_WRITE(isp, HCCR, HCCR_RESET); isp_prt(isp, ISP_LOGERR, - "RISC paused at interrupt (%x->%x\n", hccr, + "RISC paused at interrupt (%x->%x)", hccr, ISP_READ(isp, HCCR)); + ISP_WRITE(isp, BIU_ICR, 0); } else { isp_prt(isp, ISP_LOGERR, "unknown interrupt 0x%x\n", r2hisr); ==== //depot/projects/mjexp_6/sys/dev/mpt/mpt.c#3 (text+ko) ==== @@ -2000,7 +2000,12 @@ SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "role", CTLFLAG_RD, &mpt->role, 0, "HBA role"); +#ifdef MPT_TEST_MULTIPATH + SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, + "failure_id", CTLFLAG_RW, &mpt->failure_id, -1, + "Next Target to Fail"); #endif +#endif } int @@ -2120,6 +2125,9 @@ } STAILQ_INIT(&mpt->trt_wildcard.atios); STAILQ_INIT(&mpt->trt_wildcard.inots); +#ifdef MPT_TEST_MULTIPATH + mpt->failure_id = -1; +#endif mpt->scsi_tgt_handler_id = MPT_HANDLER_ID_NONE; mpt_sysctl_attach(mpt); mpt_lprt(mpt, MPT_PRT_DEBUG, "doorbell req = %s\n", ==== //depot/projects/mjexp_6/sys/dev/mpt/mpt.h#3 (text+ko) ==== @@ -159,6 +159,7 @@ #define MPT_U64_2_SCALAR(y) ((((uint64_t)y.High) << 32) | (y.Low)) /****************************** Misc Definitions ******************************/ +/* #define MPT_TEST_MULTIPATH 1 */ #define MPT_OK (0) #define MPT_FAIL (0x10000) @@ -514,7 +515,7 @@ uint32_t : 8, unit : 8, - : 1, + ready : 1, fw_uploaded : 1, msi_enable : 1, twildcard : 1, @@ -535,6 +536,9 @@ u_int role; /* role: none, ini, target, both */ u_int verbose; +#ifdef MPT_TEST_MULTIPATH + int failure_id; +#endif /* * IOC Facts ==== //depot/projects/mjexp_6/sys/dev/mpt/mpt_cam.c#3 (text+ko) ==== @@ -110,7 +110,7 @@ #include #include -#if __FreeBSD_version >= 700000 +#if __FreeBSD_version >= 700025 #ifndef CAM_NEW_TRAN_CODE #define CAM_NEW_TRAN_CODE 1 #endif @@ -842,6 +842,7 @@ } MPT_UNLOCK(mpt); } + mpt->ready = 1; } void @@ -849,6 +850,7 @@ { mpt_handler_t handler; + mpt->ready = 0; mpt_terminate_recovery_thread(mpt); handler.reply_handler = mpt_scsi_reply_handler; @@ -2081,13 +2083,44 @@ break; case MPI_EVENT_RESCAN: + { + union ccb *ccb; + uint32_t pathid; /* * In general this means a device has been added to the loop. */ mpt_prt(mpt, "Rescan Port: %d\n", (data0 >> 8) & 0xff); -/* xpt_async(AC_FOUND_DEVICE, path, NULL); */ + if (mpt->ready == 0) { + break; + } + if (mpt->phydisk_sim) { + pathid = cam_sim_path(mpt->phydisk_sim);; + } else { + pathid = cam_sim_path(mpt->sim); + } + MPTLOCK_2_CAMLOCK(mpt); + /* + * Allocate a CCB, create a wildcard path for this bus, + * and schedule a rescan. + */ + ccb = xpt_alloc_ccb_nowait(); + if (ccb == NULL) { + mpt_prt(mpt, "unable to alloc CCB for rescan\n"); + CAMLOCK_2_MPTLOCK(mpt); + break; + } + + if (xpt_create_path(&ccb->ccb_h.path, xpt_periph, pathid, + CAM_TARGET_WILDCARD, CAM_LUN_WILDCARD) != CAM_REQ_CMP) { + CAMLOCK_2_MPTLOCK(mpt); + mpt_prt(mpt, "unable to create path for rescan\n"); + xpt_free_ccb(ccb); + break; + } + xpt_rescan(ccb); + CAMLOCK_2_MPTLOCK(mpt); break; - + } case MPI_EVENT_LINK_STATUS_CHANGE: mpt_prt(mpt, "Port %d: LinkState: %s\n", (data1 >> 8) & 0xff, @@ -2907,6 +2940,13 @@ mpt_set_ccb_status(ccb, CAM_REQ_INVALID); break; } +#ifdef MPT_TEST_MULTIPATH + if (mpt->failure_id == ccb->ccb_h.target_id) { + ccb->ccb_h.status &= ~CAM_SIM_QUEUED; + mpt_set_ccb_status(ccb, CAM_SEL_TIMEOUT); + break; + } +#endif ccb->csio.scsi_status = SCSI_STATUS_OK; mpt_start(sim, ccb); return; ==== //depot/projects/mjexp_6/sys/dev/mpt/mpt_cam.h#2 (text+ko) ==== @@ -101,6 +101,8 @@ #include #include #include +#include +#include #include #include #include ==== //depot/projects/mjexp_6/sys/dev/mpt/mpt_pci.c#2 (text+ko) ==== @@ -105,6 +105,12 @@ #include #include +#if __FreeBSD_version < 700000 +#define pci_msi_count(x) 0 +#define pci_msi_enable(x) 0 +#define pci_alloc_msi(x, y) 1 +#define pci_release_msi(x) do { ; } while (0) +#endif #ifndef PCI_VENDOR_LSI #define PCI_VENDOR_LSI 0x1000 @@ -327,6 +333,7 @@ } mpt->do_cfg_role = 1; } + mpt->msi_enable = 0; } #else static void @@ -351,6 +358,13 @@ mpt->cfg_role = tval; mpt->do_cfg_role = 1; } + + tval = 0; + mpt->msi_enable = 0; + if (resource_int_value(device_get_name(mpt->dev), + device_get_unit(mpt->dev), "msi_enable", &tval) == 0 && tval == 1) { + mpt->msi_enable = 1; + } } #endif @@ -513,6 +527,14 @@ /* Get a handle to the interrupt */ iqd = 0; + if (mpt->msi_enable && pci_msi_count(dev) == 1) { + mpt->pci_msi_count = 1; + if (pci_alloc_msi(dev, &mpt->pci_msi_count) == 0) { + iqd = 1; + } else { + mpt->pci_msi_count = 0; + } + } mpt->pci_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &iqd, RF_ACTIVE | RF_SHAREABLE); if (mpt->pci_irq == NULL) { @@ -609,10 +631,16 @@ } if (mpt->pci_irq) { - bus_release_resource(mpt->dev, SYS_RES_IRQ, 0, mpt->pci_irq); + bus_release_resource(mpt->dev, SYS_RES_IRQ, + mpt->pci_msi_count ? 1 : 0, mpt->pci_irq); mpt->pci_irq = 0; } + if (mpt->pci_msi_count) { + pci_release_msi(mpt->dev); + mpt->pci_msi_count = 0; + } + if (mpt->pci_pio_reg) { bus_release_resource(mpt->dev, SYS_RES_IOPORT, mpt->pci_pio_rid, mpt->pci_pio_reg); @@ -709,8 +737,8 @@ * Align at byte boundaries, * Limit to 32-bit addressing for request/reply queues. */ - if (mpt_dma_tag_create(mpt, /*parent*/NULL, /*alignment*/1, - /*boundary*/0, /*lowaddr*/BUS_SPACE_MAXADDR, + if (mpt_dma_tag_create(mpt, /*parent*/bus_get_dma_tag(mpt->dev), + /*alignment*/1, /*boundary*/0, /*lowaddr*/BUS_SPACE_MAXADDR, /*highaddr*/BUS_SPACE_MAXADDR, /*filter*/NULL, /*filterarg*/NULL, /*maxsize*/BUS_SPACE_MAXSIZE_32BIT, /*nsegments*/BUS_SPACE_MAXSIZE_32BIT, ==== //depot/projects/mjexp_6/sys/geom/multipath/g_multipath.c#5 (text+ko) ==== @@ -74,6 +74,7 @@ static void g_multipath_orphan(struct g_consumer *cp) { +printf("%s called on %s\n", __FUNCTION__, cp->provider? cp->provider->name : "none"); g_topology_assert(); g_multipath_destroy(cp->geom); } @@ -104,6 +105,17 @@ } static void +g_mpd(void *arg, int flags __unused) +{ + struct g_consumer *cp; + g_topology_assert(); + cp = arg; + g_access(cp, -cp->acr, -cp->acw, -cp->ace); + g_detach(cp); + g_destroy_consumer(cp); +} + +static void g_multipath_done(struct bio *bp) { struct bio *pbp = bp->bio_parent; @@ -131,6 +143,8 @@ if (dofail) { struct g_consumer *cp = bp->bio_from; + struct g_consumer *lcp; + struct g_provider *pp = cp->provider; /* * If we had a failure, we have to check first to see @@ -139,31 +153,44 @@ * a number of failures). If so, we then switch consumers * to the next available consumer. */ + g_topology_lock(); if (cp == sc->cp_active) { - printf("i/o failure is causing detach of %s from %s\n", - cp->provider->name, gp->name); -/* - * XXX: The following two lines are probably wrong due to inflights - */ - g_detach(cp); - g_destroy_consumer(cp); - sc->cp_active = LIST_FIRST(&gp->consumer); + printf("GEOM_MULTIPATH: I/O failure terminates use of " + "%s in %s\n", cp->provider->name, gp->name); + cp->index = 1; + sc->cp_active = NULL; + LIST_FOREACH(lcp, &gp->consumer, consumer) { + if (lcp->index == 0) { + sc->cp_active = lcp; + break; + } + } + if (sc->cp_active == NULL) { + printf("GEOM_MULTIPATH: out of providers\n"); + g_topology_unlock(); + goto out; + } + printf("GEOM_MULTIPATH: switching to provider %s\n", + sc->cp_active->provider->name); + } + g_topology_unlock(); + if (cp->nend == cp->nstart && pp->nend == pp->nstart) { + printf("GEOM_MULTIPATH: old provider %s is now quiet\n", + pp->name); + g_post_event(g_mpd, cp, M_NOWAIT, NULL); } /* * If we can fruitfully restart the I/O, do so. */ if (sc->cp_active) { - printf("switching to provider %s\n", - sc->cp_active->provider->name); g_destroy_bio(bp); pbp->bio_children--; g_multipath_start(pbp); return; - } else { - printf("out of providers to try\n"); } } +out: g_std_done(bp); } @@ -275,7 +302,7 @@ return (error); } cp->private = sc; - cp->index = sc->index++; + cp->index = 0; /* * Set access permissions on new consumer to match other consumers @@ -375,7 +402,6 @@ g_destroy_consumer(cp); g_destroy_geom(gp); if (error != 0) { - printf("%s had error %d reading metadata\n", pp->name, error); return (NULL); } gp = NULL; ==== //depot/projects/mjexp_6/sys/geom/multipath/g_multipath.h#2 (text+ko) ==== @@ -47,7 +47,6 @@ struct g_consumer * cp_active; char sc_name[16]; char sc_uuid[40]; - int index; }; #endif /* _KERNEL */ From owner-p4-projects@FreeBSD.ORG Fri Jan 5 23:09:43 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 118D616A40F; Fri, 5 Jan 2007 23:09:43 +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 E405B16A403 for ; Fri, 5 Jan 2007 23:09:42 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D71F413C455 for ; Fri, 5 Jan 2007 23:09:42 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05N9gVe060484 for ; Fri, 5 Jan 2007 23:09:42 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05N9gLU060479 for perforce@freebsd.org; Fri, 5 Jan 2007 23:09:42 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 23:09:42 GMT Message-Id: <200701052309.l05N9gLU060479@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112577 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: Fri, 05 Jan 2007 23:09:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=112577 Change 112577 by mjacob@mjexp_6 on 2007/01/05 23:08:55 Integrate from vendor branch. Affected files ... .. //depot/projects/mjexp_6/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/mjexp_6/sys/dev/md/md.c#2 integrate .. //depot/projects/mjexp_6/sys/fs/msdosfs/bpb.h#2 integrate .. //depot/projects/mjexp_6/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/mjexp_6/sys/nfsclient/nfs_node.c#2 integrate .. //depot/projects/mjexp_6/sys/sys/vnode.h#2 integrate Differences ... ==== //depot/projects/mjexp_6/sys/contrib/pf/net/pf_ioctl.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.20.2.4 2006/09/09 00:50:25 mlaier Exp $ */ +/* $FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.20.2.5 2007/01/04 18:31:43 mlaier Exp $ */ /* $OpenBSD: pf_ioctl.c,v 1.139 2005/03/03 07:13:39 dhartmei Exp $ */ /* add: $OpenBSD: pf_ioctl.c,v 1.168 2006/07/21 01:21:17 dhartmei Exp $ */ @@ -256,6 +256,7 @@ UMA_DESTROY(pf_cache_pl); UMA_DESTROY(pf_cent_pl); UMA_DESTROY(pfr_ktable_pl); + UMA_DESTROY(pfr_kentry_pl2); UMA_DESTROY(pfr_kentry_pl); UMA_DESTROY(pf_state_scrub_pl); UMA_DESTROY(pfi_addr_pl); ==== //depot/projects/mjexp_6/sys/dev/md/md.c#2 (text+ko) ==== @@ -6,7 +6,7 @@ * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp * ---------------------------------------------------------------------------- * - * $FreeBSD: src/sys/dev/md/md.c,v 1.153.2.6 2006/02/14 14:46:22 luigi Exp $ + * $FreeBSD: src/sys/dev/md/md.c,v 1.153.2.8 2007/01/05 09:51:14 kib Exp $ * */ @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include @@ -88,7 +89,8 @@ #define MD_MODVER 1 -#define MD_SHUTDOWN 0x10000 /* Tell worker thread to terminate. */ +#define MD_SHUTDOWN 0x10000 /* Tell worker thread to terminate. */ +#define MD_EXITING 0x20000 /* Worker thread is exiting. */ #ifndef MD_NSECT #define MD_NSECT (10000 * 2) @@ -482,12 +484,11 @@ static int mdstart_vnode(struct md_s *sc, struct bio *bp) { - int error; + int error, vfslocked; struct uio auio; struct iovec aiov; struct mount *mp; - mtx_assert(&Giant, MA_OWNED); /* * VNODE I/O * @@ -516,6 +517,7 @@ * When reading set IO_DIRECT to try to avoid double-caching * the data. When writing IO_DIRECT is not optimal. */ + vfslocked = VFS_LOCK_GIANT(sc->vnode->v_mount); if (bp->bio_cmd == BIO_READ) { vn_lock(sc->vnode, LK_EXCLUSIVE | LK_RETRY, curthread); error = VOP_READ(sc->vnode, &auio, IO_DIRECT, sc->cred); @@ -528,6 +530,7 @@ VOP_UNLOCK(sc->vnode, 0, curthread); vn_finished_write(mp); } + VFS_UNLOCK_GIANT(vfslocked); bp->bio_resid = auio.uio_resid; return (error); } @@ -638,35 +641,22 @@ { struct md_s *sc; struct bio *bp; - int error, hasgiant; + int error; sc = arg; mtx_lock_spin(&sched_lock); sched_prio(curthread, PRIBIO); mtx_unlock_spin(&sched_lock); + if (sc->type == MD_VNODE) + curthread->td_pflags |= TDP_NORUNNINGBUF; - switch (sc->type) { - case MD_VNODE: - mtx_lock(&Giant); - hasgiant = 1; - break; - case MD_MALLOC: - case MD_PRELOAD: - case MD_SWAP: - default: - hasgiant = 0; - break; - } - for (;;) { + mtx_lock(&sc->queue_mtx); if (sc->flags & MD_SHUTDOWN) { - sc->procp = NULL; - wakeup(&sc->procp); - if (hasgiant) - mtx_unlock(&Giant); + sc->flags |= MD_EXITING; + mtx_unlock(&sc->queue_mtx); kthread_exit(0); } - mtx_lock(&sc->queue_mtx); bp = bioq_takefirst(&sc->bio_queue); if (!bp) { msleep(sc, &sc->queue_mtx, PRIBIO | PDROP, "mdwait", 0); @@ -864,7 +854,7 @@ { struct vattr vattr; struct nameidata nd; - int error, flags; + int error, flags, vfslocked; error = copyinstr(mdio->md_file, sc->file, sizeof(sc->file), NULL); if (error != 0) @@ -881,12 +871,15 @@ if (error != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); + vfslocked = VFS_LOCK_GIANT(nd.ni_vp->v_mount); if (nd.ni_vp->v_type != VREG || (error = VOP_GETATTR(nd.ni_vp, &vattr, td->td_ucred, td))) { VOP_UNLOCK(nd.ni_vp, 0, td); (void)vn_close(nd.ni_vp, flags, td->td_ucred, td); + VFS_UNLOCK_GIANT(vfslocked); return (error ? error : EINVAL); } + nd.ni_vp->v_vflag |= VV_MD; VOP_UNLOCK(nd.ni_vp, 0, td); if (mdio->md_fwsectors != 0) @@ -900,16 +893,21 @@ error = mdsetcred(sc, td->td_ucred); if (error != 0) { + vn_lock(nd.ni_vp, LK_EXCLUSIVE | LK_RETRY, td); + nd.ni_vp->v_vflag &= ~VV_MD; + VOP_UNLOCK(nd.ni_vp, 0, td); (void)vn_close(nd.ni_vp, flags, td->td_ucred, td); + VFS_UNLOCK_GIANT(vfslocked); return (error); } + VFS_UNLOCK_GIANT(vfslocked); return (0); } static int mddestroy(struct md_s *sc, struct thread *td) { - + int vfslocked; if (sc->gp) { sc->gp->softc = NULL; @@ -919,16 +917,21 @@ sc->gp = NULL; sc->pp = NULL; } + mtx_lock(&sc->queue_mtx); sc->flags |= MD_SHUTDOWN; wakeup(sc); - while (sc->procp != NULL) - tsleep(&sc->procp, PRIBIO, "mddestroy", hz / 10); + while (!(sc->flags & MD_EXITING)) + msleep(sc->procp, &sc->queue_mtx, PRIBIO, "mddestroy", hz / 10); + mtx_unlock(&sc->queue_mtx); mtx_destroy(&sc->queue_mtx); if (sc->vnode != NULL) { - mtx_lock(&Giant); + vfslocked = VFS_LOCK_GIANT(sc->vnode->v_mount); + vn_lock(sc->vnode, LK_EXCLUSIVE | LK_RETRY, td); + sc->vnode->v_vflag &= ~VV_MD; + VOP_UNLOCK(sc->vnode, 0, td); (void)vn_close(sc->vnode, sc->flags & MD_READONLY ? FREAD : (FREAD|FWRITE), sc->cred, td); - mtx_unlock(&Giant); + VFS_UNLOCK_GIANT(vfslocked); } if (sc->cred != NULL) crfree(sc->cred); ==== //depot/projects/mjexp_6/sys/fs/msdosfs/bpb.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/fs/msdosfs/bpb.h,v 1.11 2005/01/06 18:10:38 imp Exp $ */ +/* $FreeBSD: src/sys/fs/msdosfs/bpb.h,v 1.11.2.1 2007/01/05 05:50:36 rodrigc Exp $ */ /* $NetBSD: bpb.h,v 1.7 1997/11/17 15:36:24 ws Exp $ */ /*- @@ -86,35 +86,14 @@ * and longs are just character arrays of the appropriate length. This is * because the compiler forces shorts and longs to align on word or * halfword boundaries. - * - * XXX The little-endian code here assumes that the processor can access - * 16-bit and 32-bit quantities on byte boundaries. If this is not true, - * use the macros for the big-endian case. */ -#include +#include -#ifdef __i386__ -#define UNLALIGNED_ACCESS -#endif - -#if (BYTE_ORDER == LITTLE_ENDIAN) && defined(UNALIGNED_ACCESS) -#define getushort(x) *((u_int16_t *)(x)) -#define getulong(x) *((u_int32_t *)(x)) -#define putushort(p, v) (*((u_int16_t *)(p)) = (v)) -#define putulong(p, v) (*((u_int32_t *)(p)) = (v)) -#else -#define getushort(x) (((u_int8_t *)(x))[0] + (((u_int8_t *)(x))[1] << 8)) -#define getulong(x) (((u_int8_t *)(x))[0] + (((u_int8_t *)(x))[1] << 8) \ - + (((u_int8_t *)(x))[2] << 16) \ - + (((u_int8_t *)(x))[3] << 24)) -#define putushort(p, v) (((u_int8_t *)(p))[0] = (v), \ - ((u_int8_t *)(p))[1] = (v) >> 8) -#define putulong(p, v) (((u_int8_t *)(p))[0] = (v), \ - ((u_int8_t *)(p))[1] = (v) >> 8, \ - ((u_int8_t *)(p))[2] = (v) >> 16,\ - ((u_int8_t *)(p))[3] = (v) >> 24) -#endif +#define getushort(x) le16dec(x) +#define getulong(x) le32dec(x) +#define putushort(p, v) le16enc(p, v) +#define putulong(p, v) le32enc(p, v) /* * BIOS Parameter Block (BPB) for DOS 3.3 ==== //depot/projects/mjexp_6/sys/kern/vfs_bio.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.491.2.9 2006/10/13 07:05:46 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_bio.c,v 1.491.2.10 2007/01/05 09:51:14 kib Exp $"); #include #include @@ -796,6 +796,8 @@ bufwrite(struct buf *bp) { int oldflags; + struct vnode *vp; + int vp_md; CTR3(KTR_BUF, "bufwrite(%p) vp %p flags %X", bp, bp->b_vp, bp->b_flags); if (bp->b_flags & B_INVAL) { @@ -810,6 +812,12 @@ KASSERT(!(bp->b_vflags & BV_BKGRDINPROG), ("FFS background buffer should not get here %p", bp)); + vp = bp->b_vp; + if (vp) + vp_md = vp->v_vflag & VV_MD; + else + vp_md = 0; + /* Mark the buffer clean */ bundirty(bp); @@ -847,7 +855,7 @@ * or syncer daemon trying to clean up as that can lead * to deadlock. */ - if ((curthread->td_pflags & TDP_NORUNNINGBUF) == 0) + if ((curthread->td_pflags & TDP_NORUNNINGBUF) == 0 && !vp_md) waitrunningbufspace(); } ==== //depot/projects/mjexp_6/sys/nfsclient/nfs_node.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_node.c,v 1.76.2.3 2006/09/13 19:25:44 mohans Exp $"); +__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_node.c,v 1.76.2.4 2007/01/03 20:19:02 mohans Exp $"); #include #include @@ -163,23 +163,22 @@ */ vp->v_vnlock->lk_flags |= LK_CANRECURSE; vp->v_vnlock->lk_flags &= ~LK_NOSHARE; + if (fhsize > NFS_SMALLFH) { + MALLOC(np->n_fhp, nfsfh_t *, fhsize, M_NFSBIGFH, M_WAITOK); + } else + np->n_fhp = &np->n_fh; + bcopy((caddr_t)fhp, (caddr_t)np->n_fhp, fhsize); + np->n_fhsize = fhsize; + lockinit(&np->n_rslock, PVFS | rsflags, "nfrslk", 0, 0); error = vfs_hash_insert(vp, hash, LK_EXCLUSIVE, td, &nvp, nfs_vncmpf, &ncmp); if (error) return (error); if (nvp != NULL) { *npp = VTONFS(nvp); - /* vrele() the duplicate allocated here, to get it recycled */ - vrele(vp); + /* vfs_hash_insert() vput()'s the losing vnode */ return (0); } - if (fhsize > NFS_SMALLFH) { - MALLOC(np->n_fhp, nfsfh_t *, fhsize, M_NFSBIGFH, M_WAITOK); - } else - np->n_fhp = &np->n_fh; - bcopy((caddr_t)fhp, (caddr_t)np->n_fhp, fhsize); - np->n_fhsize = fhsize; - lockinit(&np->n_rslock, PVFS | rsflags, "nfrslk", 0, 0); *npp = np; return (0); ==== //depot/projects/mjexp_6/sys/sys/vnode.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)vnode.h 8.7 (Berkeley) 2/4/94 - * $FreeBSD: src/sys/sys/vnode.h,v 1.304.2.7 2006/03/13 03:07:27 jeff Exp $ + * $FreeBSD: src/sys/sys/vnode.h,v 1.304.2.8 2007/01/05 09:51:14 kib Exp $ */ #ifndef _SYS_VNODE_H_ @@ -253,6 +253,7 @@ #define VV_SYSTEM 0x0080 /* vnode being used by kernel */ #define VV_PROCDEP 0x0100 /* vnode is process dependent */ #define VV_NOKNOTE 0x0200 /* don't activate knotes on this vnode */ +#define VV_MD 0x0800 /* vnode backs the md device */ /* * Vnode attributes. A field value of VNOVAL represents a field whose value From owner-p4-projects@FreeBSD.ORG Fri Jan 5 23:09:43 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 6DB4616A55C; Fri, 5 Jan 2007 23:09:43 +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 4B77916A558 for ; Fri, 5 Jan 2007 23:09:43 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 3620A13C458 for ; Fri, 5 Jan 2007 23:09:43 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05N9h0E060491 for ; Fri, 5 Jan 2007 23:09:43 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05N9g5s060487 for perforce@freebsd.org; Fri, 5 Jan 2007 23:09:42 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 23:09:42 GMT Message-Id: <200701052309.l05N9g5s060487@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112578 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: Fri, 05 Jan 2007 23:09:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=112578 Change 112578 by mjacob@mjexp_6 on 2007/01/05 23:09:37 Integrate with vendor branch. Affected files ... .. //depot/projects/mjexp_6/sbin/geom/class/mirror/gmirror.8#2 integrate Differences ... ==== //depot/projects/mjexp_6/sbin/geom/class/mirror/gmirror.8#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.16.2.3 2006/03/20 15:48:55 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/mirror/gmirror.8,v 1.16.2.4 2006/12/31 18:46:42 ceri Exp $ .\" -.Dd March 8, 2006 +.Dd December 31, 2006 .Dt GMIRROR 8 .Os .Sh NAME @@ -83,10 +83,6 @@ .Op Fl fv .Ar name ... .Nm -.Cm clear -.Op Fl v -.Ar prov ... -.Nm .Cm dump .Ar prov ... .Nm @@ -120,7 +116,9 @@ Create a mirror. The order of components is important, because a component's priority is based on its position (starting from 0). -The component with the biggest priority is used by the prefer balance algorithm +The component with the biggest priority is used by the +.Cm prefer +balance algorithm and is also used as a master component when resynchronization is needed, e.g.\& after a power failure when the device was open for writing. .Pp @@ -291,7 +289,8 @@ First of all, a kernel dump will go only to one component and .Nm always chooses the component with the highest priority. -Reading a dump from the mirror on boot will only work if the prefer +Reading a dump from the mirror on boot will only work if the +.Cm prefer balance algorithm is used (that way .Nm will read only from the component with the highest priority). @@ -320,7 +319,6 @@ If on the next boot a component with the highest priority will be synchronized, the prefer balance algorithm will read from the next one, thus will find nothing there. -.Ed .Sh SEE ALSO .Xr geom 4 , .Xr dumpon 8 , From owner-p4-projects@FreeBSD.ORG Fri Jan 5 23:43:31 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 15F0016A412; Fri, 5 Jan 2007 23:43:31 +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 E159E16A403 for ; Fri, 5 Jan 2007 23:43:30 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id D392D13C44B for ; Fri, 5 Jan 2007 23:43:30 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l05NhUqv066815 for ; Fri, 5 Jan 2007 23:43:30 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l05NhP0h066772 for perforce@freebsd.org; Fri, 5 Jan 2007 23:43:25 GMT (envelope-from mjacob@freebsd.org) Date: Fri, 5 Jan 2007 23:43:25 GMT Message-Id: <200701052343.l05NhP0h066772@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 112579 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: Fri, 05 Jan 2007 23:43:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=112579 Change 112579 by mjacob@mjexp on 2007/01/05 23:42:26 IFC Affected files ... .. //depot/projects/mjexp/COPYRIGHT#2 integrate .. //depot/projects/mjexp/ObsoleteFiles.inc#6 integrate .. //depot/projects/mjexp/contrib/gdtoa/README#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/arithchk.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/dmisc.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/dtoa.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/g_Qfmt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/g__fmt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/g_ddfmt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/g_dfmt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/g_ffmt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/g_xLfmt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/g_xfmt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/gdtoa.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/gdtoa.h#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/gdtoaimp.h#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/gethex.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/gmisc.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/hd_init.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/hexnan.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/makefile#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/misc.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/qnan.c#1 branch .. //depot/projects/mjexp/contrib/gdtoa/smisc.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtoIQ.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtoId.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtoIdd.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtoIf.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtoIg.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtoIx.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtoIxL.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtod.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtodI.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtodg.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtodnrp.c#1 branch .. //depot/projects/mjexp/contrib/gdtoa/strtof.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtopQ.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtopd.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtopdd.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtopf.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtopx.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtopxL.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtorQ.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtord.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtordd.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtorf.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtorx.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/strtorxL.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/sum.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/Qtest.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/dItest.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/ddtest.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/dt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/dtest.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/dtst.out#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/ftest.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/getround.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/makefile#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/strtodt.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/x.ou0#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/x.ou1#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/xL.ou1#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/xLtest.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/xsum0.out#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/test/xtest.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/ulp.c#2 integrate .. //depot/projects/mjexp/contrib/gdtoa/xsum0.out#2 integrate .. //depot/projects/mjexp/contrib/libreadline/CHANGELOG#2 integrate .. //depot/projects/mjexp/contrib/libreadline/CHANGES#2 integrate .. //depot/projects/mjexp/contrib/libreadline/FREEBSD-upgrade#2 integrate .. //depot/projects/mjexp/contrib/libreadline/INSTALL#2 integrate .. //depot/projects/mjexp/contrib/libreadline/NEWS#2 integrate .. //depot/projects/mjexp/contrib/libreadline/README#2 integrate .. //depot/projects/mjexp/contrib/libreadline/aclocal.m4#2 integrate .. //depot/projects/mjexp/contrib/libreadline/bind.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/callback.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/complete.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/config.h.in#2 integrate .. //depot/projects/mjexp/contrib/libreadline/configure#2 integrate .. //depot/projects/mjexp/contrib/libreadline/configure.in#2 integrate .. //depot/projects/mjexp/contrib/libreadline/display.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/history.texi#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/hstech.texi#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/hsuser.texi#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/readline.3#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/rlman.texi#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/rltech.texi#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/rluser.texi#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/rluserman.texi#2 integrate .. //depot/projects/mjexp/contrib/libreadline/doc/version.texi#2 integrate .. //depot/projects/mjexp/contrib/libreadline/examples/excallback.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/examples/rlfe/Makefile.in#2 integrate .. //depot/projects/mjexp/contrib/libreadline/histexpand.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/histfile.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/history.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/input.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/isearch.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/kill.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/macro.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/misc.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/readline.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/readline.h#2 integrate .. //depot/projects/mjexp/contrib/libreadline/rlconf.h#2 integrate .. //depot/projects/mjexp/contrib/libreadline/rlmbutil.h#2 integrate .. //depot/projects/mjexp/contrib/libreadline/rlprivate.h#2 integrate .. //depot/projects/mjexp/contrib/libreadline/rltty.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/search.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/signals.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/support/shlib-install#2 integrate .. //depot/projects/mjexp/contrib/libreadline/support/shobj-conf#2 integrate .. //depot/projects/mjexp/contrib/libreadline/terminal.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/text.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/tilde.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/undo.c#2 integrate .. //depot/projects/mjexp/contrib/libreadline/vi_mode.c#2 integrate .. //depot/projects/mjexp/etc/rc.d/abi#3 integrate .. //depot/projects/mjexp/etc/rc.d/accounting#2 integrate .. //depot/projects/mjexp/etc/rc.d/archdep#2 integrate .. //depot/projects/mjexp/etc/rc.d/atm1#2 integrate .. //depot/projects/mjexp/etc/rc.d/auto_linklocal#4 integrate .. //depot/projects/mjexp/etc/rc.d/bluetooth#2 integrate .. //depot/projects/mjexp/etc/rc.d/bootconf.sh#2 integrate .. //depot/projects/mjexp/etc/rc.d/bridge#2 integrate .. //depot/projects/mjexp/etc/rc.d/geli#2 integrate .. //depot/projects/mjexp/etc/rc.d/hcsecd#2 integrate .. //depot/projects/mjexp/etc/rc.d/ip6fw#2 integrate .. //depot/projects/mjexp/etc/rc.d/ipfilter#3 integrate .. //depot/projects/mjexp/etc/rc.d/ipfw#2 integrate .. //depot/projects/mjexp/etc/rc.d/ipnat#2 integrate .. //depot/projects/mjexp/etc/rc.d/jail#2 integrate .. //depot/projects/mjexp/etc/rc.d/ldconfig#2 integrate .. //depot/projects/mjexp/etc/rc.d/lpd#2 integrate .. //depot/projects/mjexp/etc/rc.d/mdconfig#2 integrate .. //depot/projects/mjexp/etc/rc.d/mdconfig2#2 integrate .. //depot/projects/mjexp/etc/rc.d/mountcritremote#2 integrate .. //depot/projects/mjexp/etc/rc.d/moused#2 integrate .. //depot/projects/mjexp/etc/rc.d/natd#2 integrate .. //depot/projects/mjexp/etc/rc.d/netif#2 integrate .. //depot/projects/mjexp/etc/rc.d/nfsclient#2 integrate .. //depot/projects/mjexp/etc/rc.d/nfsserver#2 integrate .. //depot/projects/mjexp/etc/rc.d/nsswitch#2 integrate .. //depot/projects/mjexp/etc/rc.d/pf#2 integrate .. //depot/projects/mjexp/etc/rc.d/pflog#2 integrate .. //depot/projects/mjexp/etc/rc.d/pfsync#2 integrate .. //depot/projects/mjexp/etc/rc.d/pppoed#2 integrate .. //depot/projects/mjexp/etc/rc.d/sdpd#2 integrate .. //depot/projects/mjexp/etc/rc.d/syscons#3 integrate .. //depot/projects/mjexp/etc/rc.d/syslogd#2 integrate .. //depot/projects/mjexp/etc/rc.d/ugidfw#2 integrate .. //depot/projects/mjexp/etc/rc.d/var#2 integrate .. //depot/projects/mjexp/etc/rc.d/ypbind#2 integrate .. //depot/projects/mjexp/etc/rc.d/yppasswdd#2 integrate .. //depot/projects/mjexp/etc/rc.d/ypserv#2 integrate .. //depot/projects/mjexp/etc/rc.d/ypset#2 integrate .. //depot/projects/mjexp/etc/rc.d/ypupdated#2 integrate .. //depot/projects/mjexp/etc/rc.d/ypxfrd#2 integrate .. //depot/projects/mjexp/etc/rc.firewall#3 integrate .. //depot/projects/mjexp/etc/rc.subr#5 integrate .. //depot/projects/mjexp/etc/snmpd.config#4 integrate .. //depot/projects/mjexp/games/fortune/datfiles/fortunes#7 integrate .. //depot/projects/mjexp/games/fortune/datfiles/fortunes-o.real#2 integrate .. //depot/projects/mjexp/gnu/lib/libreadline/Makefile.inc#2 integrate .. //depot/projects/mjexp/gnu/lib/libreadline/config.h#2 integrate .. //depot/projects/mjexp/lib/libarchive/archive.h.in#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_private.h#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read.3#3 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_open_fd.c#3 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_open_file.c#3 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_open_filename.c#2 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_open_memory.c#2 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_compression_none.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_iso9660.c#3 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_tar.c#3 integrate .. //depot/projects/mjexp/lib/libc/amd64/gd_qnan.h#1 branch .. //depot/projects/mjexp/lib/libc/arm/gd_qnan.h#1 branch .. //depot/projects/mjexp/lib/libc/gdtoa/_hdtoa.c#2 integrate .. //depot/projects/mjexp/lib/libc/i386/gd_qnan.h#1 branch .. //depot/projects/mjexp/lib/libc/ia64/gd_qnan.h#1 branch .. //depot/projects/mjexp/lib/libc/powerpc/gd_qnan.h#1 branch .. //depot/projects/mjexp/lib/libc/sparc64/gd_qnan.h#1 branch .. //depot/projects/mjexp/lib/libc/stdio/vfprintf.c#2 integrate .. //depot/projects/mjexp/lib/libthr/thread/thr_mutex.c#4 integrate .. //depot/projects/mjexp/lib/msun/amd64/fenv.c#2 integrate .. //depot/projects/mjexp/lib/msun/i387/fenv.c#2 integrate .. //depot/projects/mjexp/lib/msun/man/fenv.3#2 integrate .. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#4 integrate .. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#3 integrate .. //depot/projects/mjexp/release/doc/share/misc/dev.archlist.txt#4 integrate .. //depot/projects/mjexp/sbin/atm/atm/atm.8#2 integrate .. //depot/projects/mjexp/sbin/bsdlabel/bsdlabel.8#3 integrate .. //depot/projects/mjexp/sbin/devfs/devfs.8#3 integrate .. //depot/projects/mjexp/sbin/ifconfig/ifconfig.c#2 integrate .. //depot/projects/mjexp/sbin/init/init.8#2 integrate .. //depot/projects/mjexp/sbin/ipfw/ipfw.8#3 integrate .. //depot/projects/mjexp/sbin/ipfw/ipfw2.c#2 integrate .. //depot/projects/mjexp/sbin/mount_unionfs/mount_unionfs.8#3 integrate .. //depot/projects/mjexp/sbin/mount_unionfs/mount_unionfs.c#3 integrate .. //depot/projects/mjexp/share/man/man4/Makefile#6 integrate .. //depot/projects/mjexp/share/man/man4/ata.4#3 integrate .. //depot/projects/mjexp/share/man/man4/blackhole.4#2 integrate .. //depot/projects/mjexp/share/man/man4/ng_deflate.4#1 branch .. //depot/projects/mjexp/share/man/man4/ng_pred1.4#1 branch .. //depot/projects/mjexp/share/man/man9/kqueue.9#3 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_dummy.c#3 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_proto.h#6 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_syscall.h#6 integrate .. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysent.c#6 integrate .. //depot/projects/mjexp/sys/amd64/linux32/syscalls.master#5 integrate .. //depot/projects/mjexp/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/mjexp/sys/arm/at91/at91_pioreg.h#2 integrate .. //depot/projects/mjexp/sys/arm/at91/at91_pmc.c#2 integrate .. //depot/projects/mjexp/sys/arm/at91/at91_spireg.h#2 integrate .. //depot/projects/mjexp/sys/arm/at91/at91_st.c#3 integrate .. //depot/projects/mjexp/sys/arm/at91/files.at91#2 integrate .. //depot/projects/mjexp/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/mjexp/sys/arm/conf/BWCT#1 branch .. //depot/projects/mjexp/sys/arm/conf/BWCT.hints#1 branch .. //depot/projects/mjexp/sys/arm/include/atomic.h#3 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_emul.c#5 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_emul.h#3 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_mib.c#2 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_mib.h#2 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_misc.c#7 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/mjexp/sys/compat/linux/linux_signal.c#3 integrate .. //depot/projects/mjexp/sys/conf/NOTES#8 integrate .. //depot/projects/mjexp/sys/conf/files#9 integrate .. //depot/projects/mjexp/sys/conf/kern.post.mk#4 integrate .. //depot/projects/mjexp/sys/conf/options#7 integrate .. //depot/projects/mjexp/sys/conf/options.arm#3 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/mjexp/sys/dev/ata/ata-chipset.c#3 integrate .. //depot/projects/mjexp/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/mjexp/sys/dev/bktr/bktr_i2c.c#2 integrate .. //depot/projects/mjexp/sys/dev/hptmv/entry.c#2 integrate .. //depot/projects/mjexp/sys/dev/isp/isp.c#7 integrate .. //depot/projects/mjexp/sys/dev/isp/isp_pci.c#7 integrate .. //depot/projects/mjexp/sys/dev/mfi/mfi.c#5 integrate .. //depot/projects/mjexp/sys/dev/mii/miidevs#4 integrate .. //depot/projects/mjexp/sys/dev/mii/rlswitch.c#1 branch .. //depot/projects/mjexp/sys/dev/mpt/mpt.c#5 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt.h#6 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt_cam.c#9 integrate .. //depot/projects/mjexp/sys/dev/mpt/mpt_pci.c#5 integrate .. //depot/projects/mjexp/sys/dev/sound/pci/hda/hdac.c#5 integrate .. //depot/projects/mjexp/sys/dev/usb/usbdi_util.h#2 integrate .. //depot/projects/mjexp/sys/fs/msdosfs/bpb.h#3 integrate .. //depot/projects/mjexp/sys/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/mjexp/sys/fs/unionfs/union_subr.c#3 integrate .. //depot/projects/mjexp/sys/fs/unionfs/union_vnops.c#3 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_dummy.c#3 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_proto.h#6 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/mjexp/sys/i386/linux/syscalls.master#5 integrate .. //depot/projects/mjexp/sys/isa/pnpparse.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/mjexp/sys/kern/kern_switch.c#4 integrate .. //depot/projects/mjexp/sys/kern/kern_synch.c#6 integrate .. //depot/projects/mjexp/sys/kern/kern_thread.c#5 integrate .. //depot/projects/mjexp/sys/kern/sched_4bsd.c#6 integrate .. //depot/projects/mjexp/sys/kern/sched_core.c#2 integrate .. //depot/projects/mjexp/sys/kern/sched_ule.c#6 integrate .. //depot/projects/mjexp/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/mjexp/sys/net/ethernet.h#4 integrate .. //depot/projects/mjexp/sys/net/if_vlan.c#3 integrate .. //depot/projects/mjexp/sys/netinet/in.h#2 integrate .. //depot/projects/mjexp/sys/netinet/ip_fw.h#2 integrate .. //depot/projects/mjexp/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/mjexp/sys/netinet/ip_fw_pfil.c#3 integrate .. //depot/projects/mjexp/sys/netinet/raw_ip.c#5 integrate .. //depot/projects/mjexp/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_asconf.h#2 integrate .. //depot/projects/mjexp/sys/netinet/sctp_auth.c#2 integrate .. //depot/projects/mjexp/sys/netinet/sctp_bsd_addr.c#2 integrate .. //depot/projects/mjexp/sys/netinet/sctp_indata.c#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_os.h#2 integrate .. //depot/projects/mjexp/sys/netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.c#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.h#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_structs.h#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_timer.c#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_usrreq.c#3 integrate .. //depot/projects/mjexp/sys/netinet/sctp_var.h#2 integrate .. //depot/projects/mjexp/sys/netinet/sctputil.c#3 integrate .. //depot/projects/mjexp/sys/netinet/tcp_subr.c#4 integrate .. //depot/projects/mjexp/sys/netinet/udp_usrreq.c#5 integrate .. //depot/projects/mjexp/sys/netinet6/sctp6_usrreq.c#3 integrate .. //depot/projects/mjexp/sys/nfsserver/nfs_srvsubs.c#3 integrate .. //depot/projects/mjexp/sys/nfsserver/nfsm_subs.h#2 integrate .. //depot/projects/mjexp/sys/pci/agp_intel.c#2 integrate .. //depot/projects/mjexp/sys/pci/agpreg.h#2 integrate .. //depot/projects/mjexp/sys/security/mac/mac_framework.c#2 integrate .. //depot/projects/mjexp/sys/security/mac_stub/mac_stub.c#4 integrate .. //depot/projects/mjexp/sys/sun4v/sun4v/pmap.c#6 integrate .. //depot/projects/mjexp/sys/sys/copyright.h#2 integrate .. //depot/projects/mjexp/sys/sys/file.h#2 integrate .. //depot/projects/mjexp/sys/sys/proc.h#7 integrate .. //depot/projects/mjexp/sys/sys/runq.h#3 integrate .. //depot/projects/mjexp/sys/sys/unpcb.h#2 integrate .. //depot/projects/mjexp/sys/vm/swap_pager.c#4 integrate .. //depot/projects/mjexp/sys/vm/uma.h#2 integrate .. //depot/projects/mjexp/sys/vm/uma_core.c#3 integrate .. //depot/projects/mjexp/tools/regression/lib/libc/stdio/test-scanfloat.c#2 integrate .. //depot/projects/mjexp/tools/tools/mfi/Makefile#1 branch .. //depot/projects/mjexp/tools/tools/mfi/mfi_checkq.c#1 branch .. //depot/projects/mjexp/tools/tools/mfi/runmegacli.sh#1 branch .. //depot/projects/mjexp/usr.bin/id/id.c#3 integrate .. //depot/projects/mjexp/usr.bin/kdump/kdump.c#2 integrate .. //depot/projects/mjexp/usr.bin/kdump/kdump_subr.h#2 integrate .. //depot/projects/mjexp/usr.bin/kdump/mksubr#3 integrate .. //depot/projects/mjexp/usr.bin/make/make.1#2 integrate .. //depot/projects/mjexp/usr.bin/tar/write.c#2 integrate .. //depot/projects/mjexp/usr.bin/xlint/lint1/emit.c#2 integrate .. //depot/projects/mjexp/usr.sbin/bsnmpd/modules/Makefile#3 integrate .. //depot/projects/mjexp/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#4 integrate .. //depot/projects/mjexp/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#4 integrate .. //depot/projects/mjexp/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#4 integrate .. //depot/projects/mjexp/usr.sbin/freebsd-update/freebsd-update.8#3 integrate .. //depot/projects/mjexp/usr.sbin/fwcontrol/fwcontrol.8#3 integrate .. //depot/projects/mjexp/usr.sbin/ntp/doc/ntp.conf.5#3 integrate .. //depot/projects/mjexp/usr.sbin/ppp/fsm.h#2 integrate .. //depot/projects/mjexp/usr.sbin/rpc.lockd/lockd_lock.c#2 integrate .. //depot/projects/mjexp/usr.sbin/sysinstall/installUpgrade.c#3 integrate Differences ... ==== //depot/projects/mjexp/COPYRIGHT#2 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/COPYRIGHT,v 1.7 2006/01/15 22:06:10 imp Exp $ +# $FreeBSD: src/COPYRIGHT,v 1.8 2006/12/31 16:34:16 delphij Exp $ # @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94 The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (C) 1992-2006 The FreeBSD Project. All rights reserved. +Copyright (C) 1992-2007 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ==== //depot/projects/mjexp/ObsoleteFiles.inc#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.67 2006/12/07 01:24:38 avatar Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.68 2007/01/02 03:42:16 kientzle Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -32,6 +32,8 @@ OLD_FILES+=lib/libalias_pptp.so.4 OLD_FILES+=lib/libalias_skinny.so.4 OLD_FILES+=lib/libalias_smedia.so.4 +# 20061126: remove old man page +OLD_FILES+=usr/share/man/man3/archive_read_set_bytes_per_block.3.gz # 20061125: remove old man page OLD_FILES+=usr/share/man/man9/devsw.9.gz # 20061122: remove obsolete mount programs ==== //depot/projects/mjexp/contrib/gdtoa/README#2 (text+ko) ==== @@ -144,18 +144,33 @@ necessary to #include "float.h" or another system-dependent header file. -The values returned for NaNs may be signaling NaNs on some systems, -since the rules for distinguishing signaling from quiet NaNs are -system-dependent. You can easily fix this by suitably modifying the -ULto* routines in strtor*.c. +Source file strtodnrp.c gives a strtod that does not require 53-bit +rounding precision on systems (such as Intel IA32 systems) that may +suffer double rounding due to use of extended-precision registers. +For some conversions this variant of strtod is less efficient than the +one in strtod.c when the latter is run with 53-bit rounding precision. + +The values that the strto* routines return for NaNs are determined by +gd_qnan.h, which the makefile generates by running the program whose +source is qnan.c. Note that the rules for distinguishing signaling +from quiet NaNs are system-dependent. For cross-compilation, you need +to determine arith.h and gd_qnan.h suitably, e.g., using the +arithmetic of the target machine. C99's hexadecimal floating-point constants are recognized by the strto* routines (but this feature has not yet been heavily tested). Compiling with NO_HEX_FP #defined disables this feature. -The strto* routines do not (yet) recognize C99's NaN(...) syntax; the -strto* routines simply regard '(' as the first unprocessed input -character. +When compiled with -DINFNAN_CHECK, the strto* routines recognize C99's +NaN and Infinity syntax. Moreover, unless No_Hex_NaN is #defined, the +strto* routines also recognize C99's NaN(...) syntax: they accept +(case insensitively) strings of the form NaN(x), where x is a string +of hexadecimal digits and spaces; if there is only one string of +hexadecimal digits, it is taken for the fraction bits of the resulting +NaN; if there are two or more strings of hexadecimal digits, each +string is assigned to the next available sequence of 32-bit words of +fractions bits (starting with the most significant), right-aligned in +each sequence. For binary -> decimal conversions, I've provided just one family of helper routines: @@ -213,7 +228,7 @@ if the private pool does not suffice. 2000 is large enough that MALLOC is called only under very unusual circumstances (decimal -> binary conversion of very long strings) for conversions to and from double -precision. For systems with preemptivaly scheduled multiple threads +precision. For systems with preemptively scheduled multiple threads or for conversions to extended or quad, it may be appropriate to #define PRIVATE_MEM nnnn, where nnnn is a suitable value > 2000. For extended and quad precisions, -DPRIVATE_MEM=20000 is probably @@ -317,7 +332,5 @@ the decimal-point character to be taken from the current locale; otherwise it is '.'. -Please send comments to - - David M. Gay - dmg@acm.org +Please send comments to David M. Gay (dmg at acm dot org, with " at " +changed at "@" and " dot " changed to "."). ==== //depot/projects/mjexp/contrib/gdtoa/arithchk.c#2 (text+ko) ==== @@ -136,6 +136,7 @@ return b == 0.; } + int main() { Akind *a = 0; ==== //depot/projects/mjexp/contrib/gdtoa/dmisc.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/mjexp/contrib/gdtoa/dtoa.c#2 (text+ko) ==== @@ -26,21 +26,15 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" /* dtoa for IEEE arithmetic (dmg): convert double to ASCII string. * * Inspired by "How to Print Floating-Point Numbers Accurately" by - * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101]. + * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126]. * * Modifications: * 1. Rather than iterating, we use a simple numeric overestimate ==== //depot/projects/mjexp/contrib/gdtoa/g_Qfmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -83,7 +77,7 @@ if (ex == 0x7fff) { /* Infinity or NaN */ if (bits[0] | bits[1] | bits[2] | bits[3]) - b = strcpy(b, "NaN"); + b = strcp(b, "NaN"); else { b = buf; if (sign) ==== //depot/projects/mjexp/contrib/gdtoa/g__fmt.c#2 (text+ko) ==== @@ -26,10 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - dmg@acm.org - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/mjexp/contrib/gdtoa/g_ddfmt.c#2 (text+ko) ==== @@ -26,14 +26,7 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg@acm.org). */ #include "gdtoaimp.h" #include ==== //depot/projects/mjexp/contrib/gdtoa/g_dfmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/mjexp/contrib/gdtoa/g_ffmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/mjexp/contrib/gdtoa/g_xLfmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/mjexp/contrib/gdtoa/g_xfmt.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -96,6 +90,7 @@ } else if (bits[0] | bits[1]) { i = STRTOG_Denormal; + ex = 1; } else { b = buf; ==== //depot/projects/mjexp/contrib/gdtoa/gdtoa.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -83,7 +77,7 @@ /* dtoa for IEEE arithmetic (dmg): convert double to ASCII string. * * Inspired by "How to Print Floating-Point Numbers Accurately" by - * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101]. + * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126]. * * Modifications: * 1. Rather than iterating, we use a simple numeric overestimate ==== //depot/projects/mjexp/contrib/gdtoa/gdtoa.h#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #ifndef GDTOA_H_INCLUDED #define GDTOA_H_INCLUDED ==== //depot/projects/mjexp/contrib/gdtoa/gdtoaimp.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ ****************************************************************/ -/* $FreeBSD: src/contrib/gdtoa/gdtoaimp.h,v 1.7 2005/01/18 18:56:18 das Exp $ */ +/* $FreeBSD: src/contrib/gdtoa/gdtoaimp.h,v 1.8 2007/01/03 04:59:33 das Exp $ */ /* This is a variation on dtoa.c that converts arbitary binary floating-point formats to and from decimal notation. It uses @@ -35,13 +35,8 @@ double-precision arithmetic (any of IEEE, VAX D_floating, or IBM mainframe arithmetic). - Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com + Please send bug reports to David M. Gay (dmg at acm dot org, + with " at " changed at "@" and " dot " changed to "."). */ /* On a machine with IEEE extended-precision registers, it is @@ -63,7 +58,7 @@ * biased rounding (add half and chop). * * Inspired loosely by William D. Clinger's paper "How to Read Floating - * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. + * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 112-126]. * * Modifications: * @@ -134,10 +129,7 @@ * 8-byte pointers, PRIVATE_MEM >= 7400 appears to suffice; with * 4-byte pointers, PRIVATE_MEM >= 7112 appears adequate. * #define INFNAN_CHECK on IEEE systems to cause strtod to check for - * Infinity and NaN (case insensitively). On some systems (e.g., - * some HP systems), it may be necessary to #define NAN_WORD0 - * appropriately -- to the most significant word of a quiet NaN. - * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.) + * Infinity and NaN (case insensitively). * When INFNAN_CHECK is #defined and No_Hex_NaN is not #defined, * strtodg also accepts (case insensitively) strings of the form * NaN(x), where x is a string of hexadecimal digits and spaces; @@ -178,6 +170,7 @@ #ifndef GDTOAIMP_H_INCLUDED #define GDTOAIMP_H_INCLUDED #include "gdtoa.h" +#include "gd_qnan.h" #ifdef DEBUG #include "stdio.h" @@ -558,6 +551,7 @@ #define hexdig_init_D2A __hexdig_init_D2A #define hexnan __hexnan_D2A #define hi0bits __hi0bits_D2A +#define hi0bits_D2A __hi0bits_D2A #define i2b __i2b_D2A #define increment __increment_D2A #define lo0bits __lo0bits_D2A @@ -657,31 +651,39 @@ #ifdef __cplusplus } #endif - - +/* + * NAN_WORD0 and NAN_WORD1 are only referenced in strtod.c. Prior to + * 20050115, they used to be hard-wired here (to 0x7ff80000 and 0, + * respectively), but now are determined by compiling and running + * qnan.c to generate gd_qnan.h, which specifies d_QNAN0 and d_QNAN1. + * Formerly gdtoaimp.h recommended supplying suitable -DNAN_WORD0=... + * and -DNAN_WORD1=... values if necessary. This should still work. + * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.) + */ #ifdef IEEE_Arith #ifdef IEEE_MC68k #define _0 0 #define _1 1 +#ifndef NAN_WORD0 +#define NAN_WORD0 d_QNAN0 +#endif +#ifndef NAN_WORD1 +#define NAN_WORD1 d_QNAN1 +#endif #else #define _0 1 #define _1 0 +#ifndef NAN_WORD0 +#define NAN_WORD0 d_QNAN1 #endif +#ifndef NAN_WORD1 +#define NAN_WORD1 d_QNAN0 +#endif +#endif #else #undef INFNAN_CHECK #endif -#ifdef INFNAN_CHECK - -#ifndef NAN_WORD0 -#define NAN_WORD0 0x7ff80000 -#endif - -#ifndef NAN_WORD1 -#define NAN_WORD1 0 -#endif -#endif /* INFNAN_CHECK */ - #undef SI #ifdef Sudden_Underflow #define SI 1 ==== //depot/projects/mjexp/contrib/gdtoa/gethex.c#2 (text+ko) ==== @@ -26,10 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - dmg@acm.org - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" @@ -47,7 +45,7 @@ { Bigint *b; CONST unsigned char *decpt, *s0, *s, *s1; - int esign, havedig, irv, k, n, nbits, up; + int esign, havedig, irv, k, n, nbits, up, zret; ULong L, lostbits, *x; Long e, e1; #ifdef USE_LOCALE @@ -65,22 +63,20 @@ s0 += havedig; s = s0; decpt = 0; + zret = 0; + e = 0; if (!hexdig[*s]) { - if (*s == decimalpoint) { - decpt = ++s; - if (!hexdig[*s]) - goto ret0; - } - else { - ret0: - *sp = (char*)s; - return havedig ? STRTOG_Zero : STRTOG_NoNumber; - } + zret = 1; + if (*s != decimalpoint) + goto pcheck; + decpt = ++s; + if (!hexdig[*s]) + goto pcheck; while(*s == '0') s++; + if (hexdig[*s]) + zret = 0; havedig = 1; - if (!hexdig[*s]) - goto ret0; s0 = s; } while(hexdig[*s]) @@ -90,9 +86,9 @@ while(hexdig[*s]) s++; } - e = 0; if (decpt) e = -(((Long)(s-decpt)) << 2); + pcheck: s1 = s; switch(*s) { case 'p': @@ -117,6 +113,8 @@ e += e1; } *sp = (char*)s; + if (zret) + return havedig ? STRTOG_Zero : STRTOG_NoNumber; n = s1 - s0 - 1; for(k = 0; n > 7; n >>= 1) k++; ==== //depot/projects/mjexp/contrib/gdtoa/gmisc.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/mjexp/contrib/gdtoa/hd_init.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/mjexp/contrib/gdtoa/hexnan.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to - David M. Gay - Bell Laboratories, Room 2C-463 - 600 Mountain Avenue - Murray Hill, NJ 07974-0636 - U.S.A. - dmg@bell-labs.com - */ +/* Please send bug reports to David M. Gay (dmg at acm dot org, + * with " at " changed at "@" and " dot " changed to "."). */ #include "gdtoaimp.h" ==== //depot/projects/mjexp/contrib/gdtoa/makefile#2 (text+ko) ==== @@ -30,13 +30,18 @@ .c.o: $(CC) -c $(CFLAGS) $*.c -all: arith.h gdtoa.a +all: arith.h gd_qnan.h gdtoa.a arith.h: arithchk.c $(CC) $(CFLAGS) arithchk.c || $(CC) -DNO_LONG_LONG $(CFLAGS) arithchk.c ./a.out >arith.h rm -f a.out arithchk.o +gd_qnan.h: arith.h qnan.c + $(CC) $(CFLAGS) qnan.c + ./a.out >gd_qnan.h + rm -f a.out qnan.o + gdtoa.a: dmisc.c dtoa.c g_Qfmt.c g__fmt.c g_ddfmt.c g_dfmt.c g_ffmt.c\ g_xLfmt.c g_xfmt.c gdtoa.c gethex.c gmisc.c hd_init.c hexnan.c\ misc.c smisc.c strtoIQ.c strtoId.c strtoIdd.c strtoIf.c strtoIg.c\ @@ -51,10 +56,10 @@ xs0 = README arithchk.c dmisc.c dtoa.c g_Qfmt.c g__fmt.c g_ddfmt.c g_dfmt.c\ g_ffmt.c g_xLfmt.c g_xfmt.c gdtoa.c gdtoa.h gdtoaimp.h gethex.c\ - gmisc.c hd_init.c hexnan.c makefile misc.c smisc.c strtoIQ.c\ + gmisc.c hd_init.c hexnan.c makefile misc.c qnan.c smisc.c strtoIQ.c\ strtoId.c strtoIdd.c strtoIf.c strtoIg.c strtoIx.c strtoIxL.c\ - strtod.c strtodI.c strtodg.c strtof.c strtopQ.c strtopd.c strtopdd.c\ - strtopf.c strtopx.c strtopxL.c strtorQ.c strtord.c strtordd.c\ + strtod.c strtodI.c strtodg.c strtodnrp.c strtof.c strtopQ.c strtopd.c\ + strtopdd.c strtopf.c strtopx.c strtopxL.c strtorQ.c strtord.c strtordd.c\ strtorf.c strtorx.c strtorxL.c sum.c ulp.c # "make xsum.out" to check for transmission errors; source for xsum is @@ -66,4 +71,4 @@ cmp xsum0.out xsum1.out && mv xsum1.out xsum.out || diff xsum[01].out clean: - rm -f arith.h *.[ao] xsum.out xsum1.out + rm -f arith.h gd_qnan.h *.[ao] xsum.out xsum1.out ==== //depot/projects/mjexp/contrib/gdtoa/misc.c#2 (text+ko) ==== @@ -26,14 +26,8 @@ ****************************************************************/ -/* Please send bug reports to >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jan 6 02:01:31 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 E5B4216A412; Sat, 6 Jan 2007 02:01:30 +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 BD44F16A407 for ; Sat, 6 Jan 2007 02:01:30 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 9A55113C45B for ; Sat, 6 Jan 2007 02:01:30 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l0621UXq000128 for ; Sat, 6 Jan 2007 02:01:30 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l0621UQp000113 for perforce@freebsd.org; Sat, 6 Jan 2007 02:01:30 GMT (envelope-from piso@freebsd.org) Date: Sat, 6 Jan 2007 02:01:30 GMT Message-Id: <200701060201.l0621UQp000113@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112584 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: Sat, 06 Jan 2007 02:01:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=112584 Change 112584 by piso@piso_newluxor on 2007/01/06 02:01:28 The ECHILD case is not useful anymore. While here, garbage collect a var from handle_intr(). Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#15 edit .. //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#22 edit .. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#14 edit .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#25 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#20 edit .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#14 edit Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#15 (text+ko) ==== @@ -277,8 +277,6 @@ res = handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); switch(res) { case 0: - /* FALLTHROUGH */ - case ECHILD: break; case EINVAL: /* ==== //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#22 (text+ko) ==== @@ -265,8 +265,6 @@ res = handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); switch(res) { case 0: - /* FALLTHROUGH */ - case ECHILD: break; case EINVAL: /* ==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#14 (text+ko) ==== @@ -409,8 +409,6 @@ intr_disab_eoi_src_stub, (void *)vector); switch (res) { case 0: - /* FALLTHROUGH */ - case ECHILD: break; case EINVAL: panic("Interrupt vector without an event\n"); ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#25 (text+ko) ==== @@ -1004,7 +1004,6 @@ * Return value: * o 0: everything ok. * o EINVAL: stray interrupt. - * o ECHILD: no ithread scheduled. */ int handle_intr(struct intr_event *ie, struct trapframe *frame, @@ -1013,10 +1012,9 @@ { struct intr_thread *ithd; struct thread *td; - int error, res, thread; + int error, thread; ithd = NULL; - res = 0; td = curthread; if (ie == NULL || TAILQ_EMPTY(&ie->ie_handlers)) @@ -1056,10 +1054,9 @@ error = intr_event_schedule_thread(ie, ithd); if (error != 0) panic("%s: impossible stray interrupt", __func__); - } else - res = ECHILD; + } td->td_intr_nesting_level--; - return (res); + return (0); } #ifdef DDB ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#20 (text+ko) ==== @@ -293,8 +293,6 @@ intr_disab_eoi_src_stub, (void *)irq); switch(res) { case 0: - /* FALLTHROUGH */ - case ECHILD: break; case EINVAL: stray_int(irq); ==== //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#14 (text+ko) ==== @@ -276,8 +276,6 @@ intr_disab_eoi_src_stub, NULL); switch (res) { case 0: - /* FALLTHROUGH */ - case ECHILD: break; case EINVAL: intr_stray_vector(iv); From owner-p4-projects@FreeBSD.ORG Sat Jan 6 02:04:35 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 728BC16A40F; Sat, 6 Jan 2007 02:04:35 +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 298FE16A403 for ; Sat, 6 Jan 2007 02:04:35 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 1F43713C428 for ; Sat, 6 Jan 2007 02:04:35 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l0624YAJ002164 for ; Sat, 6 Jan 2007 02:04:35 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l0624YM3002159 for perforce@freebsd.org; Sat, 6 Jan 2007 02:04:34 GMT (envelope-from piso@freebsd.org) Date: Sat, 6 Jan 2007 02:04:34 GMT Message-Id: <200701060204.l0624YM3002159@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112585 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: Sat, 06 Jan 2007 02:04:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=112585 Change 112585 by piso@piso_newluxor on 2007/01/06 02:04:28 Gargabe collect another var. Affected files ... .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#26 edit Differences ... ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#26 (text+ko) ==== @@ -1012,7 +1012,7 @@ { struct intr_thread *ithd; struct thread *td; - int error, thread; + int thread; ithd = NULL; td = curthread; @@ -1051,8 +1051,7 @@ /* Schedule an ithread if needed. */ if (thread & FILTER_SCHEDULE_THREAD) { - error = intr_event_schedule_thread(ie, ithd); - if (error != 0) + if (intr_event_schedule_thread(ie, ithd) != 0) panic("%s: impossible stray interrupt", __func__); } td->td_intr_nesting_level--; From owner-p4-projects@FreeBSD.ORG Sat Jan 6 02:21:58 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 2179E16A47C; Sat, 6 Jan 2007 02:21:58 +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 EF08716A416 for ; Sat, 6 Jan 2007 02:21:57 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E41D913C45A for ; Sat, 6 Jan 2007 02:21:57 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l062LvSv004901 for ; Sat, 6 Jan 2007 02:21:57 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l062Lv1L004897 for perforce@freebsd.org; Sat, 6 Jan 2007 02:21:57 GMT (envelope-from piso@freebsd.org) Date: Sat, 6 Jan 2007 02:21:57 GMT Message-Id: <200701060221.l062Lv1L004897@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 112586 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: Sat, 06 Jan 2007 02:21:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=112586 Change 112586 by piso@piso_newluxor on 2007/01/06 02:21:47 s/handle_intr/intr_event_handle/g Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#16 edit .. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#15 edit .. //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#23 edit .. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#15 edit .. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#27 edit .. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#21 edit .. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#15 edit .. //depot/projects/soc2006/intr_filter/sys/interrupt.h#12 edit Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#16 (text+ko) ==== @@ -274,7 +274,7 @@ if (vector == 0) clkintr_pending = 1; - res = handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); + res = intr_event_handle(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); switch(res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#15 (text+ko) ==== @@ -141,7 +141,7 @@ while ((i = arm_get_next_irq()) != -1) { intrcnt[intrcnt_tab[i]]++; event = intr_events[i]; - handle_intr(event, frame, intr_eoi_src_stub, + intr_event_handle(event, frame, intr_eoi_src_stub, intr_disab_eoi_src, (void *)i); } } ==== //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#23 (text+ko) ==== @@ -262,7 +262,7 @@ if (vector == 0) clkintr_pending = 1; - res = handle_intr(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); + res = intr_event_handle(ie, frame, intr_eoi_src, intr_disab_eoi_src, isrc); switch(res) { case 0: break; ==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#15 (text+ko) ==== @@ -405,7 +405,7 @@ if (i->cntp) atomic_add_long(i->cntp, 1); - res = handle_intr(i->event, frame, intr_eoi_src, + res = intr_event_handle(i->event, frame, intr_eoi_src, intr_disab_eoi_src_stub, (void *)vector); switch (res) { case 0: ==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#27 (text+ko) ==== @@ -1006,7 +1006,7 @@ * o EINVAL: stray interrupt. */ int -handle_intr(struct intr_event *ie, struct trapframe *frame, +intr_event_handle(struct intr_event *ie, struct trapframe *frame, void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *), void *arg) { ==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#21 (text+ko) ==== @@ -289,7 +289,7 @@ ie = i->event; KASSERT(ie != NULL, ("%s: interrupt without an event", __func__)); - res = handle_intr(ie, NULL, intr_eoi_src, + res = intr_event_handle(ie, NULL, intr_eoi_src, intr_disab_eoi_src_stub, (void *)irq); switch(res) { case 0: ==== //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#15 (text+ko) ==== @@ -272,7 +272,7 @@ iv = cookie; ie = iv->iv_event; - res = handle_intr(ie, NULL, intr_eoi_src_stub, + res = intr_event_handle(ie, NULL, intr_eoi_src_stub, intr_disab_eoi_src_stub, NULL); switch (res) { case 0: ==== //depot/projects/soc2006/intr_filter/sys/interrupt.h#12 (text+ko) ==== @@ -119,7 +119,7 @@ void stray_detection(void *_arg); void intr_eoi_src_stub(void *arg __unused); void intr_disab_eoi_src_stub(void *arg __unused); -int handle_intr(struct intr_event *ie, struct trapframe *frame, +int intr_event_handle(struct intr_event *ie, struct trapframe *frame, void (*intr_eoi_src)(void *), void (*intr_disab_eoi_src)(void *), void *arg); u_char intr_priority(enum intr_type flags); From owner-p4-projects@FreeBSD.ORG Sat Jan 6 14:39:30 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 A7EFE16A492; Sat, 6 Jan 2007 14:39:30 +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 67A2316A407; Sat, 6 Jan 2007 14:39:30 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.freebsd.org (Postfix) with ESMTP id E313A13C448; Sat, 6 Jan 2007 14:39:29 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id l06EdRXH001404 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 6 Jan 2007 15:39:27 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id l06EdQb5001403; Sat, 6 Jan 2007 15:39:26 +0100 (CET) Date: Sat, 6 Jan 2007 15:39:26 +0100 From: Divacky Roman To: John Baldwin Message-ID: <20070106143926.GA1353@stud.fit.vutbr.cz> References: <200701050754.l057s5bU066108@repoman.freebsd.org> <200701051231.59354.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701051231.59354.jhb@freebsd.org> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: Roman Divacky , Perforce Change Reviews Subject: Re: PERFORCE change 112534 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: Sat, 06 Jan 2007 14:39:31 -0000 On Fri, Jan 05, 2007 at 12:31:59PM -0500, John Baldwin wrote: > On Friday 05 January 2007 02:54, Roman Divacky wrote: > > http://perforce.freebsd.org/chv.cgi?CH=112534 > > > > Change 112534 by rdivacky@rdivacky_witten on 2007/01/05 07:53:57 > > > > Dont lock em in a case of just using em->shared->group_pid because > > the group_pid never changes. > > Is em->shared static for the lifetime of an em object? yes From owner-p4-projects@FreeBSD.ORG Sat Jan 6 14:40:33 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 92E1116A510; Sat, 6 Jan 2007 14:40:33 +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 7013716A506; Sat, 6 Jan 2007 14:40:33 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (eva.fit.vutbr.cz [147.229.176.14]) by mx1.freebsd.org (Postfix) with ESMTP id 039D213C46C; Sat, 6 Jan 2007 14:40:32 +0000 (UTC) (envelope-from xdivac02@stud.fit.vutbr.cz) Received: from eva.fit.vutbr.cz (localhost [127.0.0.1]) by eva.fit.vutbr.cz (envelope-from xdivac02@eva.fit.vutbr.cz) (8.13.8/8.13.7) with ESMTP id l06EeUd2001558 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 6 Jan 2007 15:40:30 +0100 (CET) Received: (from xdivac02@localhost) by eva.fit.vutbr.cz (8.13.8/8.13.3/Submit) id l06EeUGi001557; Sat, 6 Jan 2007 15:40:30 +0100 (CET) Date: Sat, 6 Jan 2007 15:40:30 +0100 From: Divacky Roman To: John Baldwin Message-ID: <20070106144030.GB1353@stud.fit.vutbr.cz> References: <200701050802.l0582Gnq067583@repoman.freebsd.org> <200701051232.28019.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200701051232.28019.jhb@freebsd.org> User-Agent: Mutt/1.4.2.2i X-Scanned-By: MIMEDefang 2.57 on 147.229.176.14 Cc: Roman Divacky , Perforce Change Reviews Subject: Re: PERFORCE change 112535 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: Sat, 06 Jan 2007 14:40:33 -0000 On Fri, Jan 05, 2007 at 12:32:27PM -0500, John Baldwin wrote: > On Friday 05 January 2007 03:02, Roman Divacky wrote: > > http://perforce.freebsd.org/chv.cgi?CH=112535 > > > > Change 112535 by rdivacky@rdivacky_witten on 2007/01/05 08:01:24 > > > > No need to lock prison in a case of linux_use26 becuase the int > > setting is atomic and process cannot leave jail. > > > > Submitted by: kib > > Reviewed by: jhb > > > > Affected files ... > > > > .. //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#6 edit > > > > Differences ... > > > > ==== //depot/projects/linuxolator/src/sys/compat/linux/linux_mib.c#6 > (text+ko) ==== > > > > @@ -237,12 +237,10 @@ > > > > pr = td->td_ucred->cr_prison; > > if (pr != NULL) { > > - mtx_lock(&pr->pr_mtx); > > if (pr->pr_linux != NULL) { > > lpr = (struct linux_prison *)pr->pr_linux; > > use26 = lpr->pr_use_linux26; > > } > > - mtx_unlock(&pr->pr_mtx); > > } else > > use26 = linux_use_linux26; > > > > > > Hmm, what is use26 set to if pr != NULL but pr->pr_linux == NULL? to the default value of 0 From owner-p4-projects@FreeBSD.ORG Sat Jan 6 18:25:31 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 27B8A16A40F; Sat, 6 Jan 2007 18:25:31 +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 00B6A16A403 for ; Sat, 6 Jan 2007 18:25:31 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id E0F5313C43E for ; Sat, 6 Jan 2007 18:25:30 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l06IPUOr036674 for ; Sat, 6 Jan 2007 18:25:30 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l06IOdwr036602 for perforce@freebsd.org; Sat, 6 Jan 2007 18:24:39 GMT (envelope-from imp@freebsd.org) Date: Sat, 6 Jan 2007 18:24:39 GMT Message-Id: <200701061824.l06IOdwr036602@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 112609 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: Sat, 06 Jan 2007 18:25:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=112609 Change 112609 by imp@imp_paco-paco on 2007/01/06 18:24:07 IFC @112605 Affected files ... .. //depot/projects/arm/src/COPYRIGHT#2 integrate .. //depot/projects/arm/src/ObsoleteFiles.inc#14 integrate .. //depot/projects/arm/src/UPDATING#10 integrate .. //depot/projects/arm/src/bin/cat/cat.1#2 integrate .. //depot/projects/arm/src/bin/chmod/chmod.1#2 integrate .. //depot/projects/arm/src/bin/domainname/domainname.1#2 integrate .. //depot/projects/arm/src/bin/mkdir/mkdir.1#2 integrate .. //depot/projects/arm/src/bin/rm/rm.1#3 integrate .. //depot/projects/arm/src/bin/rmdir/rmdir.1#2 integrate .. //depot/projects/arm/src/bin/test/test.1#4 integrate .. //depot/projects/arm/src/contrib/cvs/src/log.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/README#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/arithchk.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/dmisc.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/dtoa.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/g_Qfmt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/g__fmt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/g_ddfmt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/g_dfmt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/g_ffmt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/g_xLfmt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/g_xfmt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/gdtoa.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/gdtoa.h#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/gdtoaimp.h#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/gethex.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/gmisc.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/hd_init.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/hexnan.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/makefile#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/misc.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/qnan.c#1 branch .. //depot/projects/arm/src/contrib/gdtoa/smisc.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtoIQ.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtoId.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtoIdd.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtoIf.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtoIg.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtoIx.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtoIxL.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtod.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtodI.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtodg.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtodnrp.c#1 branch .. //depot/projects/arm/src/contrib/gdtoa/strtof.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtopQ.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtopd.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtopdd.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtopf.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtopx.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtopxL.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtorQ.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtord.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtordd.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtorf.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtorx.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/strtorxL.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/sum.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/Qtest.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/dItest.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/ddtest.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/dt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/dtest.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/dtst.out#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/ftest.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/getround.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/makefile#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/strtodt.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/x.ou0#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/x.ou1#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/xL.ou1#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/xLtest.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/xsum0.out#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/test/xtest.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/ulp.c#2 integrate .. //depot/projects/arm/src/contrib/gdtoa/xsum0.out#2 integrate .. //depot/projects/arm/src/contrib/groff/tmac/doc-common#2 integrate .. //depot/projects/arm/src/contrib/groff/tmac/doc-syms#2 integrate .. //depot/projects/arm/src/contrib/groff/tmac/groff_mdoc.man#2 integrate .. //depot/projects/arm/src/contrib/libreadline/CHANGELOG#2 integrate .. //depot/projects/arm/src/contrib/libreadline/CHANGES#2 integrate .. //depot/projects/arm/src/contrib/libreadline/FREEBSD-upgrade#2 integrate .. //depot/projects/arm/src/contrib/libreadline/INSTALL#2 integrate .. //depot/projects/arm/src/contrib/libreadline/NEWS#2 integrate .. //depot/projects/arm/src/contrib/libreadline/README#2 integrate .. //depot/projects/arm/src/contrib/libreadline/aclocal.m4#2 integrate .. //depot/projects/arm/src/contrib/libreadline/bind.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/callback.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/complete.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/config.h.in#2 integrate .. //depot/projects/arm/src/contrib/libreadline/configure#2 integrate .. //depot/projects/arm/src/contrib/libreadline/configure.in#2 integrate .. //depot/projects/arm/src/contrib/libreadline/display.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/history.texi#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/hstech.texi#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/hsuser.texi#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/readline.3#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/rlman.texi#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/rltech.texi#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/rluser.texi#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/rluserman.texi#2 integrate .. //depot/projects/arm/src/contrib/libreadline/doc/version.texi#2 integrate .. //depot/projects/arm/src/contrib/libreadline/examples/excallback.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/examples/rlfe/Makefile.in#2 integrate .. //depot/projects/arm/src/contrib/libreadline/histexpand.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/histfile.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/history.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/input.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/isearch.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/kill.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/macro.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/misc.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/readline.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/readline.h#2 integrate .. //depot/projects/arm/src/contrib/libreadline/rlconf.h#2 integrate .. //depot/projects/arm/src/contrib/libreadline/rlmbutil.h#2 integrate .. //depot/projects/arm/src/contrib/libreadline/rlprivate.h#2 integrate .. //depot/projects/arm/src/contrib/libreadline/rltty.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/search.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/signals.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/support/shlib-install#2 integrate .. //depot/projects/arm/src/contrib/libreadline/support/shobj-conf#2 integrate .. //depot/projects/arm/src/contrib/libreadline/terminal.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/text.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/tilde.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/undo.c#2 integrate .. //depot/projects/arm/src/contrib/libreadline/vi_mode.c#2 integrate .. //depot/projects/arm/src/etc/rc.d/abi#2 integrate .. //depot/projects/arm/src/etc/rc.d/accounting#2 integrate .. //depot/projects/arm/src/etc/rc.d/archdep#2 integrate .. //depot/projects/arm/src/etc/rc.d/atm1#2 integrate .. //depot/projects/arm/src/etc/rc.d/auto_linklocal#4 integrate .. //depot/projects/arm/src/etc/rc.d/bluetooth#2 integrate .. //depot/projects/arm/src/etc/rc.d/bootconf.sh#2 integrate .. //depot/projects/arm/src/etc/rc.d/bridge#2 integrate .. //depot/projects/arm/src/etc/rc.d/geli#2 integrate .. //depot/projects/arm/src/etc/rc.d/hcsecd#2 integrate .. //depot/projects/arm/src/etc/rc.d/ip6fw#2 integrate .. //depot/projects/arm/src/etc/rc.d/ipfilter#3 integrate .. //depot/projects/arm/src/etc/rc.d/ipfw#3 integrate .. //depot/projects/arm/src/etc/rc.d/ipnat#2 integrate .. //depot/projects/arm/src/etc/rc.d/jail#2 integrate .. //depot/projects/arm/src/etc/rc.d/ldconfig#2 integrate .. //depot/projects/arm/src/etc/rc.d/lpd#2 integrate .. //depot/projects/arm/src/etc/rc.d/mdconfig#3 integrate .. //depot/projects/arm/src/etc/rc.d/mdconfig2#3 integrate .. //depot/projects/arm/src/etc/rc.d/mountcritremote#2 integrate .. //depot/projects/arm/src/etc/rc.d/moused#2 integrate .. //depot/projects/arm/src/etc/rc.d/natd#3 integrate .. //depot/projects/arm/src/etc/rc.d/netif#2 integrate .. //depot/projects/arm/src/etc/rc.d/nfsclient#2 integrate .. //depot/projects/arm/src/etc/rc.d/nfsserver#2 integrate .. //depot/projects/arm/src/etc/rc.d/nsswitch#2 integrate .. //depot/projects/arm/src/etc/rc.d/pf#2 integrate .. //depot/projects/arm/src/etc/rc.d/pflog#2 integrate .. //depot/projects/arm/src/etc/rc.d/pfsync#2 integrate .. //depot/projects/arm/src/etc/rc.d/pppoed#2 integrate .. //depot/projects/arm/src/etc/rc.d/sdpd#2 integrate .. //depot/projects/arm/src/etc/rc.d/syscons#2 integrate .. //depot/projects/arm/src/etc/rc.d/syslogd#2 integrate .. //depot/projects/arm/src/etc/rc.d/ugidfw#2 integrate .. //depot/projects/arm/src/etc/rc.d/var#2 integrate .. //depot/projects/arm/src/etc/rc.d/ypbind#2 integrate .. //depot/projects/arm/src/etc/rc.d/yppasswdd#2 integrate .. //depot/projects/arm/src/etc/rc.d/ypserv#2 integrate .. //depot/projects/arm/src/etc/rc.d/ypset#2 integrate .. //depot/projects/arm/src/etc/rc.d/ypupdated#2 integrate .. //depot/projects/arm/src/etc/rc.d/ypxfrd#3 integrate .. //depot/projects/arm/src/etc/rc.firewall#3 integrate .. //depot/projects/arm/src/etc/rc.subr#7 integrate .. //depot/projects/arm/src/etc/snmpd.config#3 integrate .. //depot/projects/arm/src/games/fortune/datfiles/fortunes#9 integrate .. //depot/projects/arm/src/games/fortune/datfiles/fortunes-o.real#2 integrate .. //depot/projects/arm/src/gnu/lib/libreadline/Makefile.inc#2 integrate .. //depot/projects/arm/src/gnu/lib/libreadline/config.h#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/groff/tmac/mdoc.local#5 integrate .. //depot/projects/arm/src/gnu/usr.bin/man/apropos/apropos.man#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/man/man/man.man#2 integrate .. //depot/projects/arm/src/gnu/usr.bin/man/manpath/manpath.man#2 integrate .. //depot/projects/arm/src/include/arpa/nameser_compat.h#2 integrate .. //depot/projects/arm/src/include/mqueue.h#2 integrate .. //depot/projects/arm/src/include/unistd.h#2 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#6 integrate .. //depot/projects/arm/src/lib/libarchive/archive_private.h#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read.3#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_fd.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_file.c#8 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_filename.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_memory.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_compression_bzip2.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_compression_none.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_format_cpio.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_format_iso9660.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_format_tar.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write.3#5 integrate .. //depot/projects/arm/src/lib/libarchive/libarchive.3#3 integrate .. //depot/projects/arm/src/lib/libc/amd64/gd_qnan.h#1 branch .. //depot/projects/arm/src/lib/libc/arm/gd_qnan.h#1 branch .. //depot/projects/arm/src/lib/libc/gdtoa/_hdtoa.c#2 integrate .. //depot/projects/arm/src/lib/libc/gen/sysconf.3#2 integrate .. //depot/projects/arm/src/lib/libc/gen/sysconf.c#2 integrate .. //depot/projects/arm/src/lib/libc/i386/gd_qnan.h#1 branch .. //depot/projects/arm/src/lib/libc/ia64/gd_qnan.h#1 branch .. //depot/projects/arm/src/lib/libc/inet/inet_cidr_ntop.c#2 integrate .. //depot/projects/arm/src/lib/libc/inet/inet_net_ntop.c#2 integrate .. //depot/projects/arm/src/lib/libc/isc/eventlib_p.h#3 integrate .. //depot/projects/arm/src/lib/libc/net/Makefile.inc#4 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_sys_calls.c#1 branch .. //depot/projects/arm/src/lib/libc/powerpc/gd_qnan.h#1 branch .. //depot/projects/arm/src/lib/libc/resolv/mtctxres.c#2 integrate .. //depot/projects/arm/src/lib/libc/resolv/res_init.c#3 integrate .. //depot/projects/arm/src/lib/libc/resolv/res_send.c#4 integrate .. //depot/projects/arm/src/lib/libc/sparc64/fpu/fpu_implode.c#2 integrate .. //depot/projects/arm/src/lib/libc/sparc64/gd_qnan.h#1 branch .. //depot/projects/arm/src/lib/libc/stdio/vfprintf.c#3 integrate .. //depot/projects/arm/src/lib/libc/stdlib/malloc.c#8 integrate .. //depot/projects/arm/src/lib/libc/stdtime/strftime.3#2 integrate .. //depot/projects/arm/src/lib/libc/sys/chflags.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/chmod.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/chown.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/kse.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/mkdir.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/mkfifo.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/recv.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/symlink.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/truncate.2#3 integrate .. //depot/projects/arm/src/lib/libelf/Makefile#3 integrate .. //depot/projects/arm/src/lib/libelf/Version.map#2 integrate .. //depot/projects/arm/src/lib/libelf/_libelf.h#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_getphnum.3#1 branch .. //depot/projects/arm/src/lib/libelf/elf_getshnum.3#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_phnum.c#1 branch .. //depot/projects/arm/src/lib/libelf/elf_scn.c#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_shnum.c#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_shstrndx.c#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_strptr.3#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_types.m4#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_update.3#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_update.c#2 integrate .. //depot/projects/arm/src/lib/libelf/gelf.h#2 integrate .. //depot/projects/arm/src/lib/libelf/gelf_cap.c#2 integrate .. //depot/projects/arm/src/lib/libelf/gelf_getehdr.3#2 integrate .. //depot/projects/arm/src/lib/libelf/gelf_getphdr.3#2 integrate .. //depot/projects/arm/src/lib/libelf/gelf_getsymshndx.3#2 integrate .. //depot/projects/arm/src/lib/libelf/gelf_move.c#2 integrate .. //depot/projects/arm/src/lib/libelf/gelf_newehdr.3#2 integrate .. //depot/projects/arm/src/lib/libelf/gelf_syminfo.c#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_align.c#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_ar.c#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_checksum.c#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_convert.m4#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_data.c#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_ehdr.c#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_extended.c#1 branch .. //depot/projects/arm/src/lib/libelf/libelf_fsize.m4#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_msize.m4#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_phdr.c#2 integrate .. //depot/projects/arm/src/lib/libelf/libelf_xlate.c#2 integrate .. //depot/projects/arm/src/lib/libpthread/thread/thr_kern.c#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/amd64/include/pthread_md.h#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/arm/include/pthread_md.h#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/i386/include/pthread_md.h#2 integrate .. //depot/projects/arm/src/lib/libthr/arch/ia64/include/pthread_md.h#4 integrate .. //depot/projects/arm/src/lib/libthr/arch/powerpc/include/pthread_md.h#4 integrate .. //depot/projects/arm/src/lib/libthr/arch/sparc64/include/pthread_md.h#2 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_cond.c#4 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_create.c#5 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_init.c#8 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_mutex.c#6 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_private.h#8 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_pspinlock.c#4 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_umtx.c#6 integrate .. //depot/projects/arm/src/lib/libthr/thread/thr_umtx.h#6 integrate .. //depot/projects/arm/src/lib/msun/amd64/fenv.c#2 integrate .. //depot/projects/arm/src/lib/msun/i387/fenv.c#2 integrate .. //depot/projects/arm/src/lib/msun/man/fenv.3#2 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#4 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/readme/article.sgml#2 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#2 integrate .. //depot/projects/arm/src/release/doc/share/misc/dev.archlist.txt#5 integrate .. //depot/projects/arm/src/sbin/atm/atm/atm.8#2 integrate .. //depot/projects/arm/src/sbin/bsdlabel/bsdlabel.8#4 integrate .. //depot/projects/arm/src/sbin/devfs/devfs.8#3 integrate .. //depot/projects/arm/src/sbin/fdisk/fdisk.8#3 integrate .. //depot/projects/arm/src/sbin/geom/class/mirror/gmirror.8#4 integrate .. //depot/projects/arm/src/sbin/ggate/ggated/ggated.c#2 integrate .. //depot/projects/arm/src/sbin/ggate/shared/ggate.c#3 integrate .. //depot/projects/arm/src/sbin/ggate/shared/ggate.h#2 integrate .. //depot/projects/arm/src/sbin/ifconfig/ifconfig.c#5 integrate .. //depot/projects/arm/src/sbin/ifconfig/ifieee80211.c#5 integrate .. //depot/projects/arm/src/sbin/ifconfig/ifmedia.c#3 integrate .. //depot/projects/arm/src/sbin/init/init.8#2 integrate .. //depot/projects/arm/src/sbin/ipfw/ipfw.8#6 integrate .. //depot/projects/arm/src/sbin/ipfw/ipfw2.c#6 integrate .. //depot/projects/arm/src/sbin/mount_unionfs/mount_unionfs.8#3 integrate .. //depot/projects/arm/src/sbin/mount_unionfs/mount_unionfs.c#3 integrate .. //depot/projects/arm/src/share/man/man1/builtin.1#3 integrate .. //depot/projects/arm/src/share/man/man1/intro.1#2 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#6 integrate .. //depot/projects/arm/src/share/man/man4/aac.4#3 integrate .. //depot/projects/arm/src/share/man/man4/altq.4#3 integrate .. //depot/projects/arm/src/share/man/man4/ata.4#5 integrate .. //depot/projects/arm/src/share/man/man4/audit.4#4 integrate .. //depot/projects/arm/src/share/man/man4/auditpipe.4#4 integrate .. //depot/projects/arm/src/share/man/man4/bce.4#4 integrate .. //depot/projects/arm/src/share/man/man4/blackhole.4#2 integrate .. //depot/projects/arm/src/share/man/man4/fast_ipsec.4#4 integrate .. //depot/projects/arm/src/share/man/man4/fdc.4#3 integrate .. //depot/projects/arm/src/share/man/man4/iic.4#4 integrate .. //depot/projects/arm/src/share/man/man4/inet.4#2 integrate .. //depot/projects/arm/src/share/man/man4/ipmi.4#4 integrate .. //depot/projects/arm/src/share/man/man4/joy.4#2 integrate .. //depot/projects/arm/src/share/man/man4/lmc.4#2 integrate .. //depot/projects/arm/src/share/man/man4/man4.i386/padlock.4#4 integrate .. //depot/projects/arm/src/share/man/man4/man4.sparc64/ofw_console.4#2 integrate .. //depot/projects/arm/src/share/man/man4/miibus.4#2 integrate .. //depot/projects/arm/src/share/man/man4/msk.4#1 branch .. //depot/projects/arm/src/share/man/man4/ng_deflate.4#1 branch .. //depot/projects/arm/src/share/man/man4/ng_ksocket.4#2 integrate .. //depot/projects/arm/src/share/man/man4/ng_pred1.4#1 branch .. //depot/projects/arm/src/share/man/man4/ng_tag.4#3 integrate .. //depot/projects/arm/src/share/man/man4/pty.4#3 integrate .. //depot/projects/arm/src/share/man/man4/snd_emu10kx.4#3 integrate .. //depot/projects/arm/src/share/man/man4/snd_hda.4#4 integrate .. //depot/projects/arm/src/share/man/man4/syscons.4#4 integrate .. //depot/projects/arm/src/share/man/man4/ubtbcmfw.4#3 integrate .. //depot/projects/arm/src/share/man/man4/vlan.4#4 integrate .. //depot/projects/arm/src/share/man/man4/watchdog.4#2 integrate .. //depot/projects/arm/src/share/man/man5/elf.5#3 integrate .. //depot/projects/arm/src/share/man/man5/linsysfs.5#3 integrate .. //depot/projects/arm/src/share/man/man5/rc.conf.5#6 integrate .. //depot/projects/arm/src/share/man/man7/build.7#3 integrate .. //depot/projects/arm/src/share/man/man7/development.7#2 integrate .. //depot/projects/arm/src/share/man/man7/environ.7#2 integrate .. //depot/projects/arm/src/share/man/man8/rc.subr.8#3 integrate .. //depot/projects/arm/src/share/man/man9/Makefile#6 integrate .. //depot/projects/arm/src/share/man/man9/bpf.9#2 integrate .. //depot/projects/arm/src/share/man/man9/bus_dma.9#5 integrate .. //depot/projects/arm/src/share/man/man9/config_intrhook.9#3 integrate .. //depot/projects/arm/src/share/man/man9/crypto.9#3 integrate .. //depot/projects/arm/src/share/man/man9/ifnet.9#2 integrate .. //depot/projects/arm/src/share/man/man9/kqueue.9#2 integrate .. //depot/projects/arm/src/share/man/man9/mutex.9#3 integrate .. //depot/projects/arm/src/share/man/man9/priv.9#2 integrate .. //depot/projects/arm/src/share/man/man9/socket.9#1 branch .. //depot/projects/arm/src/share/man/man9/sysctl.9#5 integrate .. //depot/projects/arm/src/share/man/man9/usbdi.9#2 integrate .. //depot/projects/arm/src/share/man/man9/utopia.9#2 integrate .. //depot/projects/arm/src/share/man/man9/vm_map_stack.9#2 integrate .. //depot/projects/arm/src/share/man/man9/watchdog.9#2 integrate .. //depot/projects/arm/src/sys/amd64/amd64/apic_vector.S#8 integrate .. //depot/projects/arm/src/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/arm/src/sys/amd64/amd64/exception.S#3 integrate .. //depot/projects/arm/src/sys/amd64/amd64/genassym.c#5 integrate .. //depot/projects/arm/src/sys/amd64/amd64/intr_machdep.c#9 integrate .. //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#16 integrate .. //depot/projects/arm/src/sys/amd64/amd64/machdep.c#20 integrate .. //depot/projects/arm/src/sys/amd64/amd64/mptable_pci.c#5 integrate .. //depot/projects/arm/src/sys/amd64/amd64/trap.c#15 integrate .. //depot/projects/arm/src/sys/amd64/conf/GENERIC#18 integrate .. //depot/projects/arm/src/sys/amd64/ia32/ia32_exception.S#2 integrate .. //depot/projects/arm/src/sys/amd64/ia32/ia32_syscall.c#6 integrate .. //depot/projects/arm/src/sys/amd64/include/apicvar.h#10 integrate .. //depot/projects/arm/src/sys/amd64/include/atomic.h#4 integrate .. //depot/projects/arm/src/sys/amd64/include/intr_machdep.h#7 integrate .. //depot/projects/arm/src/sys/amd64/isa/atpic.c#6 integrate .. //depot/projects/arm/src/sys/amd64/isa/atpic_vector.S#4 integrate .. //depot/projects/arm/src/sys/amd64/isa/icu.h#3 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux.h#8 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_dummy.c#7 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_machdep.c#10 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_proto.h#17 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_syscall.h#17 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_sysent.c#17 integrate .. //depot/projects/arm/src/sys/amd64/linux32/syscalls.master#16 integrate .. //depot/projects/arm/src/sys/amd64/pci/pci_bus.c#7 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_mci.c#29 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_pioreg.h#6 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_pmc.c#21 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_spireg.h#8 integrate .. //depot/projects/arm/src/sys/arm/at91/at91_st.c#16 integrate .. //depot/projects/arm/src/sys/arm/at91/files.at91#15 integrate .. //depot/projects/arm/src/sys/arm/at91/if_ate.c#68 integrate .. //depot/projects/arm/src/sys/arm/include/atomic.h#10 integrate .. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/Makefile.inc#31 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#25 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/arm_init.S#8 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#11 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/eeprom.c#9 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/emac.c#41 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/emac_init.c#12 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/lib.h#22 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#20 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.h#10 integrate .. //depot/projects/arm/src/sys/boot/common/bootstrap.h#4 integrate .. //depot/projects/arm/src/sys/boot/forth/loader.conf#10 integrate .. //depot/projects/arm/src/sys/boot/sparc64/loader/main.c#4 integrate .. //depot/projects/arm/src/sys/cam/cam_xpt.c#14 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_misc.c#14 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_proto.h#21 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscall.h#21 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscalls.c#21 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_sysent.c#21 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/syscalls.master#21 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_emul.c#8 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_emul.h#4 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_ipc.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_ipc.h#2 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_mib.c#4 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_mib.h#3 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.c#21 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_signal.c#8 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_time.c#2 integrate .. //depot/projects/arm/src/sys/compat/ndis/subr_ntoskrnl.c#9 integrate .. //depot/projects/arm/src/sys/conf/NOTES#39 integrate .. //depot/projects/arm/src/sys/conf/files#59 integrate .. //depot/projects/arm/src/sys/conf/files.amd64#21 integrate .. //depot/projects/arm/src/sys/conf/files.arm#7 integrate .. //depot/projects/arm/src/sys/conf/files.i386#23 integrate .. //depot/projects/arm/src/sys/conf/files.pc98#14 integrate .. //depot/projects/arm/src/sys/conf/files.powerpc#13 integrate .. //depot/projects/arm/src/sys/conf/files.sparc64#9 integrate .. //depot/projects/arm/src/sys/conf/files.sun4v#6 integrate .. //depot/projects/arm/src/sys/conf/kern.post.mk#14 integrate .. //depot/projects/arm/src/sys/conf/options#37 integrate .. //depot/projects/arm/src/sys/conf/options.arm#19 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/ah.h#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/ah_desc.h#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/ah_devid.h#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/alpha-elf.hal.o.uu#3 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/alpha-elf.inc#2 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/ap30.hal.o.uu#2 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/ap43.hal.o.uu#2 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/ap51.hal.o.uu#2 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/ap61.hal.o.uu#2 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/arm9-le-thumb-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/arm9-le-thumb-elf.inc#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/armv4-be-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/armv4-be-elf.inc#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/armv4-le-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/armv4-le-elf.inc#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/i386-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/mips-be-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/mips-le-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/mips1-be-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/mips1-le-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/mipsisa32-le-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/powerpc-be-eabi.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu#3 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/powerpc-le-eabi.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/sh4-le-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/sparc-be-elf.hal.o.uu#2 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu#3 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/wackelf.c#1 branch .. //depot/projects/arm/src/sys/contrib/dev/ath/public/x86_64-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/xscale-be-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/xscale-be-elf.inc#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/xscale-le-elf.hal.o.uu#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/public/xscale-le-elf.inc#4 integrate .. //depot/projects/arm/src/sys/contrib/dev/ath/version.h#4 integrate .. //depot/projects/arm/src/sys/contrib/ipfilter/netinet/ip_state.c#5 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/if_pfsync.c#7 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf.c#8 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf_ioctl.c#8 integrate .. //depot/projects/arm/src/sys/dev/aac/aac_linux.c#2 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_battery.c#6 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_pcib_acpi.c#6 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aic7xxx.seq#2 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/arm/src/sys/dev/arcmsr/arcmsr.c#7 integrate .. //depot/projects/arm/src/sys/dev/arcmsr/arcmsr.h#2 integrate .. //depot/projects/arm/src/sys/dev/arl/if_arl.c#5 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-all.c#16 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-chipset.c#31 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-pci.h#17 integrate .. //depot/projects/arm/src/sys/dev/ata/ata-queue.c#14 integrate .. //depot/projects/arm/src/sys/dev/ath/ath_rate/amrr/amrr.c#4 integrate .. //depot/projects/arm/src/sys/dev/ath/ath_rate/onoe/onoe.c#4 integrate .. //depot/projects/arm/src/sys/dev/ath/ath_rate/sample/sample.c#6 integrate .. //depot/projects/arm/src/sys/dev/ath/ath_rate/sample/sample.h#5 integrate .. //depot/projects/arm/src/sys/dev/ath/if_ath.c#22 integrate .. //depot/projects/arm/src/sys/dev/ath/if_athrate.h#3 integrate .. //depot/projects/arm/src/sys/dev/ath/if_athvar.h#14 integrate .. //depot/projects/arm/src/sys/dev/atkbdc/psm.c#5 integrate .. //depot/projects/arm/src/sys/dev/bge/if_bge.c#27 integrate .. //depot/projects/arm/src/sys/dev/bge/if_bgereg.h#19 integrate .. //depot/projects/arm/src/sys/dev/bktr/bktr_i2c.c#4 integrate .. //depot/projects/arm/src/sys/dev/ce/if_ce.c#5 integrate .. //depot/projects/arm/src/sys/dev/cp/if_cp.c#6 integrate .. //depot/projects/arm/src/sys/dev/ctau/if_ct.c#6 integrate .. //depot/projects/arm/src/sys/dev/cx/if_cx.c#5 integrate .. //depot/projects/arm/src/sys/dev/dc/if_dc.c#12 integrate .. //depot/projects/arm/src/sys/dev/drm/drm_agpsupport.c#5 integrate .. //depot/projects/arm/src/sys/dev/en/midway.c#5 integrate .. //depot/projects/arm/src/sys/dev/firewire/if_fwip.c#3 integrate .. //depot/projects/arm/src/sys/dev/hptmv/entry.c#6 integrate .. //depot/projects/arm/src/sys/dev/ichwd/ichwd.c#3 integrate .. //depot/projects/arm/src/sys/dev/if_ndis/if_ndis.c#8 integrate .. //depot/projects/arm/src/sys/dev/ipmi/ipmi.c#7 integrate .. //depot/projects/arm/src/sys/dev/isp/isp.c#16 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_freebsd.c#20 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_freebsd.h#15 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_pci.c#19 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_sbus.c#11 integrate .. //depot/projects/arm/src/sys/dev/isp/ispmbox.h#10 integrate .. //depot/projects/arm/src/sys/dev/md/md.c#8 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfi.c#12 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfi_ioctl.h#4 integrate .. //depot/projects/arm/src/sys/dev/mfi/mfireg.h#6 integrate .. //depot/projects/arm/src/sys/dev/mii/brgphy.c#13 integrate .. //depot/projects/arm/src/sys/dev/mii/miidevs#11 integrate .. //depot/projects/arm/src/sys/dev/mii/rgephy.c#8 integrate .. //depot/projects/arm/src/sys/dev/mk48txx/mk48txx.c#4 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt.c#22 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt.h#23 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_cam.c#31 integrate .. //depot/projects/arm/src/sys/dev/mpt/mpt_pci.c#21 integrate .. //depot/projects/arm/src/sys/dev/msk/if_msk.c#1 branch .. //depot/projects/arm/src/sys/dev/msk/if_mskreg.h#1 branch .. //depot/projects/arm/src/sys/dev/my/if_my.c#8 integrate .. //depot/projects/arm/src/sys/dev/pci/pci.c#19 integrate .. //depot/projects/arm/src/sys/dev/pci/pci_private.h#9 integrate .. //depot/projects/arm/src/sys/dev/pci/pcib_private.h#4 integrate .. //depot/projects/arm/src/sys/dev/pci/pcireg.h#7 integrate .. //depot/projects/arm/src/sys/dev/pci/pcivar.h#9 integrate .. //depot/projects/arm/src/sys/dev/ppbus/if_plip.c#6 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2560.c#8 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2560var.h#2 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2661.c#7 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2661var.h#2 integrate .. //depot/projects/arm/src/sys/dev/re/if_re.c#19 integrate .. //depot/projects/arm/src/sys/dev/sk/if_sk.c#9 integrate .. //depot/projects/arm/src/sys/dev/sk/if_skreg.h#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/envy24.c#4 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/envy24ht.c#2 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/envy24ht.h#2 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/hda/hdac.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/ich.c#14 integrate .. //depot/projects/arm/src/sys/dev/usb/if_aue.c#9 integrate .. //depot/projects/arm/src/sys/dev/usb/if_auereg.h#5 integrate .. //depot/projects/arm/src/sys/dev/usb/uplcom.c#10 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdi_util.h#4 integrate .. //depot/projects/arm/src/sys/dev/watchdog/watchdog.c#3 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/bpb.h#2 integrate .. //depot/projects/arm/src/sys/fs/pseudofs/pseudofs_vncache.c#5 integrate .. //depot/projects/arm/src/sys/fs/udf/udf_vnops.c#7 integrate .. //depot/projects/arm/src/sys/fs/unionfs/union_subr.c#5 integrate .. //depot/projects/arm/src/sys/fs/unionfs/union_vnops.c#7 integrate .. //depot/projects/arm/src/sys/i386/conf/GENERIC#17 integrate .. //depot/projects/arm/src/sys/i386/i386/apic_vector.s#7 integrate .. //depot/projects/arm/src/sys/i386/i386/elan-mmcr.c#3 integrate .. //depot/projects/arm/src/sys/i386/i386/exception.s#5 integrate .. //depot/projects/arm/src/sys/i386/i386/genassym.c#7 integrate .. //depot/projects/arm/src/sys/i386/i386/intr_machdep.c#9 integrate .. //depot/projects/arm/src/sys/i386/i386/local_apic.c#15 integrate .. //depot/projects/arm/src/sys/i386/i386/machdep.c#24 integrate .. //depot/projects/arm/src/sys/i386/i386/mptable_pci.c#5 integrate .. //depot/projects/arm/src/sys/i386/i386/swtch.s#6 integrate .. //depot/projects/arm/src/sys/i386/i386/trap.c#11 integrate .. //depot/projects/arm/src/sys/i386/i386/vm86.c#4 integrate .. //depot/projects/arm/src/sys/i386/i386/vm86bios.s#3 integrate .. //depot/projects/arm/src/sys/i386/include/apicvar.h#9 integrate .. //depot/projects/arm/src/sys/i386/include/atomic.h#5 integrate .. //depot/projects/arm/src/sys/i386/include/intr_machdep.h#7 integrate .. //depot/projects/arm/src/sys/i386/isa/atpic.c#6 integrate .. //depot/projects/arm/src/sys/i386/isa/atpic_vector.s#4 integrate .. //depot/projects/arm/src/sys/i386/isa/icu.h#3 integrate .. //depot/projects/arm/src/sys/i386/linux/linux.h#8 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_dummy.c#8 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_proto.h#20 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_syscall.h#19 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_sysent.c#19 integrate .. //depot/projects/arm/src/sys/i386/linux/syscalls.master#19 integrate .. //depot/projects/arm/src/sys/i386/pci/pci_bus.c#6 integrate .. //depot/projects/arm/src/sys/i386/pci/pci_cfgreg.c#4 integrate .. //depot/projects/arm/src/sys/i4b/driver/i4b_ipr.c#4 integrate .. //depot/projects/arm/src/sys/ia64/ia64/machdep.c#12 integrate .. //depot/projects/arm/src/sys/isa/pnpparse.c#2 integrate .. //depot/projects/arm/src/sys/kern/kern_clock.c#11 integrate .. //depot/projects/arm/src/sys/kern/kern_condvar.c#6 integrate .. //depot/projects/arm/src/sys/kern/kern_descrip.c#15 integrate .. //depot/projects/arm/src/sys/kern/kern_intr.c#9 integrate .. //depot/projects/arm/src/sys/kern/kern_kse.c#9 integrate .. //depot/projects/arm/src/sys/kern/kern_ktrace.c#10 integrate .. //depot/projects/arm/src/sys/kern/kern_mac.c#7 delete .. //depot/projects/arm/src/sys/kern/kern_mutex.c#11 integrate .. //depot/projects/arm/src/sys/kern/kern_sig.c#18 integrate .. //depot/projects/arm/src/sys/kern/kern_switch.c#9 integrate .. //depot/projects/arm/src/sys/kern/kern_synch.c#16 integrate .. //depot/projects/arm/src/sys/kern/kern_thread.c#14 integrate .. //depot/projects/arm/src/sys/kern/kern_umtx.c#15 integrate .. //depot/projects/arm/src/sys/kern/sched_4bsd.c#14 integrate .. //depot/projects/arm/src/sys/kern/sched_core.c#5 integrate .. //depot/projects/arm/src/sys/kern/sched_ule.c#13 integrate .. //depot/projects/arm/src/sys/kern/subr_sleepqueue.c#12 integrate .. //depot/projects/arm/src/sys/kern/sys_pipe.c#7 integrate .. //depot/projects/arm/src/sys/kern/sysv_ipc.c#3 integrate .. //depot/projects/arm/src/sys/kern/sysv_msg.c#7 integrate .. //depot/projects/arm/src/sys/kern/tty.c#13 integrate .. //depot/projects/arm/src/sys/kern/uipc_mbuf.c#16 integrate .. //depot/projects/arm/src/sys/kern/uipc_socket.c#28 integrate .. //depot/projects/arm/src/sys/kern/uipc_usrreq.c#20 integrate .. //depot/projects/arm/src/sys/kern/vfs_bio.c#15 integrate .. //depot/projects/arm/src/sys/kern/vfs_export.c#5 integrate .. //depot/projects/arm/src/sys/kern/vfs_extattr.c#1 branch .. //depot/projects/arm/src/sys/kern/vfs_mount.c#23 integrate .. //depot/projects/arm/src/sys/kern/vfs_syscalls.c#23 integrate .. //depot/projects/arm/src/sys/modules/Makefile#34 integrate .. //depot/projects/arm/src/sys/modules/acpi/Makefile#7 integrate .. //depot/projects/arm/src/sys/modules/acpi/acpi/Makefile#5 integrate .. //depot/projects/arm/src/sys/modules/msk/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/netgraph/Makefile#5 integrate .. //depot/projects/arm/src/sys/modules/netgraph/deflate/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/netgraph/pred1/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/ufs/Makefile#4 integrate .. //depot/projects/arm/src/sys/net/ethernet.h#6 integrate .. //depot/projects/arm/src/sys/net/if_enc.c#4 integrate .. //depot/projects/arm/src/sys/net/if_ethersubr.c#18 integrate .. //depot/projects/arm/src/sys/net/if_media.h#7 integrate .. //depot/projects/arm/src/sys/net/if_spppsubr.c#6 integrate .. //depot/projects/arm/src/sys/net/if_vlan.c#20 integrate .. //depot/projects/arm/src/sys/net80211/_ieee80211.h#4 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211.c#11 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_node.c#11 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_output.c#12 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_proto.c#9 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_var.h#12 integrate .. //depot/projects/arm/src/sys/netgraph/ng_deflate.c#1 branch .. //depot/projects/arm/src/sys/netgraph/ng_deflate.h#1 branch .. //depot/projects/arm/src/sys/netgraph/ng_nat.c#4 integrate .. //depot/projects/arm/src/sys/netgraph/ng_ppp.c#3 integrate .. //depot/projects/arm/src/sys/netgraph/ng_ppp.h#2 integrate .. //depot/projects/arm/src/sys/netgraph/ng_pred1.c#1 branch .. //depot/projects/arm/src/sys/netgraph/ng_pred1.h#1 branch .. //depot/projects/arm/src/sys/netgraph/ng_sppp.c#4 integrate .. //depot/projects/arm/src/sys/netinet/in.h#6 integrate .. //depot/projects/arm/src/sys/netinet/in_pcb.c#16 integrate .. //depot/projects/arm/src/sys/netinet/ip_divert.c#9 integrate .. //depot/projects/arm/src/sys/netinet/ip_fw.h#9 integrate .. //depot/projects/arm/src/sys/netinet/ip_fw2.c#25 integrate .. //depot/projects/arm/src/sys/netinet/ip_fw_pfil.c#7 integrate .. //depot/projects/arm/src/sys/netinet/libalias/alias.c#4 integrate .. //depot/projects/arm/src/sys/netinet/libalias/alias_db.c#3 integrate .. //depot/projects/arm/src/sys/netinet/libalias/alias_local.h#3 integrate .. //depot/projects/arm/src/sys/netinet/libalias/alias_mod.c#2 integrate .. //depot/projects/arm/src/sys/netinet/libalias/alias_proxy.c#3 integrate .. //depot/projects/arm/src/sys/netinet/libalias/alias_util.c#3 integrate .. //depot/projects/arm/src/sys/netinet/raw_ip.c#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/arm/src/sys/netinet/sctp_asconf.h#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_auth.c#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_bsd_addr.c#3 integrate .. //depot/projects/arm/src/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/arm/src/sys/netinet/sctp_indata.c#4 integrate .. //depot/projects/arm/src/sys/netinet/sctp_input.c#4 integrate .. //depot/projects/arm/src/sys/netinet/sctp_lock_bsd.h#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_os.h#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_os_bsd.h#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_output.c#4 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.c#4 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.h#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_peeloff.c#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_structs.h#4 integrate .. //depot/projects/arm/src/sys/netinet/sctp_timer.c#2 integrate .. //depot/projects/arm/src/sys/netinet/sctp_uio.h#4 integrate .. //depot/projects/arm/src/sys/netinet/sctp_usrreq.c#4 integrate .. //depot/projects/arm/src/sys/netinet/sctp_var.h#2 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.c#4 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.h#4 integrate .. //depot/projects/arm/src/sys/netinet/tcp_hostcache.c#2 integrate .. //depot/projects/arm/src/sys/netinet/tcp_input.c#20 integrate .. //depot/projects/arm/src/sys/netinet/tcp_subr.c#16 integrate .. //depot/projects/arm/src/sys/netinet/tcp_syncache.c#14 integrate .. //depot/projects/arm/src/sys/netinet/udp_usrreq.c#16 integrate .. //depot/projects/arm/src/sys/netinet6/frag6.c#5 integrate .. //depot/projects/arm/src/sys/netinet6/icmp6.c#8 integrate .. //depot/projects/arm/src/sys/netinet6/in6.c#10 integrate .. //depot/projects/arm/src/sys/netinet6/in6_gif.c#7 integrate .. //depot/projects/arm/src/sys/netinet6/in6_src.c#7 integrate .. //depot/projects/arm/src/sys/netinet6/in6_var.h#5 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_forward.c#7 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_input.c#8 integrate .. //depot/projects/arm/src/sys/netinet6/ip6_mroute.c#7 integrate .. //depot/projects/arm/src/sys/netinet6/ipsec.c#9 integrate .. //depot/projects/arm/src/sys/netinet6/mld6.c#5 integrate .. //depot/projects/arm/src/sys/netinet6/nd6.c#11 integrate .. //depot/projects/arm/src/sys/netinet6/nd6_nbr.c#6 integrate .. //depot/projects/arm/src/sys/netinet6/nd6_rtr.c#5 integrate .. //depot/projects/arm/src/sys/netinet6/scope6.c#3 integrate .. //depot/projects/arm/src/sys/netinet6/sctp6_usrreq.c#4 integrate .. //depot/projects/arm/src/sys/netinet6/udp6_usrreq.c#11 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec.c#8 integrate .. //depot/projects/arm/src/sys/netipsec/ipsec_input.c#4 integrate .. //depot/projects/arm/src/sys/nfsserver/nfs_srvsubs.c#9 integrate .. //depot/projects/arm/src/sys/nfsserver/nfs_syscalls.c#7 integrate .. //depot/projects/arm/src/sys/nfsserver/nfsm_subs.h#2 integrate .. //depot/projects/arm/src/sys/pci/agp_intel.c#6 integrate .. //depot/projects/arm/src/sys/pci/agpreg.h#5 integrate .. //depot/projects/arm/src/sys/pci/if_rl.c#7 integrate .. //depot/projects/arm/src/sys/powerpc/include/bus.h#5 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/mmu_oea.c#10 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/ofw_machdep.c#4 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/vm_machdep.c#5 integrate .. //depot/projects/arm/src/sys/security/audit/audit.c#13 integrate .. //depot/projects/arm/src/sys/security/audit/audit_arg.c#7 integrate .. //depot/projects/arm/src/sys/security/audit/audit_bsm_klib.c#5 integrate .. //depot/projects/arm/src/sys/security/audit/audit_bsm_token.c#8 integrate .. //depot/projects/arm/src/sys/security/audit/audit_syscalls.c#8 integrate .. //depot/projects/arm/src/sys/security/audit/audit_trigger.c#4 integrate .. //depot/projects/arm/src/sys/security/audit/audit_worker.c#4 integrate .. //depot/projects/arm/src/sys/security/mac/mac_framework.c#1 branch .. //depot/projects/arm/src/sys/security/mac/mac_framework.h#5 integrate .. //depot/projects/arm/src/sys/security/mac/mac_inet.c#5 integrate .. //depot/projects/arm/src/sys/security/mac/mac_internal.h#4 integrate .. //depot/projects/arm/src/sys/security/mac/mac_label.c#3 integrate .. //depot/projects/arm/src/sys/security/mac/mac_net.c#6 integrate .. //depot/projects/arm/src/sys/security/mac/mac_pipe.c#4 integrate .. //depot/projects/arm/src/sys/security/mac/mac_policy.h#1 branch .. //depot/projects/arm/src/sys/security/mac/mac_posix_sem.c#5 integrate .. //depot/projects/arm/src/sys/security/mac/mac_priv.c#2 integrate .. //depot/projects/arm/src/sys/security/mac/mac_process.c#6 integrate .. //depot/projects/arm/src/sys/security/mac/mac_socket.c#5 integrate .. //depot/projects/arm/src/sys/security/mac/mac_syscalls.c#1 branch .. //depot/projects/arm/src/sys/security/mac/mac_system.c#5 integrate .. //depot/projects/arm/src/sys/security/mac/mac_sysv_msg.c#5 integrate .. //depot/projects/arm/src/sys/security/mac/mac_sysv_sem.c#5 integrate .. //depot/projects/arm/src/sys/security/mac/mac_sysv_shm.c#4 integrate .. //depot/projects/arm/src/sys/security/mac/mac_vfs.c#7 integrate .. //depot/projects/arm/src/sys/security/mac_biba/mac_biba.c#8 integrate .. //depot/projects/arm/src/sys/security/mac_bsdextended/mac_bsdextended.c#7 integrate .. //depot/projects/arm/src/sys/security/mac_ifoff/mac_ifoff.c#2 integrate .. //depot/projects/arm/src/sys/security/mac_lomac/mac_lomac.c#6 integrate .. //depot/projects/arm/src/sys/security/mac_mls/mac_mls.c#6 integrate .. //depot/projects/arm/src/sys/security/mac_none/mac_none.c#3 integrate .. //depot/projects/arm/src/sys/security/mac_partition/mac_partition.c#4 integrate .. //depot/projects/arm/src/sys/security/mac_portacl/mac_portacl.c#5 integrate .. //depot/projects/arm/src/sys/security/mac_seeotheruids/mac_seeotheruids.c#4 integrate .. //depot/projects/arm/src/sys/security/mac_stub/mac_stub.c#5 integrate .. //depot/projects/arm/src/sys/security/mac_test/mac_test.c#4 integrate .. //depot/projects/arm/src/sys/sparc64/include/param.h#4 integrate .. //depot/projects/arm/src/sys/sparc64/sparc64/genassym.c#8 integrate .. //depot/projects/arm/src/sys/sun4v/include/cddl/mdesc.h#2 integrate .. //depot/projects/arm/src/sys/sun4v/include/pcpu.h#5 integrate .. //depot/projects/arm/src/sys/sun4v/include/smp.h#3 integrate .. //depot/projects/arm/src/sys/sun4v/include/trap.h#3 integrate .. //depot/projects/arm/src/sys/sun4v/mdesc/mdesc_init.c#4 integrate .. //depot/projects/arm/src/sys/sun4v/mdesc/mdesc_vdevfindnode.c#1 branch .. //depot/projects/arm/src/sys/sun4v/sun4v/exception.S#7 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/interrupt.S#5 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/mp_machdep.c#3 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/pmap.c#9 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/tick.c#2 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/trap.c#7 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/tsb.c#5 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/tte.c#3 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/tte_hash.c#6 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/vm_machdep.c#3 integrate .. //depot/projects/arm/src/sys/sun4v/sun4v/wbuf.S#3 integrate .. //depot/projects/arm/src/sys/sys/copyright.h#4 integrate .. //depot/projects/arm/src/sys/sys/file.h#4 integrate .. //depot/projects/arm/src/sys/sys/interrupt.h#3 integrate .. //depot/projects/arm/src/sys/sys/lock_profile.h#2 integrate .. //depot/projects/arm/src/sys/sys/mac_policy.h#11 delete .. //depot/projects/arm/src/sys/sys/mount.h#15 integrate .. //depot/projects/arm/src/sys/sys/mouse.h#4 integrate .. //depot/projects/arm/src/sys/sys/mutex.h#8 integrate .. //depot/projects/arm/src/sys/sys/param.h#22 integrate .. //depot/projects/arm/src/sys/sys/pcpu.h#6 integrate .. //depot/projects/arm/src/sys/sys/proc.h#19 integrate .. //depot/projects/arm/src/sys/sys/runq.h#3 integrate .. //depot/projects/arm/src/sys/sys/sleepqueue.h#4 integrate .. //depot/projects/arm/src/sys/sys/syscallsubr.h#10 integrate .. //depot/projects/arm/src/sys/sys/sysent.h#7 integrate .. //depot/projects/arm/src/sys/sys/systm.h#17 integrate .. //depot/projects/arm/src/sys/sys/umtx.h#10 integrate .. //depot/projects/arm/src/sys/sys/unpcb.h#4 integrate .. //depot/projects/arm/src/sys/sys/vnode.h#14 integrate .. //depot/projects/arm/src/sys/sys/watchdog.h#2 integrate .. //depot/projects/arm/src/sys/vm/swap_pager.c#10 integrate .. //depot/projects/arm/src/sys/vm/uma.h#3 integrate .. //depot/projects/arm/src/sys/vm/uma_core.c#10 integrate .. //depot/projects/arm/src/sys/vm/vm_object.c#16 integrate .. //depot/projects/arm/src/tools/regression/lib/libc/stdio/test-scanfloat.c#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest1/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest1/mqtest1.c#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest2/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest2/mqtest2.c#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest3/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest3/mqtest3.c#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest4/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest4/mqtest4.c#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest5/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/mqueue/mqtest5/mqtest5.c#2 integrate .. //depot/projects/arm/src/tools/regression/sockets/pr_atomic/Makefile#1 branch .. //depot/projects/arm/src/tools/regression/sockets/pr_atomic/pr_atomic.c#1 branch .. //depot/projects/arm/src/tools/sched/schedgraph.py#2 integrate .. //depot/projects/arm/src/tools/tools/mfi/Makefile#1 branch .. //depot/projects/arm/src/tools/tools/mfi/mfi_checkq.c#1 branch .. //depot/projects/arm/src/tools/tools/mfi/runmegacli.sh#1 branch .. //depot/projects/arm/src/usr.bin/apply/apply.1#2 integrate .. //depot/projects/arm/src/usr.bin/biff/biff.1#2 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.birthday#2 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.christian#2 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.freebsd#8 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.history#3 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.holiday#4 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.music#2 integrate .. //depot/projects/arm/src/usr.bin/calendar/calendars/ru_RU.KOI8-R/calendar.msk#2 integrate .. //depot/projects/arm/src/usr.bin/cmp/cmp.1#2 integrate .. //depot/projects/arm/src/usr.bin/column/column.c#3 integrate .. //depot/projects/arm/src/usr.bin/enigma/enigma.1#2 integrate .. //depot/projects/arm/src/usr.bin/find/find.1#4 integrate .. //depot/projects/arm/src/usr.bin/fold/fold.1#2 integrate .. //depot/projects/arm/src/usr.bin/from/from.1#2 integrate .. //depot/projects/arm/src/usr.bin/hexdump/od.1#2 integrate .. //depot/projects/arm/src/usr.bin/id/groups.1#2 integrate .. //depot/projects/arm/src/usr.bin/id/id.c#4 integrate .. //depot/projects/arm/src/usr.bin/join/join.1#2 integrate .. //depot/projects/arm/src/usr.bin/kdump/kdump.c#2 integrate .. //depot/projects/arm/src/usr.bin/kdump/kdump_subr.h#2 integrate .. //depot/projects/arm/src/usr.bin/kdump/mksubr#3 integrate .. //depot/projects/arm/src/usr.bin/lockf/lockf.1#2 integrate .. //depot/projects/arm/src/usr.bin/login/Makefile#2 integrate .. //depot/projects/arm/src/usr.bin/login/login.c#2 integrate .. //depot/projects/arm/src/usr.bin/login/login.h#2 integrate .. //depot/projects/arm/src/usr.bin/logname/logname.1#2 integrate .. //depot/projects/arm/src/usr.bin/make/make.1#3 integrate .. //depot/projects/arm/src/usr.bin/mkfifo/mkfifo.1#2 integrate .. //depot/projects/arm/src/usr.bin/ncplist/ncplist.1#2 integrate .. //depot/projects/arm/src/usr.bin/nfsstat/nfsstat.1#2 integrate .. //depot/projects/arm/src/usr.bin/nl/nl.c#2 integrate .. //depot/projects/arm/src/usr.bin/nslookup/Makefile#2 integrate .. //depot/projects/arm/src/usr.bin/nsupdate/Makefile#2 integrate .. //depot/projects/arm/src/usr.bin/pkill/pkill.1#3 integrate .. //depot/projects/arm/src/usr.bin/printenv/printenv.1#2 integrate .. //depot/projects/arm/src/usr.bin/systat/swap.c#3 integrate .. //depot/projects/arm/src/usr.bin/tail/tail.1#2 integrate .. //depot/projects/arm/src/usr.bin/tar/bsdtar.c#2 integrate .. //depot/projects/arm/src/usr.bin/tar/bsdtar.h#2 integrate .. //depot/projects/arm/src/usr.bin/tar/write.c#3 integrate .. //depot/projects/arm/src/usr.bin/tcopy/tcopy.1#2 integrate .. //depot/projects/arm/src/usr.bin/truncate/truncate.1#3 integrate .. //depot/projects/arm/src/usr.bin/tsort/tsort.1#2 integrate .. //depot/projects/arm/src/usr.bin/tty/tty.1#2 integrate .. //depot/projects/arm/src/usr.bin/vis/vis.1#2 integrate .. //depot/projects/arm/src/usr.bin/w/w.1#2 integrate .. //depot/projects/arm/src/usr.bin/wc/wc.1#2 integrate .. //depot/projects/arm/src/usr.bin/what/what.1#2 integrate .. //depot/projects/arm/src/usr.bin/which/which.1#2 integrate .. //depot/projects/arm/src/usr.bin/xlint/lint1/emit.c#2 integrate .. //depot/projects/arm/src/usr.bin/ypwhich/ypwhich.1#2 integrate .. //depot/projects/arm/src/usr.sbin/asf/asf.8#4 integrate .. //depot/projects/arm/src/usr.sbin/asf/asf.c#3 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/Makefile#2 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c#3 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c#3 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_pf.c#2 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c#3 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.c#3 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_snmp.h#3 integrate .. //depot/projects/arm/src/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c#3 integrate .. //depot/projects/arm/src/usr.sbin/ckdist/ckdist.1#2 integrate .. //depot/projects/arm/src/usr.sbin/freebsd-update/freebsd-update.8#2 integrate .. //depot/projects/arm/src/usr.sbin/fwcontrol/fwcontrol.8#3 integrate .. //depot/projects/arm/src/usr.sbin/kbdmap/kbdmap.1#2 integrate .. //depot/projects/arm/src/usr.sbin/ntp/doc/ntp.conf.5#3 integrate .. //depot/projects/arm/src/usr.sbin/ppp/fsm.h#3 integrate .. //depot/projects/arm/src/usr.sbin/rpc.lockd/lockd_lock.c#3 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/devices.c#4 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/index.c#4 integrate .. //depot/projects/arm/src/usr.sbin/sysinstall/installUpgrade.c#3 integrate .. //depot/projects/arm/src/usr.sbin/vidcontrol/vidcontrol.1#2 integrate .. //depot/projects/arm/src/usr.sbin/watchdogd/watchdogd.c#2 integrate Differences ... ==== //depot/projects/arm/src/COPYRIGHT#2 (text+ko) ==== @@ -1,10 +1,10 @@ -# $FreeBSD: src/COPYRIGHT,v 1.7 2006/01/15 22:06:10 imp Exp $ +# $FreeBSD: src/COPYRIGHT,v 1.8 2006/12/31 16:34:16 delphij Exp $ # @(#)COPYRIGHT 8.2 (Berkeley) 3/21/94 The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (C) 1992-2006 The FreeBSD Project. All rights reserved. +Copyright (C) 1992-2007 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ==== //depot/projects/arm/src/ObsoleteFiles.inc#14 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.67 2006/12/07 01:24:38 avatar Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.68 2007/01/02 03:42:16 kientzle Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -32,6 +32,8 @@ OLD_FILES+=lib/libalias_pptp.so.4 OLD_FILES+=lib/libalias_skinny.so.4 OLD_FILES+=lib/libalias_smedia.so.4 +# 20061126: remove old man page +OLD_FILES+=usr/share/man/man3/archive_read_set_bytes_per_block.3.gz # 20061125: remove old man page OLD_FILES+=usr/share/man/man9/devsw.9.gz # 20061122: remove obsolete mount programs ==== //depot/projects/arm/src/UPDATING#10 (text+ko) ==== @@ -21,6 +21,27 @@ developers choose to disable these features on build machines to maximize performance. +20061221: + Support for PCI Message Signalled Interrupts has been + re-enabled in the bge driver, only for those chips which are + believed to support it properly. If there are any problems, + MSI can be disabled completely by setting the + 'hw.pci.enable_msi' and 'hw.pci.enable_msix' tunables to 0 + in the loader. + +20061214: + Support for PCI Message Signalled Interrupts has been + disabled again in the bge driver. Many revisions of the + hardware fail to support it properly. Support can be + re-enabled by removing the #define of BGE_DISABLE_MSI in + "src/sys/dev/bge/if_bge.c". + +20061214: + Support for PCI Message Signalled Interrupts has been added + to the bge driver. If there are any problems, MSI can be + disabled completely by setting the 'hw.pci.enable_msi' and + 'hw.pci.enable_msix' tunables to 0 in the loader. + 20061205: The removal of several facets of the experimental Threading system from the kernel means that the proc and thread structures @@ -682,4 +703,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.467 2006/12/06 06:39:47 julian Exp $ +$FreeBSD: src/UPDATING,v 1.470 2006/12/22 03:03:31 jdp Exp $ ==== //depot/projects/arm/src/bin/cat/cat.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)cat.1 8.3 (Berkeley) 5/2/95 -.\" $FreeBSD: src/bin/cat/cat.1,v 1.25 2005/01/16 16:41:55 ru Exp $ +.\" $FreeBSD: src/bin/cat/cat.1,v 1.27 2006/12/23 09:25:23 ru Exp $ .\" .Dd March 21, 2004 .Dt CAT 1 @@ -52,7 +52,7 @@ If .Ar file is a single dash -.Pq Sq \&- +.Pq Sq Fl or absent, .Nm reads from the standard input. @@ -111,7 +111,7 @@ .Dl "cat file1" .Pp will print the contents of -.Ar file1 +.Pa file1 to the standard output. .Pp The command: @@ -119,13 +119,13 @@ .Dl "cat file1 file2 > file3" .Pp will sequentially print the contents of -.Ar file1 +.Pa file1 and -.Ar file2 +.Pa file2 to the file -.Ar file3 , +.Pa file3 , >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Jan 6 19:34:03 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 5807216A47B; Sat, 6 Jan 2007 19:34:03 +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 36EB216A403 for ; Sat, 6 Jan 2007 19:34:03 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 2622013C428 for ; Sat, 6 Jan 2007 19:34:03 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l06JY36t049446 for ; Sat, 6 Jan 2007 19:34:03 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l06JY2Uv049443 for perforce@freebsd.org; Sat, 6 Jan 2007 19:34:02 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 6 Jan 2007 19:34:02 GMT Message-Id: <200701061934.l06JY2Uv049443@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112616 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: Sat, 06 Jan 2007 19:34:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=112616 Change 112616 by gonzo@gonzo_hq on 2007/01/06 19:33:17 o Make stack 64-bit aligned: required by ABI to pass 64-bits arguments. Affected files ... .. //depot/projects/mips2/src/lib/csu/mips/crt1.c#4 edit Differences ... ==== //depot/projects/mips2/src/lib/csu/mips/crt1.c#4 (text+ko) ==== @@ -80,15 +80,20 @@ " .globl _start \n" " _start: \n" " /* Get argc, argv from stack */ \n" +" /* lw a0, 0(sp) */\n" +" /* move a1, sp */\n" +" /* addu a1, 4 */\n" " \n" -" /* lw a0, 0(sp) */\n" -" /* move a1, sp */\n" -" /* addu a1, 4 */\n" +" /* Stack should 8bytes aligned */\n" +" /* required by ABI to pass */\n" +" /* 64-bits arguments */\n" +" /* and sp, ~8 */\n" " \n" " lw $4, 0($29) \n" " move $5, $29 \n" " addu $5, 4 \n" -" /* TODO: Ensure the stack is properly aligned before calling C code. */\n" +" \n" +" and $29, 0xfffffff8 \n" "\n" " j __start "); /* ARGSUSED */ From owner-p4-projects@FreeBSD.ORG Sat Jan 6 19:37:07 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 77DCD16A412; Sat, 6 Jan 2007 19:37:07 +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 53B0316A407 for ; Sat, 6 Jan 2007 19:37:07 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 43AFC13C44C for ; Sat, 6 Jan 2007 19:37:07 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l06Jb7n9049665 for ; Sat, 6 Jan 2007 19:37:07 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l06Jb6eA049662 for perforce@freebsd.org; Sat, 6 Jan 2007 19:37:06 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 6 Jan 2007 19:37:06 GMT Message-Id: <200701061937.l06Jb6eA049662@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112617 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: Sat, 06 Jan 2007 19:37:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=112617 Change 112617 by gonzo@gonzo_hq on 2007/01/06 19:36:40 o Implement SYS___syscall. Handle byte order for mips32eb. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/trap.c#14 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/trap.c#14 (text+ko) ==== @@ -354,6 +354,7 @@ struct sysent *callp; int locked = 0; int args_shift = 0; + int quad_syscall = 0; PCPU_LAZY_INC(cnt.v_syscall); td->td_pticks = 0; @@ -384,7 +385,12 @@ /* TODO: implement */ if(code == SYS___syscall) - panic("SYS___syscall: to implement"); + { + code = frame->tf_regs[TF_A0 + _QUAD_LOWWORD]; + args_shift = 2; + quad_syscall = 1; + } + if (p->p_sysent->sv_mask) code &= p->p_sysent->sv_mask; @@ -433,14 +439,24 @@ KASSERT(td->td_ar == NULL, ("returning from syscall with td_ar set!")); } + switch (error) { case 0: +#ifdef __MIPSEB__ + if(quad_syscall && (code != SYS_lseek)) { + /* + * 64-bit return, 32-bit syscall. Fixup byte order + */ + frame->tf_regs[TF_V0] = 0; + frame->tf_regs[TF_V1] = td->td_retval[0]; + } else { + frame->tf_regs[TF_V0] = td->td_retval[0]; + frame->tf_regs[TF_V1] = td->td_retval[1]; + } +#else frame->tf_regs[TF_V0] = td->td_retval[0]; - /* - * XXXMIPS: should we consider this case for 32-bit or - * only for 64bits? - */ frame->tf_regs[TF_V1] = td->td_retval[1]; +#endif frame->tf_regs[TF_A3] = 0; break; From owner-p4-projects@FreeBSD.ORG Sat Jan 6 20:18:01 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 33F4816A40F; Sat, 6 Jan 2007 20:18:01 +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 C9FA116A403 for ; Sat, 6 Jan 2007 20:18:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A29A013C428 for ; Sat, 6 Jan 2007 20:18:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l06KI0k8057171 for ; Sat, 6 Jan 2007 20:18:00 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l06KI0YB057168 for perforce@freebsd.org; Sat, 6 Jan 2007 20:18:00 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 6 Jan 2007 20:18:00 GMT Message-Id: <200701062018.l06KI0YB057168@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112618 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: Sat, 06 Jan 2007 20:18:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=112618 Change 112618 by gonzo@gonzo_hq on 2007/01/06 20:17:21 o Remove obsolete dependency on sys/cdefs.h Affected files ... .. //depot/projects/mips2/src/sys/mips/include/ieeefp.h#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/ieeefp.h#3 (text+ko) ==== @@ -42,10 +42,6 @@ #ifndef _MACHINE_IEEEFP_H_ #define _MACHINE_IEEEFP_H_ -#ifndef _SYS_CDEFS_H_ -#error this file needs sys/cdefs.h as a prerequisite -#endif - typedef int fp_except; #define FP_X_IMP 0x01 /* imprecise (loss of precision) */ #define FP_X_UFL 0x02 /* underflow exception */ From owner-p4-projects@FreeBSD.ORG Sat Jan 6 20:20:17 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 B75F016A505; Sat, 6 Jan 2007 20:20:17 +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 42D1716A4D8 for ; Sat, 6 Jan 2007 20:20:17 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id AA3BC13C465 for ; Sat, 6 Jan 2007 20:20:03 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l06KK3tw057254 for ; Sat, 6 Jan 2007 20:20:03 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l06KK3B8057251 for perforce@freebsd.org; Sat, 6 Jan 2007 20:20:03 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 6 Jan 2007 20:20:03 GMT Message-Id: <200701062020.l06KK3B8057251@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112619 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: Sat, 06 Jan 2007 20:20:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=112619 Change 112619 by gonzo@gonzo_hq on 2007/01/06 20:19:47 o Add templates for softfloat part of libc. Obtained from arm port. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/softfloat/milieu.h#1 add .. //depot/projects/mips2/src/lib/libc/mips/softfloat/mips-gcc.h#1 add .. //depot/projects/mips2/src/lib/libc/mips/softfloat/softfloat.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Jan 6 20:24:09 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 A410416A416; Sat, 6 Jan 2007 20:24:09 +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 7E0DB16A412 for ; Sat, 6 Jan 2007 20:24:09 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 6E32513C442 for ; Sat, 6 Jan 2007 20:24:09 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l06KO95P058567 for ; Sat, 6 Jan 2007 20:24:09 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l06KO9Vr058562 for perforce@freebsd.org; Sat, 6 Jan 2007 20:24:09 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 6 Jan 2007 20:24:09 GMT Message-Id: <200701062024.l06KO9Vr058562@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 112620 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: Sat, 06 Jan 2007 20:24:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=112620 Change 112620 by gonzo@gonzo_hq on 2007/01/06 20:23:32 o Enable softfloat for mips port. Leave float copropcessor until we get real hardware to fight with. Affected files ... .. //depot/projects/mips2/src/lib/libc/Makefile#2 edit .. //depot/projects/mips2/src/share/mk/bsd.cpu.mk#5 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/Makefile#2 (text+ko) ==== @@ -57,7 +57,7 @@ .include "${.CURDIR}/rpc/Makefile.inc" .include "${.CURDIR}/uuid/Makefile.inc" .include "${.CURDIR}/xdr/Makefile.inc" -.if ${MACHINE_ARCH} == "arm" +.if ${MACHINE_ARCH} == "arm" || ${MACHINE_ARCH} == "mips" .include "${.CURDIR}/softfloat/Makefile.inc" .endif .if ${MK_NIS} != "no" ==== //depot/projects/mips2/src/share/mk/bsd.cpu.mk#5 (text+ko) ==== @@ -204,10 +204,13 @@ LD += -EB .endif -.if ${MACHINE_ARCH} == "mips" && defined(MIPS_LITTLE_ENDIAN) +.if ${MACHINE_ARCH} == "mips" +. if defined(MIPS_LITTLE_ENDIAN) _CPUCFLAGS += -EL LDFLAGS += -Wl,-EL LD += -EL +. endif +_CPUCFLAGS += -msoft-float .endif # NB: COPTFLAGS is handled in /usr/src/sys/conf/kern.pre.mk