Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Sep 2008 21:28:35 GMT
From:      Marko Zec <zec@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 149909 for review
Message-ID:  <200809162128.m8GLSZ79063235@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=149909

Change 149909 by zec@zec_tpx32 on 2008/09/16 21:28:17

	IFC @ 149904

Affected files ...

.. //depot/projects/vimage/src/sys/amd64/amd64/cpu_switch.S#10 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/genassym.c#10 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/machdep.c#12 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#10 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/trap.c#11 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/vm_machdep.c#6 integrate
.. //depot/projects/vimage/src/sys/amd64/include/pcb.h#5 integrate
.. //depot/projects/vimage/src/sys/amd64/include/pcpu.h#6 integrate
.. //depot/projects/vimage/src/sys/amd64/include/pmc_mdep.h#4 integrate
.. //depot/projects/vimage/src/sys/amd64/include/segments.h#3 integrate
.. //depot/projects/vimage/src/sys/amd64/linux32/linux32_genassym.c#2 integrate
.. //depot/projects/vimage/src/sys/amd64/linux32/linux32_locore.s#3 integrate
.. //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#13 integrate
.. //depot/projects/vimage/src/sys/amd64/pci/pci_cfgreg.c#4 integrate
.. //depot/projects/vimage/src/sys/arm/arm/intr.c#7 integrate
.. //depot/projects/vimage/src/sys/arm/arm/nexus.c#4 integrate
.. //depot/projects/vimage/src/sys/arm/at91/at91.c#6 integrate
.. //depot/projects/vimage/src/sys/arm/at91/at91_mci.c#5 integrate
.. //depot/projects/vimage/src/sys/arm/at91/at91_ssc.c#3 integrate
.. //depot/projects/vimage/src/sys/arm/at91/kb920x_machdep.c#9 integrate
.. //depot/projects/vimage/src/sys/arm/conf/KB920X#7 integrate
.. //depot/projects/vimage/src/sys/arm/conf/NSLU#2 integrate
.. //depot/projects/vimage/src/sys/arm/include/intr.h#6 integrate
.. //depot/projects/vimage/src/sys/arm/include/pcpu.h#5 integrate
.. //depot/projects/vimage/src/sys/arm/xscale/ixp425/ixp425.c#6 integrate
.. //depot/projects/vimage/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#4 integrate
.. //depot/projects/vimage/src/sys/boot/common/dev_net.c#4 integrate
.. //depot/projects/vimage/src/sys/boot/forth/loader.conf#14 integrate
.. //depot/projects/vimage/src/sys/boot/sparc64/loader/main.c#7 integrate
.. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c#2 integrate
.. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#3 integrate
.. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate
.. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#10 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_proto.h#11 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscall.h#11 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_syscalls.c#11 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_sysent.c#11 integrate
.. //depot/projects/vimage/src/sys/compat/freebsd32/syscalls.master#12 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_file.c#12 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#22 integrate
.. //depot/projects/vimage/src/sys/compat/linux/linux_socket.c#10 integrate
.. //depot/projects/vimage/src/sys/compat/ndis/ntoskrnl_var.h#3 integrate
.. //depot/projects/vimage/src/sys/compat/svr4/svr4_stream.c#3 integrate
.. //depot/projects/vimage/src/sys/compat/svr4/svr4_sysvec.c#3 integrate
.. //depot/projects/vimage/src/sys/conf/NOTES#31 integrate
.. //depot/projects/vimage/src/sys/conf/files.i386#19 integrate
.. //depot/projects/vimage/src/sys/conf/files.pc98#12 integrate
.. //depot/projects/vimage/src/sys/conf/files.sparc64#11 integrate
.. //depot/projects/vimage/src/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#4 integrate
.. //depot/projects/vimage/src/sys/contrib/dev/ath/public/wisoc.hal.o.uu#1 branch
.. //depot/projects/vimage/src/sys/contrib/dev/ath/public/wisoc.inc#1 branch
.. //depot/projects/vimage/src/sys/contrib/dev/ath/public/wisoc.opt_ah.h#1 branch
.. //depot/projects/vimage/src/sys/ddb/db_command.c#6 integrate
.. //depot/projects/vimage/src/sys/ddb/ddb.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/aac/aac_pci.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/acpi_support/acpi_fujitsu.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/aic7xxx/aic79xx_osm.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/asmc/asmc.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/asmc/asmcvar.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/ata/ata-chipset.c#16 integrate
.. //depot/projects/vimage/src/sys/dev/ata/ata-pci.h#11 integrate
.. //depot/projects/vimage/src/sys/dev/ath/if_athvar.h#9 integrate
.. //depot/projects/vimage/src/sys/dev/bge/if_bge.c#14 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_hw.c#9 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_adapter.h#13 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_config.h#5 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_include.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#15 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_offload.h#7 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_osdep.h#10 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#15 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/sys/cxgb_support.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/sys/mbufq.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/toecore/cxgb_toedev.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#10 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_tom.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/drm/ati_pcigart.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/drm/drm_bufs.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/drm/drm_pci.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/drm/i915_dma.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/drm/mach64_dma.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/esp/esp_sbus.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/esp/ncr53c9x.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/esp/ncr53c9xreg.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/esp/ncr53c9xvar.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/hwpmc/hwpmc_x86.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ic/i8251.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/ic/i8255.h#1 branch
.. //depot/projects/vimage/src/sys/dev/iicbus/ds133x.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/iicbus/ds1672.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/jme/if_jme.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/jme/if_jmereg.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/le/if_le_ledma.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/mii/e1000phy.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/mii/miidevs#14 integrate
.. //depot/projects/vimage/src/sys/dev/mlx/mlx.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/pci/vga_pci.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/ppbus/if_plip.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/ppbus/lpt.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/ppbus/ppbconf.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/ppbus/ppbconf.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/ppbus/ppi.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/ppbus/pps.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/ppc/ppc.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ppc/ppc_acpi.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/ppc/ppc_isa.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ppc/ppc_pci.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/ppc/ppc_puc.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/ppc/ppcreg.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/ppc/ppcvar.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/re/if_re.c#18 integrate
.. //depot/projects/vimage/src/sys/dev/si/si.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hda_reg.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac.c#19 integrate
.. //depot/projects/vimage/src/sys/dev/sound/pci/hda/hdac_private.h#7 integrate
.. //depot/projects/vimage/src/sys/dev/tx/if_tx.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/uart/uart_cpu_pc98.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/usb/if_zyd.c#10 integrate
.. //depot/projects/vimage/src/sys/dev/usb/if_zydreg.h#5 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ubsa.c#10 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ucom.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ucomvar.h#5 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ufoma.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/usb/usb_quirks.c#9 integrate
.. //depot/projects/vimage/src/sys/dev/usb/usbdevs#28 integrate
.. //depot/projects/vimage/src/sys/fs/nullfs/null_vnops.c#7 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs.h#7 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_fifoops.c#3 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_fifoops.h#3 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_subr.c#9 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vfsops.c#12 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.c#12 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.h#3 integrate
.. //depot/projects/vimage/src/sys/geom/geom_dev.c#6 integrate
.. //depot/projects/vimage/src/sys/geom/part/g_part.c#10 integrate
.. //depot/projects/vimage/src/sys/geom/part/g_part.h#8 integrate
.. //depot/projects/vimage/src/sys/geom/part/g_part_gpt.c#7 integrate
.. //depot/projects/vimage/src/sys/gnu/fs/ext2fs/ext2_inode.c#2 integrate
.. //depot/projects/vimage/src/sys/gnu/fs/xfs/FreeBSD/support/kdb.c#2 integrate
.. //depot/projects/vimage/src/sys/gnu/fs/xfs/FreeBSD/xfs_vnode.h#2 integrate
.. //depot/projects/vimage/src/sys/i386/conf/GENERIC#23 integrate
.. //depot/projects/vimage/src/sys/i386/conf/NOTES#23 integrate
.. //depot/projects/vimage/src/sys/i386/conf/XEN#3 integrate
.. //depot/projects/vimage/src/sys/i386/cpufreq/est.c#7 integrate
.. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#11 integrate
.. //depot/projects/vimage/src/sys/i386/i386/machdep.c#15 integrate
.. //depot/projects/vimage/src/sys/i386/i386/sys_machdep.c#7 integrate
.. //depot/projects/vimage/src/sys/i386/i386/vm_machdep.c#10 integrate
.. //depot/projects/vimage/src/sys/i386/include/pmc_mdep.h#3 integrate
.. //depot/projects/vimage/src/sys/i386/include/proc.h#4 integrate
.. //depot/projects/vimage/src/sys/i386/include/xen/xenpmap.h#3 integrate
.. //depot/projects/vimage/src/sys/i386/include/xen/xenvar.h#3 integrate
.. //depot/projects/vimage/src/sys/i386/isa/isa.c#4 integrate
.. //depot/projects/vimage/src/sys/i386/linux/linux_genassym.c#2 integrate
.. //depot/projects/vimage/src/sys/i386/linux/linux_locore.s#2 integrate
.. //depot/projects/vimage/src/sys/i386/pci/pci_cfgreg.c#6 integrate
.. //depot/projects/vimage/src/sys/i386/xen/mp_machdep.c#1 branch
.. //depot/projects/vimage/src/sys/i386/xen/mptable.c#1 branch
.. //depot/projects/vimage/src/sys/i386/xen/pmap.c#4 integrate
.. //depot/projects/vimage/src/sys/i386/xen/xen_machdep.c#5 integrate
.. //depot/projects/vimage/src/sys/kern/kern_exec.c#17 integrate
.. //depot/projects/vimage/src/sys/kern/kern_intr.c#13 integrate
.. //depot/projects/vimage/src/sys/kern/kern_lock.c#12 integrate
.. //depot/projects/vimage/src/sys/kern/kern_mutex.c#12 integrate
.. //depot/projects/vimage/src/sys/kern/kern_proc.c#13 integrate
.. //depot/projects/vimage/src/sys/kern/kern_resource.c#14 integrate
.. //depot/projects/vimage/src/sys/kern/kern_rmlock.c#2 integrate
.. //depot/projects/vimage/src/sys/kern/kern_rwlock.c#13 integrate
.. //depot/projects/vimage/src/sys/kern/kern_sx.c#14 integrate
.. //depot/projects/vimage/src/sys/kern/subr_pcpu.c#7 integrate
.. //depot/projects/vimage/src/sys/kern/subr_rman.c#7 integrate
.. //depot/projects/vimage/src/sys/kern/subr_sleepqueue.c#11 integrate
.. //depot/projects/vimage/src/sys/kern/subr_turnstile.c#10 integrate
.. //depot/projects/vimage/src/sys/kern/subr_witness.c#14 integrate
.. //depot/projects/vimage/src/sys/kern/tty.c#20 integrate
.. //depot/projects/vimage/src/sys/kern/tty_compat.c#3 integrate
.. //depot/projects/vimage/src/sys/kern/tty_pts.c#7 integrate
.. //depot/projects/vimage/src/sys/kern/tty_ttydisc.c#3 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_mbuf.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_mqueue.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_sockbuf.c#10 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_bio.c#15 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_mount.c#21 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_vnops.c#12 integrate
.. //depot/projects/vimage/src/sys/mips/adm5120/admpci.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/adm5120/if_admsw.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/adm5120/if_admswvar.h#2 integrate
.. //depot/projects/vimage/src/sys/mips/adm5120/obio.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/adm5120/std.adm5120#2 integrate
.. //depot/projects/vimage/src/sys/mips/adm5120/uart_bus_adm5120.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/adm5120/uart_cpu_adm5120.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/adm5120/uart_dev_adm5120.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/conf/ADM5120#2 integrate
.. //depot/projects/vimage/src/sys/mips/conf/IDT#2 integrate
.. //depot/projects/vimage/src/sys/mips/conf/MALTA#2 integrate
.. //depot/projects/vimage/src/sys/mips/conf/SENTRY5#2 integrate
.. //depot/projects/vimage/src/sys/mips/idt/idtpci.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/idt/if_kr.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/idt/obio.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/idt/std.idt#2 integrate
.. //depot/projects/vimage/src/sys/mips/idt/uart_bus_rc32434.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/files.malta#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/gt.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/gt_pci.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/malta_machdep.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/obio.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/std.malta#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/uart_bus_maltausart.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/uart_cpu_maltausart.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/malta/yamon.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/mips/in_cksum.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/mips/intr_machdep.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/sentry5/obio.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/sentry5/s5_machdep.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/sentry5/uart_bus_sbusart.c#2 integrate
.. //depot/projects/vimage/src/sys/mips/sentry5/uart_cpu_sbusart.c#2 integrate
.. //depot/projects/vimage/src/sys/modules/Makefile#28 integrate
.. //depot/projects/vimage/src/sys/modules/svr4/Makefile#3 integrate
.. //depot/projects/vimage/src/sys/modules/wlan/Makefile#5 integrate
.. //depot/projects/vimage/src/sys/net/if_atmsubr.c#5 integrate
.. //depot/projects/vimage/src/sys/net/if_bridge.c#16 integrate
.. //depot/projects/vimage/src/sys/net/if_fwsubr.c#6 integrate
.. //depot/projects/vimage/src/sys/net/if_iso88025subr.c#4 integrate
.. //depot/projects/vimage/src/sys/net/if_mib.c#7 integrate
.. //depot/projects/vimage/src/sys/net/if_tap.c#7 integrate
.. //depot/projects/vimage/src/sys/net/if_tap.h#2 integrate
.. //depot/projects/vimage/src/sys/net/route.c#23 integrate
.. //depot/projects/vimage/src/sys/net/route.h#4 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211.c#21 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211.h#9 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ddb.c#9 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.h#10 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.c#10 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.h#7 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.c#12 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.h#7 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_node.c#12 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_node.h#7 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_phy.c#3 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_sta.c#2 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_base.c#35 integrate
.. //depot/projects/vimage/src/sys/netinet/if_ether.c#22 integrate
.. //depot/projects/vimage/src/sys/netinet/in_rmx.c#19 integrate
.. //depot/projects/vimage/src/sys/netinet/in_var.h#9 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw.h#13 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#42 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_debug.c#5 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_input.c#32 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_output.c#21 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#48 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#38 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_var.h#23 integrate
.. //depot/projects/vimage/src/sys/netinet6/icmp6.c#28 integrate
.. //depot/projects/vimage/src/sys/netinet6/mld6.c#14 integrate
.. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#20 integrate
.. //depot/projects/vimage/src/sys/pc98/cbus/sio.c#7 integrate
.. //depot/projects/vimage/src/sys/pc98/conf/NOTES#9 integrate
.. //depot/projects/vimage/src/sys/pc98/include/bus.h#3 integrate
.. //depot/projects/vimage/src/sys/pc98/pc98/busiosubr.c#3 integrate
.. //depot/projects/vimage/src/sys/powerpc/aim/clock.c#4 integrate
.. //depot/projects/vimage/src/sys/powerpc/aim/mmu_oea.c#5 integrate
.. //depot/projects/vimage/src/sys/powerpc/aim/mp_cpudep.c#2 integrate
.. //depot/projects/vimage/src/sys/powerpc/aim/swtch.S#3 integrate
.. //depot/projects/vimage/src/sys/powerpc/aim/trap_subr.S#3 integrate
.. //depot/projects/vimage/src/sys/powerpc/include/cpufunc.h#4 integrate
.. //depot/projects/vimage/src/sys/powerpc/include/smp.h#3 integrate
.. //depot/projects/vimage/src/sys/powerpc/include/spr.h#4 integrate
.. //depot/projects/vimage/src/sys/powerpc/powerpc/autoconf.c#4 integrate
.. //depot/projects/vimage/src/sys/powerpc/powerpc/cpu.c#6 integrate
.. //depot/projects/vimage/src/sys/powerpc/powerpc/mp_machdep.c#3 integrate
.. //depot/projects/vimage/src/sys/powerpc/powerpc/openpic.c#6 integrate
.. //depot/projects/vimage/src/sys/security/audit/audit_syscalls.c#15 integrate
.. //depot/projects/vimage/src/sys/security/mac_bsdextended/mac_bsdextended.c#12 integrate
.. //depot/projects/vimage/src/sys/sparc64/include/asi.h#3 integrate
.. //depot/projects/vimage/src/sys/sparc64/include/cpu.h#2 integrate
.. //depot/projects/vimage/src/sys/sparc64/include/dcr.h#1 branch
.. //depot/projects/vimage/src/sys/sparc64/include/tlb.h#3 integrate
.. //depot/projects/vimage/src/sys/sparc64/include/trap.h#2 integrate
.. //depot/projects/vimage/src/sys/sparc64/include/tte.h#3 integrate
.. //depot/projects/vimage/src/sys/sparc64/sbus/dma_sbus.c#4 integrate
.. //depot/projects/vimage/src/sys/sparc64/sbus/lsi64854.c#2 integrate
.. //depot/projects/vimage/src/sys/sparc64/sbus/lsi64854var.h#2 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/cheetah.c#5 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/exception.S#6 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/genassym.c#6 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/jbusppm.c#1 branch
.. //depot/projects/vimage/src/sys/sparc64/sparc64/machdep.c#12 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/mp_exception.S#4 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/mp_locore.S#5 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/mp_machdep.c#7 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/pmap.c#11 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/schppm.c#1 branch
.. //depot/projects/vimage/src/sys/sparc64/sparc64/support.S#4 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/swtch.S#4 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/tlb.c#4 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/trap.c#8 integrate
.. //depot/projects/vimage/src/sys/sun4v/include/asi.h#2 integrate
.. //depot/projects/vimage/src/sys/sys/disk.h#3 integrate
.. //depot/projects/vimage/src/sys/sys/gpt.h#3 integrate
.. //depot/projects/vimage/src/sys/sys/interrupt.h#8 integrate
.. //depot/projects/vimage/src/sys/sys/lock.h#9 integrate
.. //depot/projects/vimage/src/sys/sys/mount.h#11 integrate
.. //depot/projects/vimage/src/sys/sys/param.h#26 integrate
.. //depot/projects/vimage/src/sys/sys/proc.h#22 integrate
.. //depot/projects/vimage/src/sys/sys/procfs.h#3 integrate
.. //depot/projects/vimage/src/sys/sys/systm.h#13 integrate
.. //depot/projects/vimage/src/sys/sys/termios.h#5 integrate
.. //depot/projects/vimage/src/sys/sys/tty.h#5 integrate
.. //depot/projects/vimage/src/sys/sys/ttydevsw.h#2 integrate
.. //depot/projects/vimage/src/sys/sys/vnode.h#11 integrate
.. //depot/projects/vimage/src/sys/ufs/ffs/ffs_extern.h#4 integrate
.. //depot/projects/vimage/src/sys/ufs/ffs/ffs_inode.c#5 integrate
.. //depot/projects/vimage/src/sys/ufs/ffs/ffs_snapshot.c#10 integrate
.. //depot/projects/vimage/src/sys/ufs/ffs/ffs_softdep.c#10 integrate
.. //depot/projects/vimage/src/sys/ufs/ffs/ffs_vfsops.c#12 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/dirhash.h#3 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/inode.h#3 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/ufs_dirhash.c#3 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/ufs_inode.c#3 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/ufs_lookup.c#8 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/ufs_vnops.c#10 integrate
.. //depot/projects/vimage/src/sys/ufs/ufs/ufsmount.h#3 integrate

