PERFORCE change 165552 for review

John Baldwin jhb at FreeBSD.org
Thu Jul 2 18:36:57 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=165552

Change 165552 by jhb at jhb_jhbbsd on 2009/07/02 18:35:54

	IFC @165549

Affected files ...

.. //depot/projects/smpng/sys/amd64/amd64/genassym.c#28 integrate
.. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#34 integrate
.. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#36 integrate
.. //depot/projects/smpng/sys/amd64/amd64/io_apic.c#25 integrate
.. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#43 integrate
.. //depot/projects/smpng/sys/amd64/amd64/msi.c#13 integrate
.. //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#10 integrate
.. //depot/projects/smpng/sys/amd64/include/intr_machdep.h#21 integrate
.. //depot/projects/smpng/sys/amd64/include/vm.h#1 branch
.. //depot/projects/smpng/sys/amd64/isa/atpic.c#19 integrate
.. //depot/projects/smpng/sys/arm/at91/at91_machdep.c#4 integrate
.. //depot/projects/smpng/sys/arm/at91/if_ate.c#23 integrate
.. //depot/projects/smpng/sys/arm/include/vm.h#1 branch
.. //depot/projects/smpng/sys/arm/mv/mv_machdep.c#6 integrate
.. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#21 integrate
.. //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#15 integrate
.. //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#23 integrate
.. //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#61 integrate
.. //depot/projects/smpng/sys/compat/linux/linux_signal.c#26 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_usbd.c#15 integrate
.. //depot/projects/smpng/sys/conf/NOTES#174 integrate
.. //depot/projects/smpng/sys/conf/files#247 integrate
.. //depot/projects/smpng/sys/conf/options#173 integrate
.. //depot/projects/smpng/sys/contrib/dev/mwl/mw88W8363.fw.uu#2 integrate
.. //depot/projects/smpng/sys/dev/acpi_support/acpi_hp.c#2 integrate
.. //depot/projects/smpng/sys/dev/acpi_support/acpi_wmi.c#2 integrate
.. //depot/projects/smpng/sys/dev/acpi_support/acpi_wmi_if.m#2 integrate
.. //depot/projects/smpng/sys/dev/ae/if_ae.c#4 integrate
.. //depot/projects/smpng/sys/dev/age/if_age.c#8 integrate
.. //depot/projects/smpng/sys/dev/alc/if_alc.c#2 integrate
.. //depot/projects/smpng/sys/dev/ale/if_ale.c#4 integrate
.. //depot/projects/smpng/sys/dev/asmc/asmc.c#7 integrate
.. //depot/projects/smpng/sys/dev/asmc/asmcvar.h#4 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.c#10 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ah.h#7 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ah_internal.h#9 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c#6 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5212/ar5212_recv.c#2 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#5 integrate
.. //depot/projects/smpng/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c#8 integrate
.. //depot/projects/smpng/sys/dev/ath/if_ath.c#79 integrate
.. //depot/projects/smpng/sys/dev/ath/if_athvar.h#48 integrate
.. //depot/projects/smpng/sys/dev/bce/if_bce.c#30 integrate
.. //depot/projects/smpng/sys/dev/bfe/if_bfe.c#32 integrate
.. //depot/projects/smpng/sys/dev/bge/if_bge.c#108 integrate
.. //depot/projects/smpng/sys/dev/bm/if_bm.c#6 integrate
.. //depot/projects/smpng/sys/dev/cas/if_cas.c#4 integrate
.. //depot/projects/smpng/sys/dev/cpuctl/cpuctl.c#4 integrate
.. //depot/projects/smpng/sys/dev/cs/if_cs.c#20 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_adapter.h#16 integrate
.. //depot/projects/smpng/sys/dev/cxgb/cxgb_sge.c#21 integrate
.. //depot/projects/smpng/sys/dev/cxgb/sys/mvec.h#8 integrate
.. //depot/projects/smpng/sys/dev/cxgb/sys/uipc_mvec.c#10 integrate
.. //depot/projects/smpng/sys/dev/dc/if_dc.c#23 integrate
.. //depot/projects/smpng/sys/dev/de/if_de.c#8 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_em.c#10 integrate
.. //depot/projects/smpng/sys/dev/e1000/if_igb.c#11 integrate
.. //depot/projects/smpng/sys/dev/ed/if_ed.c#45 integrate
.. //depot/projects/smpng/sys/dev/et/if_et.c#2 integrate
.. //depot/projects/smpng/sys/dev/ex/if_ex.c#23 integrate
.. //depot/projects/smpng/sys/dev/fe/if_fe.c#27 integrate
.. //depot/projects/smpng/sys/dev/fxp/if_fxp.c#93 integrate
.. //depot/projects/smpng/sys/dev/gem/if_gem.c#40 integrate
.. //depot/projects/smpng/sys/dev/hme/if_hme.c#36 integrate
.. //depot/projects/smpng/sys/dev/ie/if_ie.c#18 integrate
.. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#62 integrate
.. //depot/projects/smpng/sys/dev/ixgb/if_ixgb.c#22 integrate
.. //depot/projects/smpng/sys/dev/ixgbe/ixgbe.c#8 integrate
.. //depot/projects/smpng/sys/dev/jme/if_jme.c#7 integrate
.. //depot/projects/smpng/sys/dev/le/lance.c#5 integrate
.. //depot/projects/smpng/sys/dev/lge/if_lge.c#41 integrate
.. //depot/projects/smpng/sys/dev/malo/if_malo.c#5 integrate
.. //depot/projects/smpng/sys/dev/mge/if_mge.c#6 integrate
.. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#30 integrate
.. //depot/projects/smpng/sys/dev/msk/if_msk.c#19 integrate
.. //depot/projects/smpng/sys/dev/mwl/if_mwl.c#3 integrate
.. //depot/projects/smpng/sys/dev/mwl/if_mwlvar.h#2 integrate
.. //depot/projects/smpng/sys/dev/mwl/mwlhal.c#2 integrate
.. //depot/projects/smpng/sys/dev/mwl/mwlhal.h#2 integrate
.. //depot/projects/smpng/sys/dev/mwl/mwlreg.h#2 integrate
.. //depot/projects/smpng/sys/dev/mxge/if_mxge.c#32 integrate
.. //depot/projects/smpng/sys/dev/my/if_my.c#31 integrate
.. //depot/projects/smpng/sys/dev/nfe/if_nfe.c#18 integrate
.. //depot/projects/smpng/sys/dev/nge/if_nge.c#57 integrate
.. //depot/projects/smpng/sys/dev/nve/if_nve.c#20 integrate
.. //depot/projects/smpng/sys/dev/nxge/if_nxge.c#2 integrate
.. //depot/projects/smpng/sys/dev/pcn/if_pcn.c#4 integrate
.. //depot/projects/smpng/sys/dev/pdq/pdq_ifsubr.c#15 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#76 integrate
.. //depot/projects/smpng/sys/dev/sf/if_sf.c#3 integrate
.. //depot/projects/smpng/sys/dev/sis/if_sis.c#6 integrate
.. //depot/projects/smpng/sys/dev/sk/if_sk.c#17 integrate
.. //depot/projects/smpng/sys/dev/sn/if_sn.c#29 integrate
.. //depot/projects/smpng/sys/dev/snc/dp83932.c#19 integrate
.. //depot/projects/smpng/sys/dev/sound/usb/uaudio.c#30 integrate
.. //depot/projects/smpng/sys/dev/ste/if_ste.c#3 integrate
.. //depot/projects/smpng/sys/dev/stge/if_stge.c#11 integrate
.. //depot/projects/smpng/sys/dev/ti/if_ti.c#13 integrate
.. //depot/projects/smpng/sys/dev/tl/if_tl.c#3 integrate
.. //depot/projects/smpng/sys/dev/tsec/if_tsec.c#6 integrate
.. //depot/projects/smpng/sys/dev/tx/if_tx.c#32 integrate
.. //depot/projects/smpng/sys/dev/txp/if_txp.c#40 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/at91dci.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/atmegadci.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/avr32dci.c#6 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/musb_otg.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/controller/uss820dci.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_aue.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_axe.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_cdce.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_cue.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_kue.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_rue.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/net/if_udav.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/storage/umass.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/storage/ustorage_fs.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_controller.h#11 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_device.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_handle_request.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_if.m#6 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_transfer.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#141 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdi.h#26 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_upgt.c#7 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_urtw.c#5 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#11 integrate
.. //depot/projects/smpng/sys/dev/vge/if_vge.c#26 integrate
.. //depot/projects/smpng/sys/dev/vr/if_vr.c#6 integrate
.. //depot/projects/smpng/sys/dev/wb/if_wb.c#3 integrate
.. //depot/projects/smpng/sys/dev/wi/if_wi.c#95 integrate
.. //depot/projects/smpng/sys/dev/wl/if_wl.c#32 integrate
.. //depot/projects/smpng/sys/dev/xe/if_xe.c#29 integrate
.. //depot/projects/smpng/sys/dev/xl/if_xl.c#5 integrate
.. //depot/projects/smpng/sys/fs/cd9660/cd9660_lookup.c#5 integrate
.. //depot/projects/smpng/sys/geom/geom.h#56 integrate
.. //depot/projects/smpng/sys/geom/geom_io.c#51 integrate
.. //depot/projects/smpng/sys/geom/geom_subr.c#61 integrate
.. //depot/projects/smpng/sys/geom/geom_vfs.c#9 integrate
.. //depot/projects/smpng/sys/geom/journal/g_journal.c#14 integrate
.. //depot/projects/smpng/sys/i386/i386/genassym.c#40 integrate
.. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#37 integrate
.. //depot/projects/smpng/sys/i386/i386/io_apic.c#27 integrate
.. //depot/projects/smpng/sys/i386/i386/local_apic.c#65 integrate
.. //depot/projects/smpng/sys/i386/i386/msi.c#13 integrate
.. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#56 integrate
.. //depot/projects/smpng/sys/i386/include/intr_machdep.h#23 integrate
.. //depot/projects/smpng/sys/i386/include/vm.h#1 branch
.. //depot/projects/smpng/sys/i386/isa/atpic.c#22 integrate
.. //depot/projects/smpng/sys/i386/linux/linux_machdep.c#51 integrate
.. //depot/projects/smpng/sys/ia64/include/vm.h#1 branch
.. //depot/projects/smpng/sys/kern/kern_descrip.c#129 integrate
.. //depot/projects/smpng/sys/kern/kern_event.c#59 integrate
.. //depot/projects/smpng/sys/kern/kern_exec.c#120 integrate
.. //depot/projects/smpng/sys/kern/kern_exit.c#142 integrate
.. //depot/projects/smpng/sys/kern/kern_fork.c#123 integrate
.. //depot/projects/smpng/sys/kern/kern_intr.c#100 integrate
.. //depot/projects/smpng/sys/kern/kern_linker.c#103 integrate
.. //depot/projects/smpng/sys/kern/kern_mbuf.c#33 integrate
.. //depot/projects/smpng/sys/kern/kern_prot.c#113 integrate
.. //depot/projects/smpng/sys/kern/kern_sig.c#149 integrate
.. //depot/projects/smpng/sys/kern/kern_thr.c#51 integrate
.. //depot/projects/smpng/sys/kern/sys_generic.c#60 integrate
.. //depot/projects/smpng/sys/kern/sys_process.c#66 integrate
.. //depot/projects/smpng/sys/kern/sys_socket.c#33 integrate
.. //depot/projects/smpng/sys/kern/tty.c#96 integrate
.. //depot/projects/smpng/sys/kern/uipc_syscalls.c#120 integrate
.. //depot/projects/smpng/sys/kern/vfs_cluster.c#51 integrate
.. //depot/projects/smpng/sys/kern/vfs_export.c#35 integrate
.. //depot/projects/smpng/sys/kern/vfs_extattr.c#10 integrate
.. //depot/projects/smpng/sys/kern/vfs_lookup.c#61 integrate
.. //depot/projects/smpng/sys/kern/vfs_mount.c#96 integrate
.. //depot/projects/smpng/sys/kern/vfs_subr.c#170 integrate
.. //depot/projects/smpng/sys/kern/vfs_syscalls.c#150 integrate
.. //depot/projects/smpng/sys/kern/vfs_vnops.c#98 integrate
.. //depot/projects/smpng/sys/mips/adm5120/if_admsw.c#5 integrate
.. //depot/projects/smpng/sys/mips/include/vm.h#1 branch
.. //depot/projects/smpng/sys/mips/malta/yamon.c#3 integrate
.. //depot/projects/smpng/sys/mips/mips/busdma_machdep.c#5 integrate
.. //depot/projects/smpng/sys/mips/mips/dump_machdep.c#2 integrate
.. //depot/projects/smpng/sys/mips/mips/intr_machdep.c#4 integrate
.. //depot/projects/smpng/sys/modules/nfsclient/Makefile#16 integrate
.. //depot/projects/smpng/sys/modules/nfsserver/Makefile#11 integrate
.. //depot/projects/smpng/sys/net/if.c#124 integrate
.. //depot/projects/smpng/sys/net/if_spppsubr.c#43 integrate
.. //depot/projects/smpng/sys/net/if_stf.c#50 integrate
.. //depot/projects/smpng/sys/net/if_tun.c#65 integrate
.. //depot/projects/smpng/sys/net/if_var.h#68 integrate
.. //depot/projects/smpng/sys/net/netisr.c#19 integrate
.. //depot/projects/smpng/sys/net/vnet.h#13 integrate
.. //depot/projects/smpng/sys/netgraph/ng_eiface.c#35 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ether.c#44 integrate
.. //depot/projects/smpng/sys/netgraph/ng_iface.c#37 integrate
.. //depot/projects/smpng/sys/netgraph/ng_ksocket.c#35 integrate
.. //depot/projects/smpng/sys/netinet/ip_divert.c#68 integrate
.. //depot/projects/smpng/sys/netinet/ipfw/ip_fw2.c#4 integrate
.. //depot/projects/smpng/sys/netinet/ipfw/ip_fw_nat.c#2 integrate
.. //depot/projects/smpng/sys/netinet6/in6.c#61 integrate
.. //depot/projects/smpng/sys/netinet6/in6_var.h#25 integrate
.. //depot/projects/smpng/sys/nfs/nfs_common.c#16 integrate
.. //depot/projects/smpng/sys/nfs/nfs_nfssvc.c#2 integrate
.. //depot/projects/smpng/sys/nfs/rpcv2.h#6 delete
.. //depot/projects/smpng/sys/nfsclient/bootp_subr.c#44 integrate
.. //depot/projects/smpng/sys/nfsclient/krpc_subr.c#18 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs.h#38 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_bio.c#61 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_diskless.c#25 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_krpc.c#6 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_lock.c#39 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_nfsiod.c#22 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_node.c#33 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_socket.c#62 delete
.. //depot/projects/smpng/sys/nfsclient/nfs_subs.c#40 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vfsops.c#74 integrate
.. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#91 integrate
.. //depot/projects/smpng/sys/nfsclient/nfsm_subs.h#12 integrate
.. //depot/projects/smpng/sys/nfsclient/nfsmount.h#17 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs.h#27 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_fha.c#4 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#66 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_srvcache.c#17 delete
.. //depot/projects/smpng/sys/nfsserver/nfs_srvkrpc.c#10 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_srvsock.c#41 delete
.. //depot/projects/smpng/sys/nfsserver/nfs_srvsubs.c#51 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_syscalls.c#44 delete
.. //depot/projects/smpng/sys/nfsserver/nfsrvcache.h#8 integrate
.. //depot/projects/smpng/sys/pc98/include/vm.h#1 branch
.. //depot/projects/smpng/sys/pci/if_rl.c#78 integrate
.. //depot/projects/smpng/sys/powerpc/include/vm.h#1 branch
.. //depot/projects/smpng/sys/rpc/clnt_dg.c#6 integrate
.. //depot/projects/smpng/sys/rpc/rpcsec_gss/rpcsec_gss.c#3 integrate
.. //depot/projects/smpng/sys/security/audit/audit.c#19 integrate
.. //depot/projects/smpng/sys/security/audit/audit.h#12 integrate
.. //depot/projects/smpng/sys/security/audit/audit_arg.c#17 integrate
.. //depot/projects/smpng/sys/security/audit/audit_bsm.c#17 integrate
.. //depot/projects/smpng/sys/security/audit/audit_private.h#15 integrate
.. //depot/projects/smpng/sys/security/audit/audit_syscalls.c#23 integrate
.. //depot/projects/smpng/sys/sparc64/include/pmap.h#33 integrate
.. //depot/projects/smpng/sys/sparc64/include/vm.h#1 branch
.. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#97 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#80 integrate
.. //depot/projects/smpng/sys/sun4v/include/vm.h#1 branch
.. //depot/projects/smpng/sys/sun4v/sun4v/pmap.c#16 integrate
.. //depot/projects/smpng/sys/sys/cpuctl.h#2 integrate
.. //depot/projects/smpng/sys/sys/event.h#26 integrate
.. //depot/projects/smpng/sys/sys/filio.h#5 integrate
.. //depot/projects/smpng/sys/sys/mount.h#77 integrate
.. //depot/projects/smpng/sys/sys/param.h#151 integrate
.. //depot/projects/smpng/sys/sys/priv.h#23 integrate
.. //depot/projects/smpng/sys/sys/vnode.h#103 integrate
.. //depot/projects/smpng/sys/tools/sound/feeder_rate_mkfilter.awk#3 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_softdep.c#75 integrate
.. //depot/projects/smpng/sys/ufs/ffs/ffs_vnops.c#66 integrate
.. //depot/projects/smpng/sys/vm/vm.h#13 integrate
.. //depot/projects/smpng/sys/vm/vm_contig.c#50 integrate
.. //depot/projects/smpng/sys/vm/vm_extern.h#36 integrate
.. //depot/projects/smpng/sys/vm/vm_object.c#111 integrate
.. //depot/projects/smpng/sys/vm/vm_phys.c#7 integrate
.. //depot/projects/smpng/sys/vm/vm_phys.h#3 integrate

