PERFORCE change 145441 for review

Marko Zec zec at FreeBSD.org
Fri Jul 18 16:43:55 UTC 2008


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

Change 145441 by zec at zec_tpx32 on 2008/07/18 16:43:09

	IFC @ 145420

Affected files ...

.. //depot/projects/vimage-commit2/src/sys/Makefile#2 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/busdma_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/minidump_machdep.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#3 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC.hints#2 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/include/pmap.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/include/vmparam.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/at91/if_atereg.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/i80321/ep80219_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/i8134x/crb_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/xscale/pxa/pxa_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/boot/forth/loader.conf#2 integrate
.. //depot/projects/vimage-commit2/src/sys/boot/pc98/boot2/README.serial.98#2 delete
.. //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_da.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_misc.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_proto.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/freebsd32/syscalls.master#2 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_misc.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/svr4/svr4_stat.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/NOTES#3 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/files#5 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/files.i386#3 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/files.pc98#3 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/kern.post.mk#2 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/newvers.sh#2 integrate
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/COPYRIGHT#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/i386-elf.trlld.o.uu#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/if_oltr.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/if_oltr_isa.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/if_oltr_pci.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/if_oltrvar.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/trlld.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/trlldbm.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/trlldhm.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/contrib/dev/oltr/trlldmac.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/acpi_support/acpi_asus.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/age/if_age.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/arl/if_arl.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/arl/if_arl_isa.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/arl/if_arlreg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-chipset.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ata/ata-pci.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/bm/if_bm.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/bm/if_bmreg.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/bm/if_bmvar.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ciss/ciss.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ciss/cissio.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ciss/cissreg.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ciss/cissvar.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cnw/if_cnw.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/cnw/if_cnwioctl.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/cnw/if_cnwreg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/cs/if_cs.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cs/if_csreg.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_ael1002.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_common.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_mc5.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_t3_hw.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_tn1010.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_vsc8211.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/common/cxgb_xgmac.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_adapter.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_main.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_osdep.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/cxgb_sge.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_pccard.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/et/if_et.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/if_ndis/if_ndis.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/jme/if_jme.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/k8temp/k8temp.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/lmc/if_lmc.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/lmc/if_lmc.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/mxge/if_mxge.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/pccard/pccarddevs#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/re/if_re.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbni.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbni_isa.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbni_pci.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbnireg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/sbni/if_sbnivar.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/sbsh/if_sbsh.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/sbsh/if_sbshreg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/hda/hdac.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/syscons/daemon/daemon_saver.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/ohci.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_ethersubr.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/vr/if_vr.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/vr/if_vrreg.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/fs/cd9660/cd9660_rrip.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/geom/vinum/geom_vinum_drive.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/geom/vinum/geom_vinum_subr.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/conf/GENERIC#3 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/conf/GENERIC.hints#2 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/conf/NOTES#4 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/busdma_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/mp_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/pmap.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/ibcs2/ibcs2_socksys.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/ia64/conf/GENERIC#2 integrate
.. //depot/projects/vimage-commit2/src/sys/ia64/ia64/busdma_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/ia64/ia64/machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/ia64/include/ia64_cpu.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_conf.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_cpuset.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_event.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_exec.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_fork.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_intr.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_jail.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_malloc.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_mib.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_poll.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_xxx.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/link_elf.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/link_elf_obj.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/subr_param.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/subr_stack.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/subr_taskqueue.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_debug.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_socket.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_usrreq.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/vfs_mount.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/libkern/memset.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/adm5120_machdep.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/adm5120reg.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/admpci.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/console.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/files.adm5120#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/if_admsw.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/if_admswreg.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/if_admswvar.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/obio.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/obiovar.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/std.adm5120#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/uart_bus_adm5120.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/uart_cpu_adm5120.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/uart_dev_adm5120.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/adm5120/uart_dev_adm5120.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/files.idt#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/idt_machdep.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/idtpci.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/idtreg.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/if_kr.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/if_krreg.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/obio.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/obiovar.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/std.idt#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/uart_bus_rc32434.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/idt/uart_cpu_rc32434.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/files.malta#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/gt.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/gt_pci.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/gtreg.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/gtvar.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/malta_machdep.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/maltareg.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/obio.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/obiovar.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/std.malta#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/uart_bus_maltausart.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/uart_cpu_maltausart.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/yamon.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/malta/yamon.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/mips/pmap.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/adm5120_machdep.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/adm5120reg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/admpci.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/console.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/files.adm5120#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/if_admsw.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/if_admswreg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/if_admswvar.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/obio.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/obiovar.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/std.adm5120#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/uart_bus_adm5120.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/uart_cpu_adm5120.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/uart_dev_adm5120.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/adm5120/uart_dev_adm5120.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/files.idt#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/idt_machdep.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/idtpci.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/idtreg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/if_kr.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/if_krreg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/obio.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/obiovar.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/std.idt#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/uart_bus_rc32434.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/idt/uart_cpu_rc32434.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/files.malta#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/gt.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/gt_pci.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/gtreg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/gtvar.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/malta_machdep.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/maltareg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/obio.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/obiovar.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/std.malta#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/uart_bus_maltausart.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/uart_cpu_maltausart.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/yamon.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/malta/yamon.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/files.sentry5#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/obio.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/obiovar.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/s5_machdep.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/s5reg.h#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/siba_cc.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/siba_mips.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/siba_sdram.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/uart_bus_sbusart.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/mips32/sentry5/uart_cpu_sbusart.c#2 delete
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/files.sentry5#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/obio.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/obiovar.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/s5_machdep.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/s5reg.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/siba_cc.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/siba_mips.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/siba_sdram.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/uart_bus_sbusart.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/mips/sentry5/uart_cpu_sbusart.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/modules/Makefile#4 integrate
.. //depot/projects/vimage-commit2/src/sys/modules/arl/Makefile#2 delete
.. //depot/projects/vimage-commit2/src/sys/modules/cnw/Makefile#2 delete
.. //depot/projects/vimage-commit2/src/sys/modules/cxgb/cxgb/Makefile#2 integrate
.. //depot/projects/vimage-commit2/src/sys/modules/oltr/Makefile#2 delete
.. //depot/projects/vimage-commit2/src/sys/modules/sbni/Makefile#2 delete
.. //depot/projects/vimage-commit2/src/sys/modules/sbsh/Makefile#2 delete
.. //depot/projects/vimage-commit2/src/sys/net/bpf.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/bpf.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/bpf_zerocopy.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/bpf_zerocopy.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_bridge.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_lagg.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_ppp.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_vlan.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net/netisr.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/netisr.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/raw_cb.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net/raw_cb.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net/raw_usrreq.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net/rtsock.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_ht.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_output.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netatalk/ddp_usrreq.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/TODO#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/include/ng_bluetooth.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/include/ng_btsocket.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/ng_base.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/ng_iface.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/ng_ip_input.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/if_ether.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_carp.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_gre.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/raw_ip.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_asconf.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_asconf.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_bsd_addr.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_bsd_addr.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_cc_functions.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_constants.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_crc32.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_indata.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_indata.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_input.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_input.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_os_bsd.h#6 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_output.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_output.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_pcb.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_pcb.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_sysctl.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_timer.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_timer.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_uio.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_usrreq.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctp_var.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctputil.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/sctputil.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_output.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/frag6.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/icmp6.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6_ifattach.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6_pcb.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6_pcb.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6_src.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_forward.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_var.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/raw_ip6.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/sctp6_usrreq.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/sctp6_var.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/udp6_usrreq.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netipsec/keysock.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netipx/ipx_input.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netnatm/natm_proto.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/nfsclient/bootp_subr.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/nfsclient/nfs_vfsops.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/nlm/nlm_advlock.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/nlm/nlm_prot_impl.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/pc98/conf/GENERIC#2 integrate
.. //depot/projects/vimage-commit2/src/sys/pc98/conf/NOTES#3 integrate
.. //depot/projects/vimage-commit2/src/sys/pc98/include/bus.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/pc98/pc98/busiosubr.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/pci/if_rlreg.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/conf/GENERIC#2 integrate
.. //depot/projects/vimage-commit2/src/sys/rpc/authunix_prot.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/sparc64/conf/GENERIC#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sparc64/include/in_cksum.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/sparc64/sparc64/in_cksum.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sun4v/conf/GENERIC#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/_task.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/event.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/eventhandler.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/imgact.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/interrupt.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/ioctl_compat.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/kernel.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/libkern.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/link_elf.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/taskqueue.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/termios.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/ttycom.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/vm/swap_pager.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/vm/vm_kern.h#2 integrate