Differences ...

==== //depot/projects/vimage/src/sys/amd64/amd64/cpu_switch.S#10 (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.163 2008/09/02 17:52:11 kib Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.164 2008/09/08 09:59:05 kib Exp $
  */
 
 #include <machine/asmacros.h>
@@ -266,7 +266,7 @@
 	movl	%es,PCB_ES(%r8)
 	movl	%fs,PCB_FS(%r8)
 	jmp	done_store_seg
-2:	movq	PCB_GS32P(%r8),%rax
+2:	movq	PCPU(GS32P),%rax
 	movq	(%rax),%rax
 	movq	%rax,PCB_GS32SD(%r8)
 	jmp	1b
@@ -283,7 +283,7 @@
 	movl	PCB_FS(%r8),%fs
 	jmp	done_load_seg
 	/* Restore userland %gs while preserving kernel gsbase */
-2:	movq	PCB_GS32P(%r8),%rax
+2:	movq	PCPU(GS32P),%rax
 	movq	PCB_GS32SD(%r8),%rcx
 	movq	%rcx,(%rax)
 	jmp	1b

==== //depot/projects/vimage/src/sys/amd64/amd64/genassym.c#10 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.169 2008/07/30 11:30:55 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.170 2008/09/08 09:59:05 kib Exp $");
 
 #include "opt_compat.h"
 #include "opt_kstack_pages.h"