Differences ...

==== //depot/projects/smpng/sys/amd64/amd64/genassym.c#28 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.175 2009/04/01 18:36:34 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.176 2009/07/01 07:34:28 dfr Exp $");
 
 #include "opt_compat.h"
 #include "opt_hwpmc_hooks.h"
@@ -64,7 +64,6 @@
 #include <net/if.h>
 #include <netinet/in.h>
 #include <nfs/nfsproto.h>
-#include <nfs/rpcv2.h>
 #include <nfsclient/nfs.h>
 #include <nfsclient/nfsdiskless.h>
 #include <machine/apicreg.h>

==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#34 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.173 2009/05/04 18:05:27 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.174 2009/06/30 11:16:32 avg Exp $");
 
 #include "opt_cpu.h"
 
@@ -107,9 +107,6 @@
 };
 
 
-extern int pq_l2size;
-extern int pq_l2nways;
-
 void
 printcpuinfo(void)
 {

==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#36 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.44 2009/06/25 20:35:46 jhb Exp $
+ * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.45 2009/07/01 17:20:07 jhb Exp $
  */
 
 /*
@@ -163,8 +163,8 @@
 }
 
 int
-intr_add_handler(const char *name, int vector, driver_filter_t filter, 
-    driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep)    
+intr_add_handler(const char *name, int vector, driver_filter_t filter,
+    driver_intr_t handler, void *arg, enum intr_type flags, void **cookiep)
 {
 	struct intsrc *isrc;
 	int error;
@@ -302,7 +302,8 @@
 intr_assign_cpu(void *arg, u_char cpu)
 {
 #ifdef SMP
-	struct intsrc *isrc;	
+	struct intsrc *isrc;
+	int error;
 
 	/*
 	 * Don't do anything during early boot.  We will pick up the
@@ -311,10 +312,11 @@
 	if (assign_cpu && cpu != NOCPU) {
 		isrc = arg;
 		mtx_lock(&intr_table_lock);
-		isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]);
+		error = isrc->is_pic->pic_assign_cpu(isrc, cpu_apic_ids[cpu]);
 		mtx_unlock(&intr_table_lock);
-	}
-	return (0);
+	} else
+		error = 0;
+	return (error);
 #else
 	return (EOPNOTSUPP);
 #endif
@@ -371,7 +373,7 @@
 	intrcnt_setname("???", 0);
 	intrcnt_index = 1;
 	STAILQ_INIT(&pics);
-	mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF | MTX_RECURSE);
+	mtx_init(&intr_table_lock, "intr sources", NULL, MTX_DEF);
 	mtx_init(&intrcnt_lock, "intrcnt", NULL, MTX_SPIN);
 }
 SYSINIT(intr_init, SI_SUB_INTR, SI_ORDER_FIRST, intr_init, NULL);
@@ -441,14 +443,14 @@
 	if (!assign_cpu)
 		return (cpu_apic_ids[0]);
 
-	mtx_lock(&intr_table_lock);
+	mtx_lock_spin(&icu_lock);
 	apic_id = cpu_apic_ids[current_cpu];
 	do {
 		current_cpu++;
 		if (current_cpu > mp_maxid)
 			current_cpu = 0;
 	} while (!(intr_cpus & (1 << current_cpu)));
-	mtx_unlock(&intr_table_lock);
+	mtx_unlock_spin(&icu_lock);
 	return (apic_id);
 }
 
@@ -489,7 +491,6 @@
 intr_shuffle_irqs(void *arg __unused)
 {
 	struct intsrc *isrc;
-	u_int apic_id;
 	int i;
 
 	/* Don't bother on UP. */
@@ -505,13 +506,17 @@
 			/*
 			 * If this event is already bound to a CPU,
 			 * then assign the source to that CPU instead
-			 * of picking one via round-robin.
+			 * of picking one via round-robin.  Note that
+			 * this is careful to only advance the
+			 * round-robin if the CPU assignment succeeds.
 			 */
 			if (isrc->is_event->ie_cpu != NOCPU)
-				apic_id = isrc->is_event->ie_cpu;
-			else
-				apic_id = intr_next_cpu();
-			isrc->is_pic->pic_assign_cpu(isrc, apic_id);
+				(void)isrc->is_pic->pic_assign_cpu(isrc,
+				    isrc->is_event->ie_cpu);
+			else if (isrc->is_pic->pic_assign_cpu(isrc,
+				cpu_apic_ids[current_cpu]) == 0)
+				(void)intr_next_cpu();
+
 		}
 	}
 	mtx_unlock(&intr_table_lock);