Differences ...

==== //depot/projects/vimage-commit2/src/sys/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/Makefile,v 1.49 2008/05/26 10:39:52 bz Exp $
+# $FreeBSD: src/sys/Makefile,v 1.50 2008/07/10 16:03:24 obrien Exp $
 
 .include <bsd.own.mk>
 
@@ -12,9 +12,12 @@
 		gnu isa kern libkern modules net net80211 netatalk \
 		netgraph netinet netinet6 netipsec netipx netnatm netncp \
 		netsmb nfs nfs4client nfsclient nfsserver opencrypto pccard \
-		pci rpc security sys ufs vm ${ARCHDIR}
-
-ARCHDIR	?=	${MACHINE}
+		pci rpc security sys ufs vm ${CSCOPE_ARCHDIR}
+.if defined(ALL_ARCH)
+CSCOPE_ARCHDIR ?= amd64 arm i386 ia64 mips powerpc sparc64
+.else
+CSCOPE_ARCHDIR ?= ${MACHINE}
+.endif
 
 # Loadable kernel modules
 

==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/busdma_machdep.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.85 2008/02/12 16:24:30 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.86 2008/07/15 03:34:49 alc Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -480,8 +480,6 @@
 		mflags = M_NOWAIT;
 	else
 		mflags = M_WAITOK;