@@ -147,7 +147,6 @@
 ASSYM(PCB_SAVEFPU, offsetof(struct pcb, pcb_save));
 ASSYM(PCB_SAVEFPU_SIZE, sizeof(struct savefpu));
 ASSYM(PCB_ONFAULT, offsetof(struct pcb, pcb_onfault));
-ASSYM(PCB_GS32P, offsetof(struct pcb, pcb_gs32p));
 ASSYM(PCB_GS32SD, offsetof(struct pcb, pcb_gs32sd));
 
 ASSYM(PCB_SIZE, sizeof(struct pcb));
@@ -199,6 +198,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_GS32P, offsetof(struct pcpu, pc_gs32p));
  
 ASSYM(LA_VER, offsetof(struct LAPIC, version));
 ASSYM(LA_TPR, offsetof(struct LAPIC, tpr));

==== //depot/projects/vimage/src/sys/amd64/amd64/machdep.c#12 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.688 2008/09/02 17:52:11 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.690 2008/09/08 09:59:05 kib Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -803,7 +803,7 @@
  * Initialize segments & interrupt table
  */
 
-struct user_segment_descriptor gdt[NGDT * MAXCPU];/* global descriptor table */
+struct user_segment_descriptor gdt[NGDT * MAXCPU];/* global descriptor tables */
 static struct gate_descriptor idt0[NIDT];
 struct gate_descriptor *idt = &idt0[0];	/* interrupt descriptor table */
 