==== //depot/projects/smpng/sys/amd64/amd64/io_apic.c#25 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.33 2009/06/25 18:13:46 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.34 2009/07/01 17:20:07 jhb Exp $");
 
 #include "opt_isa.h"
 
@@ -120,7 +120,7 @@
 static int	ioapic_config_intr(struct intsrc *isrc, enum intr_trigger trig,
 		    enum intr_polarity pol);
 static void	ioapic_resume(struct pic *pic);
-static void	ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id);
+static int	ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id);
 static void	ioapic_program_intpin(struct ioapic_intsrc *intpin);
 
 static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list);
@@ -322,7 +322,7 @@
 	mtx_unlock_spin(&icu_lock);
 }
 
-static void
+static int
 ioapic_assign_cpu(struct intsrc *isrc, u_int apic_id)
 {
 	struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc;
@@ -342,7 +342,7 @@
 	old_vector = intpin->io_vector;
 	old_id = intpin->io_cpu;
 	if (old_vector && apic_id == old_id)
-		return;
+		return (0);
 
 	/*
 	 * Allocate an APIC vector for this interrupt pin.  Once
@@ -350,6 +350,9 @@
 	 */
 	intpin->io_cpu = apic_id;
 	intpin->io_vector = apic_alloc_vector(apic_id, intpin->io_irq);
+	if (intpin->io_vector == 0)
+		return (ENOSPC);
+
 	if (bootverbose) {
 		printf("ioapic%u: routing intpin %u (", io->io_id,
 		    intpin->io_intpin);
@@ -364,6 +367,7 @@
 	 */
 	if (old_vector)
 		apic_free_vector(old_id, old_vector, intpin->io_irq);
+	return (0);
 }
 
 static void
@@ -372,7 +376,9 @@
 	struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc;
 
 	if (intpin->io_vector == 0)
-		ioapic_assign_cpu(isrc, intr_next_cpu());
+		if (ioapic_assign_cpu(isrc, intr_next_cpu()) != 0)
+			panic("Couldn't find an APIC vector for IRQ %d",
+			    intpin->io_irq);
 	apic_enable_vector(intpin->io_cpu, intpin->io_vector);
 }
 