-	if (flags & BUS_DMA_ZERO)
-		mflags |= M_ZERO;
 
 	/* If we succeed, no mapping/bouncing will be required */
 	*mapp = NULL;
@@ -489,13 +487,15 @@
 	if (dmat->segments == NULL) {
 		dmat->segments = (bus_dma_segment_t *)malloc(
 		    sizeof(bus_dma_segment_t) * dmat->nsegments, M_DEVBUF,
-		    M_NOWAIT);
+		    mflags);
 		if (dmat->segments == NULL) {
 			CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
 			    __func__, dmat, dmat->flags, ENOMEM);
 			return (ENOMEM);
 		}
 	}
+	if (flags & BUS_DMA_ZERO)
+		mflags |= M_ZERO;
 
 	/* 
 	 * XXX:
@@ -531,7 +531,7 @@
 		pmap_change_attr((vm_offset_t)*vaddr, dmat->maxsize,
 		    PAT_UNCACHEABLE);
 	CTR4(KTR_BUSDMA, "%s: tag %p tag flags 0x%x error %d",
-	    __func__, dmat, dmat->flags, ENOMEM);
+	    __func__, dmat, dmat->flags, 0);
 	return (0);
 }
 

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

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.686 2008/04/25 05:18:47 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.687 2008/07/09 19:44:37 peter Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -1466,6 +1466,10 @@
 	_udatasel = GSEL(GUDATA_SEL, SEL_UPL);
 	_ucode32sel = GSEL(GUCODE32_SEL, SEL_UPL);
 
+	load_ds(_udatasel);
+	load_es(_udatasel);
+	load_fs(_udatasel);
+
 	/* setup proc 0's pcb */
 	thread0.td_pcb->pcb_flags = 0;
 	thread0.td_pcb->pcb_cr3 = KPML4phys;

==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/minidump_machdep.c#7 (text) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.5 2008/06/20 20:59:31 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.6 2008/07/08 04:00:22 alc Exp $");
 
 #include "opt_vimage.h"
 
@@ -209,7 +209,8 @@
 	/* Walk page table pages, set bits in vm_page_dump */
 	ptesize = 0;
 	pdp = (uint64_t *)PHYS_TO_DMAP(KPDPphys);
-	for (va = VM_MIN_KERNEL_ADDRESS; va < kernel_vm_end; va += NBPDR) {
+	for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + NKPT * NBPDR,
+	    kernel_vm_end); va += NBPDR) {
 		i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1);
 		/*
 		 * We always write a page, even if it is zero. Each
@@ -315,7 +316,8 @@
 
 	/* Dump kernel page table pages */
 	pdp = (uint64_t *)PHYS_TO_DMAP(KPDPphys);