@@ -870,7 +870,7 @@
 /* GPROC0_SEL	6 Proc 0 Tss Descriptor */
 {
 	0x0,			/* segment base address */
-	sizeof(struct amd64tss)-1,/* length - all address space */
+	sizeof(struct amd64tss)-1,/* length */
 	SDT_SYSTSS,		/* segment type */
 	SEL_KPL,		/* segment descriptor priority level */
 	1,			/* segment descriptor present */
@@ -1347,6 +1347,7 @@
 	PCPU_SET(curthread, &thread0);
 	PCPU_SET(curpcb, thread0.td_pcb);
 	PCPU_SET(tssp, &common_tss[0]);
+	PCPU_SET(gs32p, &gdt[GUGS32_SEL]);
 
 	/*
 	 * Initialize mutexes.

==== //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#10 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.291 2008/07/09 19:44:37 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.293 2008/09/08 09:59:05 kib Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -436,7 +436,8 @@
 {
 	struct pcpu *pc;
 	u_int64_t msr, cr0;
-	int cpu, gsel_tss;
+	int cpu, gsel_tss, x;
+	struct region_descriptor ap_gdt;
 
 	/* Set by the startup code for us to use */
 	cpu = bootAP;
@@ -447,11 +448,17 @@
 	common_tss[cpu].tss_iobase = sizeof(struct amd64tss);
 	common_tss[cpu].tss_ist1 = (long)&doublefault_stack[PAGE_SIZE];
 
+	/* Prepare private GDT */
 	gdt_segs[GPROC0_SEL].ssd_base = (long) &common_tss[cpu];
 	ssdtosyssd(&gdt_segs[GPROC0_SEL],
-	   (struct system_segment_descriptor *)&gdt[GPROC0_SEL]);
-
-	lgdt(&r_gdt);			/* does magic intra-segment return */
+	   (struct system_segment_descriptor *)&gdt[NGDT * cpu + GPROC0_SEL]);
+	for (x = 0; x < NGDT; x++) {
+		if (x != GPROC0_SEL && x != (GPROC0_SEL + 1))
+			ssdtosd(&gdt_segs[x], &gdt[NGDT * cpu + x]);
+	}
+	ap_gdt.rd_limit = NGDT * sizeof(gdt[0]) - 1;
+	ap_gdt.rd_base =  (long) &gdt[NGDT * cpu];
+	lgdt(&ap_gdt);			/* does magic intra-segment return */
 
 	/* Get per-cpu data */
 	pc = &__pcpu[cpu];