@@ -496,7 +502,7 @@
 	io->io_pic = ioapic_template;
 	mtx_lock_spin(&icu_lock);
 	io->io_id = next_id++;
-	io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT;	
+	io->io_apic_id = ioapic_read(apic, IOAPIC_ID) >> APIC_ID_SHIFT;
 	if (apic_id != -1 && io->io_apic_id != apic_id) {
 		ioapic_write(apic, IOAPIC_ID, apic_id << APIC_ID_SHIFT);
 		mtx_unlock_spin(&icu_lock);
@@ -730,7 +736,7 @@
 	if (pin >= io->io_numintr || trigger == INTR_TRIGGER_CONFORM)
 		return (EINVAL);
 	if (io->io_pins[pin].io_irq >= NUM_IO_INTS)
-		return (EINVAL);	
+		return (EINVAL);
 	edgetrigger = (trigger == INTR_TRIGGER_EDGE);
 	if (io->io_pins[pin].io_edgetrigger == edgetrigger)
 		return (0);

==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#43 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.57 2009/06/24 19:16:48 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.58 2009/07/01 17:20:07 jhb Exp $");
 
 #include "opt_hwpmc_hooks.h"
 #include "opt_kdtrace.h"
@@ -139,7 +139,7 @@
 };
 
 
-static u_int32_t lapic_timer_divisors[] = { 
+static u_int32_t lapic_timer_divisors[] = {
 	APIC_TDCR_1, APIC_TDCR_2, APIC_TDCR_4, APIC_TDCR_8, APIC_TDCR_16,
 	APIC_TDCR_32, APIC_TDCR_64, APIC_TDCR_128
 };
@@ -797,7 +797,7 @@
 		return (vector + APIC_IO_INTS);
 	}
 	mtx_unlock_spin(&icu_lock);