-	for (va = VM_MIN_KERNEL_ADDRESS; va < kernel_vm_end; va += NBPDR) {
+	for (va = VM_MIN_KERNEL_ADDRESS; va < MAX(KERNBASE + NKPT * NBPDR,
+	    kernel_vm_end); va += NBPDR) {
 		i = (va >> PDPSHIFT) & ((1ul << NPDPEPGSHIFT) - 1);
 		/* We always write a page, even if it is zero */
 		if ((pdp[i] & PG_V) == 0) {

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

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.289 2008/03/10 01:32:48 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.291 2008/07/09 19:44:37 peter Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -79,7 +79,6 @@
 
 int	mp_naps;		/* # of Applications processors */
 int	boot_cpu_id = -1;	/* designated BSP */
-extern	int nkpt;
 
 extern  struct pcpu __pcpu[];
 
@@ -99,6 +98,8 @@
 /* SMP page table page */
 extern pt_entry_t *SMPpt;
 
+extern int  _udatasel;
+
 struct pcb stoppcbs[MAXCPU];
 
 /* Variables needed for SMP tlb shootdown. */
@@ -565,7 +566,9 @@
 	 */
 
 	load_cr4(rcr4() | CR4_PGE);
-
+	load_ds(_udatasel);
+	load_es(_udatasel);
+	load_fs(_udatasel);
 	mtx_unlock_spin(&ap_boot_mtx);
 
 	/* wait until all the AP's are up */

==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/pmap.c#5 (text+ko) ====

@@ -77,7 +77,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.624 2008/07/02 05:41:23 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.632 2008/07/13 18:19:53 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -175,7 +175,7 @@
 
 static int ndmpdp;
 static vm_paddr_t dmaplimit;
-vm_offset_t kernel_vm_end;
+vm_offset_t kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
 pt_entry_t pg_nx;
 
 SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters");
@@ -226,6 +226,7 @@
     vm_prot_t prot);
 static vm_page_t pmap_enter_quick_locked(pmap_t pmap, vm_offset_t va,
     vm_page_t m, vm_prot_t prot, vm_page_t mpte);
+static void pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte);
 static void pmap_insert_pt_page(pmap_t pmap, vm_page_t mpte);
 static boolean_t pmap_is_modified_pvh(struct md_page *pvh);
 static vm_page_t pmap_lookup_pt_page(pmap_t pmap, vm_offset_t va);
@@ -440,10 +441,8 @@
 	/* Read-only from zero to physfree */
 	/* XXX not fully used, underneath 2M pages */
 	for (i = 0; (i << PAGE_SHIFT) < *firstaddr; i++) {
-		((pt_entry_t *)KPTphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
-		    PAGE_SIZE + i] = i << PAGE_SHIFT;
-		((pt_entry_t *)KPTphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
-		    PAGE_SIZE + i] |= PG_RW | PG_V | PG_G;
+		((pt_entry_t *)KPTphys)[i] = i << PAGE_SHIFT;
+		((pt_entry_t *)KPTphys)[i] |= PG_RW | PG_V | PG_G;
 	}
 
 	/* Now map the page tables at their location within PTmap */
@@ -455,10 +454,8 @@
 	/* Map from zero to end of allocations under 2M pages */
 	/* This replaces some of the KPTphys entries above */
 	for (i = 0; (i << PDRSHIFT) < *firstaddr; i++) {
-		((pd_entry_t *)KPDphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
-		    NBPDR + i] = i << PDRSHIFT;
-		((pd_entry_t *)KPDphys)[(KERNBASE - VM_MIN_KERNEL_ADDRESS) /
-		    NBPDR + i] |= PG_RW | PG_V | PG_PS | PG_G;
+		((pd_entry_t *)KPDphys)[i] = i << PDRSHIFT;
+		((pd_entry_t *)KPDphys)[i] |= PG_RW | PG_V | PG_PS | PG_G;
 	}
 
 	/* And connect up the PD to the PDP */
@@ -469,11 +466,12 @@
 	}
 
 	/* Now set up the direct map space using either 2MB or 1GB pages */
+	/* Preset PG_M and PG_A because demotion expects it */
 	if ((amd_feature & AMDID_PAGE1GB) == 0) {
 		for (i = 0; i < NPDEPG * ndmpdp; i++) {
 			((pd_entry_t *)DMPDphys)[i] = (vm_paddr_t)i << PDRSHIFT;
 			((pd_entry_t *)DMPDphys)[i] |= PG_RW | PG_V | PG_PS |
-			    PG_G;
+			    PG_G | PG_M | PG_A;
 		}
 		/* And the direct map space's PDP */
 		for (i = 0; i < ndmpdp; i++) {
@@ -486,7 +484,7 @@
 			((pdp_entry_t *)DMPDPphys)[i] =
 			    (vm_paddr_t)i << PDPSHIFT;
 			((pdp_entry_t *)DMPDPphys)[i] |= PG_RW | PG_V | PG_PS |
-			    PG_G;
+			    PG_G | PG_M | PG_A;
 		}
 	}
 