@@ -463,6 +470,7 @@
 	pc->pc_curthread = 0;
 	pc->pc_tssp = &common_tss[cpu];
 	pc->pc_rsp0 = 0;
+	pc->pc_gs32p = &gdt[NGDT * cpu + GUGS32_SEL];
 
 	wrmsr(MSR_FSBASE, 0);		/* User value */
 	wrmsr(MSR_GSBASE, (u_int64_t)pc);

==== //depot/projects/vimage/src/sys/amd64/amd64/trap.c#11 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.327 2008/06/20 05:22:09 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.328 2008/09/08 09:55:51 kib Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -692,7 +692,8 @@
 
 	code = frame->tf_err;
 	type = frame->tf_trapno;
-	sdtossd(&gdt[IDXSEL(frame->tf_cs & 0xffff)], &softseg);
+	sdtossd(&gdt[NGDT * PCPU_GET(cpuid) + IDXSEL(frame->tf_cs & 0xffff)],
+	    &softseg);
 
 	if (type <= MAX_TRAP_MSG)
 		msg = trap_msg[type];

==== //depot/projects/vimage/src/sys/amd64/amd64/vm_machdep.c#6 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.257 2008/03/12 10:11:54 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.258 2008/09/11 18:33:57 jhb Exp $");
 
 #include "opt_isa.h"
 #include "opt_cpu.h"
@@ -466,10 +466,13 @@
 
 	/*
 	 * Attempt to force a reset via the Reset Control register at
-	 * I/O port 0xcf9.  Bit 2 forces a system reset when it is
-	 * written as 1.  Bit 1 selects the type of reset to attempt:
-	 * 0 selects a "soft" reset, and 1 selects a "hard" reset.  We
-	 * try to do a "soft" reset first, and then a "hard" reset.
+	 * I/O port 0xcf9.  Bit 2 forces a system reset when it
+	 * transitions from 0 to 1.  Bit 1 selects the type of reset
+	 * to attempt: 0 selects a "soft" reset, and 1 selects a
+	 * "hard" reset.  We try a "hard" reset.  The first write sets
+	 * bit 1 to select a "hard" reset and clears bit 2.  The
+	 * second write forces a 0 -> 1 transition in bit 2 to trigger
+	 * a reset.
 	 */
 	outb(0xcf9, 0x2);
 	outb(0xcf9, 0x6);

==== //depot/projects/vimage/src/sys/amd64/include/pcb.h#5 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)pcb.h	5.10 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.65 2008/07/30 11:30:55 kib Exp $
+ * $FreeBSD: src/sys/amd64/include/pcb.h,v 1.66 2008/09/08 09:59:05 kib Exp $
  */
 
 #ifndef _AMD64_PCB_H_