-	panic("Couldn't find an APIC vector for IRQ %u", irq);
+	return (0);
 }
 
 /*
@@ -1058,7 +1058,7 @@
 static SLIST_HEAD(, apic_enumerator) enumerators =
 	SLIST_HEAD_INITIALIZER(enumerators);
 static struct apic_enumerator *best_enum;
-	
+
 void
 apic_register_enumerator(struct apic_enumerator *enumerator)
 {

==== //depot/projects/smpng/sys/amd64/amd64/msi.c#13 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.12 2009/06/25 18:13:46 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/msi.c,v 1.13 2009/07/01 17:20:07 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -113,6 +113,8 @@
 	u_int msi_vector:8;		/* IDT vector. */
 	u_int msi_cpu:8;		/* Local APIC ID. (g) */
 	u_int msi_count:8;		/* Messages in this group. (g) */
+	u_int msi_maxcount:8;		/* Alignment for this group. (g) */
+	int *msi_irqs;			/* Group's IRQ list. (g) */
 };
 
 static void	msi_create_source(void);
@@ -125,7 +127,7 @@
 static int	msi_source_pending(struct intsrc *isrc);
 static int	msi_config_intr(struct intsrc *isrc, enum intr_trigger trig,
 		    enum intr_polarity pol);
-static void	msi_assign_cpu(struct intsrc *isrc, u_int apic_id);
+static int	msi_assign_cpu(struct intsrc *isrc, u_int apic_id);
 
 struct pic msi_pic = { msi_enable_source, msi_disable_source, msi_eoi_source,
 		       msi_enable_intr, msi_disable_intr, msi_vector,
@@ -195,32 +197,52 @@
 	return (ENODEV);
 }
 