@@ -647,15 +645,17 @@
 	 * Initialize the vm page array entries for the kernel pmap's
 	 * page table pages.
 	 */ 
-	pd = pmap_pde(kernel_pmap, VM_MIN_KERNEL_ADDRESS);
+	pd = pmap_pde(kernel_pmap, KERNBASE);
 	for (i = 0; i < NKPT; i++) {
 		if ((pd[i] & (PG_PS | PG_V)) == (PG_PS | PG_V))
 			continue;
+		KASSERT((pd[i] & PG_V) != 0,
+		    ("pmap_init: page table page is missing"));
 		mpte = PHYS_TO_VM_PAGE(pd[i] & PG_FRAME);
 		KASSERT(mpte >= vm_page_array &&
 		    mpte < &vm_page_array[vm_page_array_size],
 		    ("pmap_init: page table page is out of range"));
-		mpte->pindex = pmap_pde_pindex(VM_MIN_KERNEL_ADDRESS) + i;
+		mpte->pindex = pmap_pde_pindex(KERNBASE) + i;
 		mpte->phys_addr = pd[i] & PG_FRAME;
 	}
 
@@ -1041,17 +1041,25 @@
 vm_paddr_t
 pmap_kextract(vm_offset_t va)
 {
-	pd_entry_t *pde;
+	pd_entry_t pde;
 	vm_paddr_t pa;
 
 	if (va >= DMAP_MIN_ADDRESS && va < DMAP_MAX_ADDRESS) {
 		pa = DMAP_TO_PHYS(va);
 	} else {
-		pde = vtopde(va);
-		if (*pde & PG_PS) {
-			pa = (*pde & PG_PS_FRAME) | (va & PDRMASK);
+		pde = *vtopde(va);
+		if (pde & PG_PS) {
+			pa = (pde & PG_PS_FRAME) | (va & PDRMASK);
 		} else {
-			pa = *vtopte(va);
+			/*
+			 * Beware of a concurrent promotion that changes the
+			 * PDE at this point!  For example, vtopte() must not
+			 * be used to access the PTE because it would use the
+			 * new PDE.  It is, however, safe to use the old PDE
+			 * because the page table page is preserved by the
+			 * promotion.
+			 */
+			pa = *pmap_pde_to_pte(&pde, va);
 			pa = (pa & PG_FRAME) | (va & PAGE_MASK);
 		}
 	}
@@ -1701,39 +1709,50 @@
 	vm_paddr_t paddr;
 	vm_page_t nkpg;
 	pd_entry_t *pde, newpdir;
-	pdp_entry_t newpdp;
+	pdp_entry_t *pdpe;
 
 	mtx_assert(&kernel_map->system_mtx, MA_OWNED);
-	if (kernel_vm_end == 0) {
-		kernel_vm_end = VM_MIN_KERNEL_ADDRESS;
-		while ((*pmap_pde(kernel_pmap, kernel_vm_end) & PG_V) != 0) {
-			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
-			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
-				kernel_vm_end = kernel_map->max_offset;
-				break;                       
-			}
-		}
-	}
-	addr = roundup2(addr, PAGE_SIZE * NPTEPG);
+
+	/*
+	 * Return if "addr" is within the range of kernel page table pages
+	 * that were preallocated during pmap bootstrap.  Moreover, leave
+	 * "kernel_vm_end" and the kernel page table as they were.
+	 *
+	 * The correctness of this action is based on the following
+	 * argument: vm_map_findspace() allocates contiguous ranges of the
+	 * kernel virtual address space.  It calls this function if a range
+	 * ends after "kernel_vm_end".  If the kernel is mapped between
+	 * "kernel_vm_end" and "addr", then the range cannot begin at
+	 * "kernel_vm_end".  In fact, its beginning address cannot be less
+	 * than the kernel.  Thus, there is no immediate need to allocate
+	 * any new kernel page table pages between "kernel_vm_end" and
+	 * "KERNBASE".
+	 */
+	if (KERNBASE < addr && addr <= KERNBASE + NKPT * NBPDR)
+		return;
+
+	addr = roundup2(addr, NBPDR);
 	if (addr - 1 >= kernel_map->max_offset)
 		addr = kernel_map->max_offset;
 	while (kernel_vm_end < addr) {
-		pde = pmap_pde(kernel_pmap, kernel_vm_end);
-		if (pde == NULL) {
+		pdpe = pmap_pdpe(kernel_pmap, kernel_vm_end);
+		if ((*pdpe & PG_V) == 0) {
 			/* We need a new PDP entry */
 			nkpg = vm_page_alloc(NULL, kernel_vm_end >> PDPSHIFT,
-			    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
+			    VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ |
+			    VM_ALLOC_WIRED | VM_ALLOC_ZERO);
 			if (nkpg == NULL)
 				panic("pmap_growkernel: no memory to grow kernel");
-			pmap_zero_page(nkpg);
+			if ((nkpg->flags & PG_ZERO) == 0)
+				pmap_zero_page(nkpg);
 			paddr = VM_PAGE_TO_PHYS(nkpg);
-			newpdp = (pdp_entry_t)
+			*pdpe = (pdp_entry_t)
 				(paddr | PG_V | PG_RW | PG_A | PG_M);
-			*pmap_pdpe(kernel_pmap, kernel_vm_end) = newpdp;
 			continue; /* try again */
 		}
+		pde = pmap_pdpe_to_pde(pdpe, kernel_vm_end);
 		if ((*pde & PG_V) != 0) {
-			kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
+			kernel_vm_end = (kernel_vm_end + NBPDR) & ~PDRMASK;
 			if (kernel_vm_end - 1 >= kernel_map->max_offset) {
 				kernel_vm_end = kernel_map->max_offset;
 				break;                       
@@ -1742,15 +1761,17 @@
 		}
 
 		nkpg = vm_page_alloc(NULL, pmap_pde_pindex(kernel_vm_end),
-		    VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED);
+		    VM_ALLOC_INTERRUPT | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED |
+		    VM_ALLOC_ZERO);
 		if (nkpg == NULL)
 			panic("pmap_growkernel: no memory to grow kernel");
-		pmap_zero_page(nkpg);
+		if ((nkpg->flags & PG_ZERO) == 0)
+			pmap_zero_page(nkpg);
 		paddr = VM_PAGE_TO_PHYS(nkpg);
 		newpdir = (pd_entry_t) (paddr | PG_V | PG_RW | PG_A | PG_M);
-		*pmap_pde(kernel_pmap, kernel_vm_end) = newpdir;
+		pde_store(pde, newpdir);
 
-		kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1);
+		kernel_vm_end = (kernel_vm_end + NBPDR) & ~PDRMASK;
 		if (kernel_vm_end - 1 >= kernel_map->max_offset) {
 			kernel_vm_end = kernel_map->max_offset;
 			break;                       
@@ -2186,58 +2207,88 @@
 }
 
 /*
- * Tries to demote a 2MB page mapping.
+ * Fills a page table page with mappings to consecutive physical pages.
+ */
+static void
+pmap_fill_ptp(pt_entry_t *firstpte, pt_entry_t newpte)
+{
+	pt_entry_t *pte;
+
+	for (pte = firstpte; pte < firstpte + NPTEPG; pte++) {
+		*pte = newpte;
+		newpte += PAGE_SIZE;
+	}
+}
+
+/*
+ * Tries to demote a 2MB page mapping.  If demotion fails, the 2MB page
+ * mapping is invalidated.
  */
 static boolean_t
 pmap_demote_pde(pmap_t pmap, pd_entry_t *pde, vm_offset_t va)
 {
 	pd_entry_t newpde, oldpde;
-	pt_entry_t *firstpte, newpte, *pte;
+	pt_entry_t *firstpte, newpte;
 	vm_paddr_t mptepa;
 	vm_page_t free, mpte;
 
 	PMAP_LOCK_ASSERT(pmap, MA_OWNED);
+	oldpde = *pde;
+	KASSERT((oldpde & (PG_PS | PG_V)) == (PG_PS | PG_V),
+	    ("pmap_demote_pde: oldpde is missing PG_PS and/or PG_V"));
 	mpte = pmap_lookup_pt_page(pmap, va);
 	if (mpte != NULL)
 		pmap_remove_pt_page(pmap, mpte);
 	else {
-		KASSERT((*pde & PG_W) == 0,
+		KASSERT((oldpde & PG_W) == 0,
 		    ("pmap_demote_pde: page table page for a wired mapping"
 		    " is missing"));
-		free = NULL;
-		pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free);
-		pmap_invalidate_page(pmap, trunc_2mpage(va));
-		pmap_free_zero_pages(free);
-		CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
-		    " in pmap %p", va, pmap);
-		return (FALSE);
+
+		/*
+		 * Invalidate the 2MB page mapping and return "failure" if the
+		 * mapping was never accessed or the allocation of the new
+		 * page table page fails.
+		 */
+		if ((oldpde & PG_A) == 0 || (mpte = vm_page_alloc(NULL,
+		    pmap_pde_pindex(va), VM_ALLOC_NOOBJ | VM_ALLOC_NORMAL |
+		    VM_ALLOC_WIRED)) == NULL) {
+			free = NULL;
+			pmap_remove_pde(pmap, pde, trunc_2mpage(va), &free);
+			pmap_invalidate_page(pmap, trunc_2mpage(va));
+			pmap_free_zero_pages(free);
+			CTR2(KTR_PMAP, "pmap_demote_pde: failure for va %#lx"
+			    " in pmap %p", va, pmap);
+			return (FALSE);
+		}
 	}
 	mptepa = VM_PAGE_TO_PHYS(mpte);
 	firstpte = (pt_entry_t *)PHYS_TO_DMAP(mptepa);
-	oldpde = *pde;
 	newpde = mptepa | PG_M | PG_A | (oldpde & PG_U) | PG_RW | PG_V;
-	KASSERT((oldpde & (PG_A | PG_V)) == (PG_A | PG_V),
-	    ("pmap_demote_pde: oldpde is missing PG_A and/or PG_V"));
+	KASSERT((oldpde & PG_A) != 0,
+	    ("pmap_demote_pde: oldpde is missing PG_A"));
 	KASSERT((oldpde & (PG_M | PG_RW)) != PG_RW,
 	    ("pmap_demote_pde: oldpde is missing PG_M"));
-	KASSERT((oldpde & PG_PS) != 0,
-	    ("pmap_demote_pde: oldpde is missing PG_PS"));
 	newpte = oldpde & ~PG_PS;
 	if ((newpte & PG_PDE_PAT) != 0)
 		newpte ^= PG_PDE_PAT | PG_PTE_PAT;
 
 	/*
-	 * If the mapping has changed attributes, update the page table
-	 * entries.
+	 * If the page table page is new, initialize it.
 	 */
+	if (mpte->wire_count == 1) {
+		mpte->wire_count = NPTEPG;
+		pmap_fill_ptp(firstpte, newpte);
+	}
 	KASSERT((*firstpte & PG_FRAME) == (newpte & PG_FRAME),
 	    ("pmap_demote_pde: firstpte and newpte map different physical"
 	    " addresses"));
+
+	/*
+	 * If the mapping has changed attributes, update the page table
+	 * entries.
+	 */
 	if ((*firstpte & PG_PTE_PROMOTE) != (newpte & PG_PTE_PROMOTE))
-		for (pte = firstpte; pte < firstpte + NPTEPG; pte++) {
-			*pte = newpte;
-			newpte += PAGE_SIZE;
-		}
+		pmap_fill_ptp(firstpte, newpte);
 
 	/*
 	 * Demote the mapping.  This pmap is locked.  The old PDE has

==== //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC#3 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.502 2008/06/20 19:28:33 delphij Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.504 2008/07/13 07:20:14 ed Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -64,6 +64,7 @@
 options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
 options 	STOP_NMI		# Stop CPUS using NMI instead of IPI
 options 	AUDIT			# Security event auditing
+options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
 
 # Debugging for use in -current
 options 	KDB			# Enable kernel debugger support.
@@ -171,7 +172,6 @@
 device		cardbus		# CardBus (32-bit) bus
 
 # Serial (COM) ports
-device		sio		# 8250, 16[45]50 based serial ports
 device		uart		# Generic UART driver
 
 # Parallel port

==== //depot/projects/vimage-commit2/src/sys/amd64/conf/GENERIC.hints#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.18 2007/10/15 20:00:20 netchild Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC.hints,v 1.19 2008/07/13 07:20:14 ed Exp $
 hint.fdc.0.at="isa"
 hint.fdc.0.port="0x3F0"
 hint.fdc.0.irq="6"
@@ -16,20 +16,20 @@
 hint.vga.0.at="isa"
 hint.sc.0.at="isa"
 hint.sc.0.flags="0x100"
-hint.sio.0.at="isa"
-hint.sio.0.port="0x3F8"
-hint.sio.0.flags="0x10"
-hint.sio.0.irq="4"
-hint.sio.1.at="isa"
-hint.sio.1.port="0x2F8"
-hint.sio.1.irq="3"
-hint.sio.2.at="isa"
-hint.sio.2.disabled="1"
-hint.sio.2.port="0x3E8"
-hint.sio.2.irq="5"
-hint.sio.3.at="isa"
-hint.sio.3.disabled="1"
-hint.sio.3.port="0x2E8"
-hint.sio.3.irq="9"
+hint.uart.0.at="isa"
+hint.uart.0.port="0x3F8"
+hint.uart.0.flags="0x10"
+hint.uart.0.irq="4"
+hint.uart.1.at="isa"
+hint.uart.1.port="0x2F8"
+hint.uart.1.irq="3"
+hint.uart.2.at="isa"
+hint.uart.2.disabled="1"
+hint.uart.2.port="0x3E8"
+hint.uart.2.irq="5"
+hint.uart.3.at="isa"
+hint.uart.3.disabled="1"
+hint.uart.3.port="0x2E8"
+hint.uart.3.irq="9"
 hint.ppc.0.at="isa"
 hint.ppc.0.irq="7"

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

@@ -39,7 +39,7 @@
  *
  *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
  *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.143 2008/06/30 02:35:55 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.146 2008/07/08 22:59:17 alc Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -111,7 +111,7 @@
 
 /* Initial number of kernel page tables. */
 #ifndef NKPT
-#define	NKPT		2288
+#define	NKPT		32
 #endif
 
 #define NKPML4E		1		/* number of kernel PML4 slots */
@@ -131,7 +131,7 @@
 #define	KPML4I		(NPML4EPG-1)	/* Top 512GB for KVM */
 #define	DMPML4I		(KPML4I-1)	/* Next 512GB down for direct map */
 
-#define	KPDPI		(NPDPEPG-6)	/* kernel map starts at -6GB */
+#define	KPDPI		(NPDPEPG-2)	/* kernbase at -2GB */
 
 /*
  * XXX doesn't really belong here I guess...

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

@@ -38,7 +38,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)vmparam.h	5.9 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.53 2008/06/30 03:14:39 alc Exp $
+ * $FreeBSD: src/sys/amd64/include/vmparam.h,v 1.56 2008/07/08 22:59:17 alc Exp $
  */
 
 
@@ -154,8 +154,8 @@
  * 0xffff800000000000 - 0xffff804020100fff   recursive page table (512GB slot)
  * 0xffff804020101000 - 0xfffffeffffffffff   unused
  * 0xffffff0000000000 - 0xffffff7fffffffff   512GB direct map mappings
- * 0xffffff8000000000 - 0xfffffffe7fffffff   unused (506GB)
- * 0xfffffffe80000000 - 0xffffffffffffffff   6GB kernel map
+ * 0xffffff8000000000 - 0xfffffffe3fffffff   unused (505GB)
+ * 0xfffffffe40000000 - 0xffffffffffffffff   7GB kernel map
  *
  * Within the kernel map:
  *
@@ -163,12 +163,12 @@
  */
 
 #define	VM_MAX_KERNEL_ADDRESS	KVADDR(KPML4I, NPDPEPG-1, NPDEPG-1, NPTEPG-1)
-#define	VM_MIN_KERNEL_ADDRESS	KVADDR(KPML4I, KPDPI, 0, 0)
+#define	VM_MIN_KERNEL_ADDRESS	KVADDR(KPML4I, NPDPEPG-7, 0, 0)
 
 #define	DMAP_MIN_ADDRESS	KVADDR(DMPML4I, 0, 0, 0)
 #define	DMAP_MAX_ADDRESS	KVADDR(DMPML4I+1, 0, 0, 0)
 
-#define	KERNBASE		MAX(0xffffffff80000000ul, VM_MIN_KERNEL_ADDRESS)
+#define	KERNBASE		KVADDR(KPML4I, KPDPI, 0, 0)
 
 #define	UPT_MAX_ADDRESS		KVADDR(PML4PML4I, PML4PML4I, PML4PML4I, PML4PML4I)
 #define	UPT_MIN_ADDRESS		KVADDR(PML4PML4I, 0, 0, 0)
@@ -202,7 +202,8 @@
  * Ceiling on amount of kmem_map kva space.
  */
 #ifndef VM_KMEM_SIZE_MAX
-#define	VM_KMEM_SIZE_MAX	(400 * 1024 * 1024)

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


More information about the p4-projects mailing list