@@ -77,7 +77,6 @@
 	caddr_t	pcb_onfault;	/* copyin/out fault recovery */
 
 	/* 32-bit segment descriptor */
-	struct user_segment_descriptor	*pcb_gs32p;
 	struct user_segment_descriptor	pcb_gs32sd;
 };
 

==== //depot/projects/vimage/src/sys/amd64/include/pcpu.h#6 (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/pcpu.h,v 1.50 2008/08/19 19:53:52 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.51 2008/09/08 09:59:05 kib Exp $
  */
 
 #ifndef _MACHINE_PCPU_H_
@@ -48,7 +48,8 @@
 	register_t pc_rsp0;						\
 	register_t pc_scratch_rsp;	/* User %rsp in syscall */	\
 	u_int	pc_apic_id;						\
-	u_int   pc_acpi_id		/* ACPI CPU id */
+	u_int   pc_acpi_id;		/* ACPI CPU id */		\
+	struct user_segment_descriptor	*pc_gs32p
 
 #ifdef _KERNEL
 

==== //depot/projects/vimage/src/sys/amd64/include/pmc_mdep.h#4 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2003-2007 Joseph Koshy
+ * Copyright (c) 2003-2008 Joseph Koshy
  * Copyright (c) 2007 The FreeBSD Foundation
  * All rights reserved.
  *
@@ -27,7 +27,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/pmc_mdep.h,v 1.5 2008/06/20 05:22:09 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/pmc_mdep.h,v 1.6 2008/09/15 06:47:52 jkoshy Exp $
  */
 
 /* Machine dependent interfaces */
@@ -59,7 +59,8 @@
 
 #define	PMC_TRAPFRAME_TO_PC(TF)	((TF)->tf_rip)
 #define	PMC_TRAPFRAME_TO_FP(TF)	((TF)->tf_rbp)
-#define	PMC_TRAPFRAME_TO_SP(TF)	((TF)->tf_rsp)
+#define	PMC_TRAPFRAME_TO_USER_SP(TF)	((TF)->tf_rsp)
+#define	PMC_TRAPFRAME_TO_KERNEL_SP(TF)	((TF)->tf_rsp)
 
 #define	PMC_AT_FUNCTION_PROLOGUE_PUSH_BP(I)		\
 	(((I) & 0xffffffff) == 0xe5894855) /* pushq %rbp; movq %rsp,%rbp */

==== //depot/projects/vimage/src/sys/amd64/include/segments.h#3 (text+ko) ====

@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)segments.h	7.1 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/amd64/include/segments.h,v 1.39 2007/03/30 00:06:21 jkim Exp $
+ * $FreeBSD: src/sys/amd64/include/segments.h,v 1.40 2008/09/08 08:58:29 kib Exp $
  */
 
 #ifndef _MACHINE_SEGMENTS_H_
@@ -201,7 +201,7 @@
 #define	GUDATA_SEL	4	/* User 32/64 bit Data Descriptor */
 #define	GUCODE_SEL	5	/* User 64 bit Code Descriptor */
 #define	GPROC0_SEL	6	/* TSS for entering kernel etc */
-/* slot 6 is second half of GPROC0_SEL */
+/* slot 7 is second half of GPROC0_SEL */
 #define	GUGS32_SEL	8	/* User 32 bit GS Descriptor */
 #define	NGDT 		9
 

==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_genassym.c#2 (text+ko) ====

@@ -1,5 +1,5 @@
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_genassym.c,v 1.1 2004/08/16 07:55:06 tjr Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_genassym.c,v 1.2 2008/09/07 16:39:21 kib Exp $");
 
 #include <sys/param.h>
 #include <sys/assym.h>
@@ -9,9 +9,8 @@
 
 ASSYM(LINUX_SIGF_HANDLER, offsetof(struct l_sigframe, sf_handler));
 ASSYM(LINUX_SIGF_SC, offsetof(struct l_sigframe, sf_sc));
-ASSYM(LINUX_SC_GS, offsetof(struct l_sigcontext, sc_gs));
-ASSYM(LINUX_SC_FS, offsetof(struct l_sigcontext, sc_fs));
 ASSYM(LINUX_SC_ES, offsetof(struct l_sigcontext, sc_es));
 ASSYM(LINUX_SC_DS, offsetof(struct l_sigcontext, sc_ds));
 ASSYM(LINUX_RT_SIGF_HANDLER, offsetof(struct l_rt_sigframe, sf_handler));
 ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_sc));
+ASSYM(LINUX_RT_SIGF_SC, offsetof(struct l_ucontext, uc_mcontext));

==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_locore.s#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sys/amd64/linux32/linux32_locore.s,v 1.2 2007/03/30 00:06:21 jkim Exp $ */
+/* $FreeBSD: src/sys/amd64/linux32/linux32_locore.s,v 1.3 2008/09/07 16:39:21 kib Exp $ */
 
 #include "linux32_assym.h"			/* system definitions */
 #include <machine/asmacros.h>			/* miscellaneous asm macros */
@@ -23,8 +23,9 @@
 linux_rt_sigcode:
 	call	*LINUX_RT_SIGF_HANDLER(%esp)
 	leal	LINUX_RT_SIGF_UC(%esp),%ebx	/* linux ucp */
-	movl	LINUX_SC_ES(%ebx),%es
-	movl	LINUX_SC_DS(%ebx),%ds
+	leal	LINUX_RT_SIGF_SC(%ebx),%ecx	/* linux sigcontext */
+	movl	LINUX_SC_ES(%ecx),%es
+	movl	LINUX_SC_DS(%ecx),%ds
 	push	%eax				/* fake ret addr */
 	movl	$LINUX_SYS_linux_rt_sigreturn,%eax   /* linux_rt_sigreturn() */
 	int	$0x80				/* enter kernel with args */