-static void
+static int
 msi_assign_cpu(struct intsrc *isrc, u_int apic_id)
 {
-	struct msi_intsrc *msi = (struct msi_intsrc *)isrc;
+	struct msi_intsrc *sib, *msi = (struct msi_intsrc *)isrc;
 	int old_vector;
 	u_int old_id;
-	int vector;
+	int i, vector;
+
+	/*
+	 * Only allow CPUs to be assigned to the first message for an
+	 * MSI group.
+	 */
+	if (msi->msi_first != msi)
+		return (EINVAL);
 
 	/* Store information to free existing irq. */
 	old_vector = msi->msi_vector;
 	old_id = msi->msi_cpu;
 	if (old_id == apic_id)
-		return;
-	if (!msi->msi_msix && msi->msi_first->msi_count > 1)
-		return;
+		return (0);
 
-	/* Allocate IDT vector on this cpu. */
-	vector = apic_alloc_vector(apic_id, msi->msi_irq);
+	/* Allocate IDT vectors on this cpu. */
+	if (msi->msi_count > 1) {
+		KASSERT(msi->msi_msix == 0, ("MSI-X message group"));
+		vector = apic_alloc_vectors(apic_id, msi->msi_irqs,
+		    msi->msi_count, msi->msi_maxcount);
+	} else
+		vector = apic_alloc_vector(apic_id, msi->msi_irq);
 	if (vector == 0)
-		return; /* XXX alloc_vector panics on failure. */
+		return (ENOSPC);
+
 	msi->msi_cpu = apic_id;
 	msi->msi_vector = vector;
 	if (bootverbose)
 		printf("msi: Assigning %s IRQ %d to local APIC %u vector %u\n",
 		    msi->msi_msix ? "MSI-X" : "MSI", msi->msi_irq,
 		    msi->msi_cpu, msi->msi_vector);
+	for (i = 1; i < msi->msi_count; i++) {
+		sib = (struct msi_intsrc *)intr_lookup_source(msi->msi_irqs[i]);
+		sib->msi_cpu = apic_id;
+		sib->msi_vector = vector + i;
+		if (bootverbose)
+			printf(
+		    "msi: Assigning MSI IRQ %d to local APIC %u vector %u\n",
+			    sib->msi_irq, sib->msi_cpu, sib->msi_vector);
+	}
 	pci_remap_msi_irq(msi->msi_dev, msi->msi_irq);
 
 	/*
@@ -228,6 +250,9 @@
 	 * to prevent races where we could miss an interrupt.
 	 */
 	apic_free_vector(old_id, old_vector, msi->msi_irq);
+	for (i = 1; i < msi->msi_count; i++)
+		apic_free_vector(old_id, old_vector + i, msi->msi_irqs[i]);
+	return (0);
 }
 
 void
@@ -268,7 +293,7 @@
 	msi_last_irq++;
 	mtx_unlock(&msi_lock);
 
-	msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO);	
+	msi = malloc(sizeof(struct msi_intsrc), M_MSI, M_WAITOK | M_ZERO);
 	msi->msi_intsrc.is_pic = &msi_pic;
 	msi->msi_irq = irq;
 	intr_register_source(&msi->msi_intsrc);
@@ -276,21 +301,22 @@
 }
 
 /*
- * Try to allocate 'count' interrupt sources with contiguous IDT values.  If
- * we allocate any new sources, then their IRQ values will be at the end of
- * the irqs[] array, with *newirq being the index of the first new IRQ value
- * and *newcount being the number of new IRQ values added.
+ * Try to allocate 'count' interrupt sources with contiguous IDT values.
  */
 int
 msi_alloc(device_t dev, int count, int maxcount, int *irqs)
 {
 	struct msi_intsrc *msi, *fsrc;
 	u_int cpu;
-	int cnt, i, vector;
+	int cnt, i, *mirqs, vector;
 
 	if (!msi_enabled)
 		return (ENXIO);
 
+	if (count > 1)
+		mirqs = malloc(count * sizeof(*mirqs), M_MSI, M_WAITOK);
+	else
+		mirqs = NULL;
 again:
 	mtx_lock(&msi_lock);
 
@@ -317,6 +343,7 @@
 		/* If we would exceed the max, give up. */
 		if (i + (count - cnt) > FIRST_MSI_INT + NUM_MSI_INTS) {
 			mtx_unlock(&msi_lock);
+			free(mirqs, M_MSI);
 			return (ENXIO);
 		}
 		mtx_unlock(&msi_lock);
@@ -337,6 +364,7 @@
 	vector = apic_alloc_vectors(cpu, irqs, count, maxcount);
 	if (vector == 0) {
 		mtx_unlock(&msi_lock);
+		free(mirqs, M_MSI);
 		return (ENOSPC);
 	}
 
@@ -356,6 +384,10 @@
 		    ("dead MSI has handlers"));
 	}
 	fsrc->msi_count = count;
+	fsrc->msi_maxcount = maxcount;
+	if (count > 1)
+		bcopy(irqs, mirqs, count * sizeof(*mirqs));
+	fsrc->msi_irqs = mirqs;
 	mtx_unlock(&msi_lock);
 
 	return (0);
@@ -413,6 +445,9 @@
 	apic_free_vector(first->msi_cpu, first->msi_vector, first->msi_irq);
 	first->msi_vector = 0;
 	first->msi_count = 0;
+	first->msi_maxcount = 0;
+	free(first->msi_irqs, M_MSI);
+	first->msi_irqs = NULL;
 
 	mtx_unlock(&msi_lock);
 	return (0);
@@ -498,15 +533,23 @@
 	/* Allocate an IDT vector. */
 	cpu = intr_next_cpu();
 	vector = apic_alloc_vector(cpu, i);
+	if (vector == 0) {
+		mtx_unlock(&msi_lock);
+		return (ENOSPC);
+	}
 	if (bootverbose)
 		printf("msi: routing MSI-X IRQ %d to local APIC %u vector %u\n",
 		    msi->msi_irq, cpu, vector);
-	
+
 	/* Setup source. */
 	msi->msi_cpu = cpu;
 	msi->msi_dev = dev;
+	msi->msi_first = msi;
 	msi->msi_vector = vector;
 	msi->msi_msix = 1;
+	msi->msi_count = 1;
+	msi->msi_maxcount = 1;
+	msi->msi_irqs = NULL;
 
 	KASSERT(msi->msi_intsrc.is_handlers == 0, ("dead MSI-X has handlers"));
 	mtx_unlock(&msi_lock);
@@ -536,10 +579,13 @@
 	KASSERT(msi->msi_dev != NULL, ("unowned message"));
 
 	/* Clear out the message. */
+	msi->msi_first = NULL;
 	msi->msi_dev = NULL;
 	apic_free_vector(msi->msi_cpu, msi->msi_vector, msi->msi_irq);
 	msi->msi_vector = 0;
 	msi->msi_msix = 0;
+	msi->msi_count = 0;
+	msi->msi_maxcount = 0;
 
 	mtx_unlock(&msi_lock);
 	return (0);

==== //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#10 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.91 2009/04/01 13:09:26 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.93 2009/06/27 15:03:50 rwatson Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -87,7 +87,7 @@
 	 * XXXKIB check that the BSM generation code knows to encode
 	 * the op argument.
 	 */
-	AUDIT_ARG(cmd, uap->op);
+	AUDIT_ARG_CMD(uap->op);
 	if (uap_space == UIO_USERSPACE) {
 		error = copyin(uap->parms, &la, sizeof(struct i386_ldt_args));
 		if (error != 0)
@@ -170,7 +170,7 @@
 	 * XXXKIB check that the BSM generation code knows to encode
 	 * the op argument.
 	 */
-	AUDIT_ARG(cmd, uap->op);
+	AUDIT_ARG_CMD(uap->op);
 	switch (uap->op) {
 	case I386_GET_IOPERM:
 	case I386_SET_IOPERM:

==== //depot/projects/smpng/sys/amd64/include/intr_machdep.h#21 (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/include/intr_machdep.h,v 1.23 2009/06/25 20:35:46 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/intr_machdep.h,v 1.24 2009/07/01 17:20:07 jhb Exp $
  */
 
 #ifndef __MACHINE_INTR_MACHDEP_H__
@@ -93,7 +93,7 @@
 	void (*pic_resume)(struct pic *);
 	int (*pic_config_intr)(struct intsrc *, enum intr_trigger,
 	    enum intr_polarity);
-	void (*pic_assign_cpu)(struct intsrc *, u_int apic_id);
+	int (*pic_assign_cpu)(struct intsrc *, u_int apic_id);
 	STAILQ_ENTRY(pic) pics;
 };
 

==== //depot/projects/smpng/sys/amd64/isa/atpic.c#19 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.24 2008/03/20 21:53:27 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/atpic.c,v 1.25 2009/07/01 17:20:07 jhb Exp $");
 
 #include "opt_auto_eoi.h"
 #include "opt_isa.h"
@@ -143,7 +143,7 @@
 static int atpic_source_pending(struct intsrc *isrc);
 static int atpic_config_intr(struct intsrc *isrc, enum intr_trigger trig,
     enum intr_polarity pol);
-static void atpic_assign_cpu(struct intsrc *isrc, u_int apic_id);
+static int atpic_assign_cpu(struct intsrc *isrc, u_int apic_id);
 static void i8259_init(struct atpic *pic, int slave);
 
 static struct atpic atpics[] = {
@@ -357,7 +357,7 @@
 	return (0);
 }
 
-static void
+static int
 atpic_assign_cpu(struct intsrc *isrc, u_int apic_id)
 {
 

==== //depot/projects/smpng/sys/arm/at91/at91_machdep.c#4 (text+ko) ====

@@ -46,7 +46,7 @@
 #include "opt_msgbuf.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.6 2009/07/01 20:07:44 raj Exp $");
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -301,6 +301,11 @@
 	/* Map the vector page. */
 	pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa,
 	    VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
+
+	/* Map the DPCPU pages */
+	pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE,
+	    VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
+
 	/* Map the stack pages */
 	pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa,
 	    IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);

==== //depot/projects/smpng/sys/arm/at91/if_ate.c#23 (text) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.38 2009/06/11 17:05:13 avg Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/if_ate.c,v 1.39 2009/06/26 11:45:06 rwatson Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -413,7 +413,7 @@
 	 */
 	mcaf[0] = 0;
 	mcaf[1] = 0;
-	IF_ADDR_LOCK(ifp);
+	if_maddr_rlock(ifp);
 	TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
 		if (ifma->ifma_addr->sa_family != AF_LINK)
 			continue;
@@ -421,14 +421,14 @@
 		    ifma->ifma_addr), ETHER_ADDR_LEN) >> 26;
 		af[index >> 3] |= 1 << (index & 7);
 	}