==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_machdep.c#13 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.47 2008/07/30 11:30:55 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.49 2008/09/08 09:59:05 kib Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -694,7 +694,6 @@
 #endif
 			td2->td_pcb->pcb_gsbase = (register_t)info.base_addr;
 			td2->td_pcb->pcb_gs32sd = sd;
-			td2->td_pcb->pcb_gs32p = &gdt[GUGS32_SEL];
 			td2->td_pcb->pcb_gs = GSEL(GUGS32_SEL, SEL_UPL);
 			td2->td_pcb->pcb_flags |= PCB_GS32BIT | PCB_32BIT;
 		}
@@ -1352,9 +1351,8 @@
 
 	critical_enter();
 	td->td_pcb->pcb_gsbase = (register_t)info.base_addr;
-	td->td_pcb->pcb_gs32sd = gdt[GUGS32_SEL] = sd;
-	td->td_pcb->pcb_gs32p = &gdt[GUGS32_SEL];
-	td->td_pcb->pcb_flags |= PCB_32BIT;
+	td->td_pcb->pcb_gs32sd = *PCPU_GET(gs32p) = sd;
+	td->td_pcb->pcb_flags |= PCB_32BIT | PCB_GS32BIT;
 	wrmsr(MSR_KGSBASE, td->td_pcb->pcb_gsbase);
 	critical_exit();
 

==== //depot/projects/vimage/src/sys/amd64/pci/pci_cfgreg.c#4 (text+ko) ====

@@ -27,12 +27,13 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.111 2008/08/22 02:14:23 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_cfgreg.c,v 1.113 2008/09/11 21:42:11 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/bus.h>
 #include <sys/lock.h>
+#include <sys/kernel.h>
 #include <sys/mutex.h>
 #include <dev/pci/pcivar.h>
 #include <dev/pci/pcireg.h>
@@ -46,6 +47,8 @@
 	CFGMECH_PCIE,
 };
 
+static uint32_t	pci_docfgregread(int bus, int slot, int func, int reg,
+		    int bytes);
 static int	pciereg_cfgread(int bus, unsigned slot, unsigned func,
 		    unsigned reg, unsigned bytes);
 static void	pciereg_cfgwrite(int bus, unsigned slot, unsigned func,
@@ -56,7 +59,10 @@
 static int cfgmech;
 static vm_offset_t pcie_base;
 static int pcie_minbus, pcie_maxbus;
+static uint32_t pcie_badslots;
 static struct mtx pcicfg_mtx;
+static int mcfg_enable = 1;
+TUNABLE_INT("hw.pci.mcfg", &mcfg_enable);
 
 /* 
  * Initialise access to PCI configuration space 
@@ -64,12 +70,17 @@
 int
 pci_cfgregopen(void)
 {
+	static int once = 0;
 	uint64_t pciebar;
 	uint16_t did, vid;
 
+	if (!once) {
+		mtx_init(&pcicfg_mtx, "pcicfg", NULL, MTX_SPIN);
+		once = 1;
+	}
+
 	if (cfgmech != CFGMECH_NONE)
 		return (1);
-	mtx_init(&pcicfg_mtx, "pcicfg", NULL, MTX_SPIN);
 	cfgmech = CFGMECH_1;
 
 	/*
@@ -103,6 +114,17 @@
 	return (1);
 }
 
+static uint32_t
+pci_docfgregread(int bus, int slot, int func, int reg, int bytes)
+{
+
+	if (cfgmech == CFGMECH_PCIE &&
+	    (bus != 0 || !(1 << slot & pcie_badslots)))
+		return (pciereg_cfgread(bus, slot, func, reg, bytes));
+	else
+		return (pcireg_cfgread(bus, slot, func, reg, bytes));
+}
+
 /* 
  * Read configuration space register
  */
@@ -120,12 +142,12 @@
 	 * as an invalid IRQ.
 	 */
 	if (reg == PCIR_INTLINE && bytes == 1) {
-		line = pcireg_cfgread(bus, slot, func, PCIR_INTLINE, 1);
+		line = pci_docfgregread(bus, slot, func, PCIR_INTLINE, 1);
 		if (line == 0 || line >= 128)
 			line = PCI_INVALID_IRQ;
 		return (line);
 	}
-	return (pcireg_cfgread(bus, slot, func, reg, bytes));
+	return (pci_docfgregread(bus, slot, func, reg, bytes));
 }
 
 /* 
@@ -135,7 +157,11 @@
 pci_cfgregwrite(int bus, int slot, int func, int reg, u_int32_t data, int bytes)
 {
 
-	pcireg_cfgwrite(bus, slot, func, reg, data, bytes);
+	if (cfgmech == CFGMECH_PCIE &&
+	    (bus != 0 || !(1 << slot & pcie_badslots)))
+		pciereg_cfgwrite(bus, slot, func, reg, data, bytes);
+	else
+		pcireg_cfgwrite(bus, slot, func, reg, data, bytes);
 }
 
 /* 
@@ -175,11 +201,6 @@
 	int data = -1;
 	int port;
 
-	if (cfgmech == CFGMECH_PCIE) {
-		data = pciereg_cfgread(bus, slot, func, reg, bytes);
-		return (data);
-	}
-
 	mtx_lock_spin(&pcicfg_mtx);
 	port = pci_cfgenable(bus, slot, func, reg, bytes);
 	if (port != 0) {
@@ -205,11 +226,6 @@
 {
 	int port;
 
-	if (cfgmech == CFGMECH_PCIE) {
-		pciereg_cfgwrite(bus, slot, func, reg, data, bytes);
-		return;
-	}
-
 	mtx_lock_spin(&pcicfg_mtx);
 	port = pci_cfgenable(bus, slot, func, reg, bytes);
 	if (port != 0) {
@@ -232,7 +248,12 @@
 int
 pcie_cfgregopen(uint64_t base, uint8_t minbus, uint8_t maxbus)
 {
+	uint32_t val1, val2;
+	int slot;
 
+	if (!mcfg_enable)
+		return (0);
+
 	if (minbus != 0)
 		return (0);
 
@@ -245,6 +266,25 @@
 	pcie_minbus = minbus;
 	pcie_maxbus = maxbus;
 	cfgmech = CFGMECH_PCIE;
+
+	/*
+	 * On some AMD systems, some of the devices on bus 0 are
+	 * inaccessible using memory-mapped PCI config access.  Walk
+	 * bus 0 looking for such devices.  For these devices, we will
+	 * fall back to using type 1 config access instead.
+	 */
+	if (pci_cfgregopen() != 0) {
+		for (slot = 0; slot < 32; slot++) {
+			val1 = pcireg_cfgread(0, slot, 0, 0, 4);
+			if (val1 == 0xffffffff)
+				continue;
+
+			val2 = pciereg_cfgread(0, slot, 0, 0, 4);
+			if (val2 != val1)
+				pcie_badslots |= (1 << slot);
+		}
+	}
+
 	return (1);
 }
 