-	IF_ADDR_UNLOCK(ifp);
+	if_maddr_runlock(ifp);
 
 	/*
 	 * Write the hash to the hash register.  This card can also
 	 * accept unicast packets as well as multicast packets using this
 	 * register for easier bridging operations, but we don't take
 	 * advantage of that.  Locks here are to avoid LOR with the
-	 * IF_ADDR_LOCK, but might not be strictly necessary.
+	 * if_maddr_rlock, but might not be strictly necessary.
 	 */
 	WR4(sc, ETH_HSL, mcaf[0]);
 	WR4(sc, ETH_HSH, mcaf[1]);

==== //depot/projects/smpng/sys/arm/mv/mv_machdep.c#6 (text+ko) ====

@@ -39,7 +39,7 @@
 #include "opt_ddb.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.5 2009/06/23 22:42:39 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/mv/mv_machdep.c,v 1.6 2009/07/01 20:07:44 raj Exp $");
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -528,9 +528,9 @@
 	    L2_TABLE_SIZE_REAL * l2size,
 	    VM_PROT_READ|VM_PROT_WRITE, PTE_PAGETABLE);
 
-	/* Map allocated stacks and msgbuf */
-	pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa,
-	    freemempos - irqstack.pv_va,
+	/* Map allocated DPCPU, stacks and msgbuf */
+	pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa,
+	    freemempos - dpcpu.pv_va,
 	    VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
 
 	/* Link and map the vector page */

==== //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#21 (text+ko) ====

@@ -47,7 +47,7 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.29 2009/06/23 22:42:39 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.30 2009/07/01 20:07:44 raj Exp $");
 
 #include "opt_md.h"
 
@@ -313,6 +313,9 @@
 	pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE,
 	    ((uint32_t)lastaddr - KERNBASE), VM_PROT_READ|VM_PROT_WRITE,
 	    PTE_CACHE);
+	/* Map the DPCPU pages */
+	pmap_map_chunk(l1pagetable, dpcpu.pv_va, dpcpu.pv_pa, DPCPU_SIZE,
+	    VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
 	/* Map the stack pages */
 	pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa,
 	    IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);

==== //depot/projects/smpng/sys/arm/xscale/ixp425/if_npe.c#15 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.19 2009/06/17 02:53:05 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/if_npe.c,v 1.20 2009/06/26 11:45:06 rwatson Exp $");
 
 /*
  * Intel XScale NPE Ethernet driver.
@@ -435,7 +435,7 @@
 		memset(clr, 0, ETHER_ADDR_LEN);
 		memset(set, 0xff, ETHER_ADDR_LEN);
 
-		IF_ADDR_LOCK(ifp);
+		if_maddr_rlock(ifp);
 		TAILQ_FOREACH(ifma, &ifp->if_multiaddrs, ifma_link) {
 			if (ifma->ifma_addr->sa_family != AF_LINK)
 				continue;
@@ -445,7 +445,7 @@
 				set[i] &= mac[i];
 			}
 		}
-		IF_ADDR_UNLOCK(ifp);
+		if_maddr_runlock(ifp);
 
 		for (i = 0; i < ETHER_ADDR_LEN; i++) {
 			mask[i] = set[i] | ~clr[i];

==== //depot/projects/smpng/sys/boot/i386/libi386/biosdisk.c#23 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.61 2009/06/08 15:07:35 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.62 2009/06/26 09:32:31 rpaulo Exp $");
 
 /*
  * BIOS disk device handling.
@@ -880,7 +880,7 @@
     for (i = 0; i < NDOSPART; i++) {
 	if (dp[i].dp_typ == 0xee)
 	    part++;
-	else if (dp[i].dp_typ != 0x00)
+	else if ((part != 1) && (dp[i].dp_typ != 0x00))
 	    return (EINVAL);
     }
     if (part != 1)

==== //depot/projects/smpng/sys/compat/freebsd32/freebsd32_misc.c#61 (text+ko) ====

@@ -25,7 +25,7 @@
  */

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list