==== //depot/projects/vimage/src/sys/arm/arm/intr.c#7 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.23 2008/08/04 20:29:39 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.24 2008/09/11 12:36:13 raj Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/syslog.h> 
@@ -92,9 +92,19 @@
 }
 
 int
-arm_remove_irqhandler(void *cookie)
+arm_remove_irqhandler(int irq, void *cookie)
 {
-	return (intr_event_remove_handler(cookie));
+	struct intr_event *event;
+	int error;
+
+	event = intr_events[irq];
+	arm_mask_irq(irq);
+	
+	error = intr_event_remove_handler(cookie);
+
+	if (!TAILQ_EMPTY(&event->ie_handlers))
+		arm_unmask_irq(irq);
+	return (error);
 }
 
 void dosoftints(void);

==== //depot/projects/vimage/src/sys/arm/arm/nexus.c#4 (text+ko) ====

@@ -12,7 +12,7 @@
  * no representations about the suitability of this software for any
  * purpose.  It is provided "as is" without express or implied
  * warranty.
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''.  M.I.T. DISCLAIMS
  * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE,
  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.12 2008/03/12 15:46:25 raj Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.14 2008/09/11 12:39:54 raj Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -76,14 +76,12 @@
 static	int nexus_print_child(device_t, device_t);
 static	device_t nexus_add_child(device_t, int, const char *, int);
 static	struct resource *nexus_alloc_resource(device_t, device_t, int, int *,
-	u_long, u_long, u_long, u_int);
+    u_long, u_long, u_long, u_int);
 static	int nexus_activate_resource(device_t, device_t, int, int,
-	struct resource *);
-static int
-nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags,
-        driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep);
-static int
-nexus_teardown_intr(device_t, device_t, struct resource *, void *);
+    struct resource *);
+static int nexus_setup_intr(device_t dev, device_t child, struct resource *res,
+    int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep);
+static int nexus_teardown_intr(device_t, device_t, struct resource *, void *);
 
 static device_method_t nexus_methods[] = {
 	/* Device interface */
@@ -110,56 +108,48 @@
 nexus_probe(device_t dev)
 {
 	device_quiet(dev);	/* suppress attach message for neatness */
-		
+
 	mem_rman.rm_start = 0;
 	mem_rman.rm_end = ~0u;
 	mem_rman.rm_type = RMAN_ARRAY;
 	mem_rman.rm_descr = "I/O memory addresses";
-	if (rman_init(&mem_rman)
-		|| rman_manage_region(&mem_rman, 0, ~0u))
+	if (rman_init(&mem_rman) || rman_manage_region(&mem_rman, 0, ~0u))
 		panic("nexus_probe mem_rman");
-		
+
 	return (0);
-	return bus_generic_probe(dev);
 }
 
 static int
 nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags,
     driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep)
 {
-	int i;
 
 	if ((rman_get_flags(res) & RF_SHAREABLE) == 0)
 		flags |= INTR_EXCL;
 
-	for (i = rman_get_start(res); i <= rman_get_end(res); i++)
-		arm_setup_irqhandler(device_get_nameunit(child), 
-		    filt, intr, arg, i, flags, cookiep);
+	arm_setup_irqhandler(device_get_nameunit(child), 
+	    filt, intr, arg, rman_get_start(res), flags, cookiep);
 	return (0);
 }
 
 static int
 nexus_teardown_intr(device_t dev, device_t child, struct resource *r, void *ih)
 {
-	int error;
-	int i;
 
-	for (i = rman_get_start(r); i <= rman_get_end(r); i++)
-		arm_mask_irq(i);
-	error = arm_remove_irqhandler(ih);
-	return (error);
+	return (arm_remove_irqhandler(rman_get_start(r), ih));
 }
 
 static int
 nexus_attach(device_t dev)
 {
+
 	/*
 	 * First, deal with the children we know about already
 	 */
 	bus_generic_probe(dev);
 	bus_generic_attach(dev);
-	

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809162128.m8GLSZ79063235>