PERFORCE change 136749 for review

Rui Paulo rpaulo at FreeBSD.org
Mon Mar 3 16:17:35 UTC 2008


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

Change 136749 by rpaulo at rpaulo_vmware on 2008/03/03 16:17:21

	IFC

Affected files ...

.. //depot/projects/tcpecn/amd64/amd64/identcpu.c#4 integrate
.. //depot/projects/tcpecn/amd64/amd64/mp_machdep.c#2 integrate
.. //depot/projects/tcpecn/amd64/include/smp.h#2 integrate
.. //depot/projects/tcpecn/arm/include/_bus.h#2 integrate
.. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425.c#2 integrate
.. //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_iic.c#2 integrate
.. //depot/projects/tcpecn/boot/common/bootstrap.h#2 integrate
.. //depot/projects/tcpecn/boot/common/load_elf.c#2 integrate
.. //depot/projects/tcpecn/boot/i386/boot2/boot2.c#2 integrate
.. //depot/projects/tcpecn/boot/i386/btx/btx/Makefile#2 integrate
.. //depot/projects/tcpecn/boot/i386/btx/btx/btx.S#2 integrate
.. //depot/projects/tcpecn/boot/i386/gptboot/gptboot.c#2 integrate
.. //depot/projects/tcpecn/boot/i386/libi386/biosdisk.c#2 integrate
.. //depot/projects/tcpecn/boot/pc98/btx/btx/Makefile#2 integrate
.. //depot/projects/tcpecn/boot/pc98/btx/btx/btx.S#2 integrate
.. //depot/projects/tcpecn/boot/pc98/libpc98/Makefile#2 integrate
.. //depot/projects/tcpecn/boot/pc98/libpc98/biosdisk.c#2 integrate
.. //depot/projects/tcpecn/boot/powerpc/Makefile#3 integrate
.. //depot/projects/tcpecn/boot/powerpc/ofw/Makefile#4 integrate
.. //depot/projects/tcpecn/boot/powerpc/uboot/Makefile#2 integrate
.. //depot/projects/tcpecn/boot/powerpc/uboot/conf.c#2 integrate
.. //depot/projects/tcpecn/boot/powerpc/uboot/metadata.c#2 integrate
.. //depot/projects/tcpecn/boot/powerpc/uboot/start.S#2 integrate
.. //depot/projects/tcpecn/boot/uboot/common/main.c#2 integrate
.. //depot/projects/tcpecn/boot/uboot/lib/Makefile#2 integrate
.. //depot/projects/tcpecn/boot/uboot/lib/api_public.h#2 integrate
.. //depot/projects/tcpecn/boot/uboot/lib/glue.c#2 integrate
.. //depot/projects/tcpecn/boot/uboot/lib/glue.h#1 branch
.. //depot/projects/tcpecn/cam/cam_xpt.c#5 integrate
.. //depot/projects/tcpecn/cam/scsi/scsi_ses.c#2 integrate
.. //depot/projects/tcpecn/compat/linux/linux_futex.c#2 integrate
.. //depot/projects/tcpecn/compat/linux/linux_misc.c#3 integrate
.. //depot/projects/tcpecn/compat/linux/linux_misc.h#2 integrate
.. //depot/projects/tcpecn/conf/NOTES#6 integrate
.. //depot/projects/tcpecn/conf/files#6 integrate
.. //depot/projects/tcpecn/conf/files.powerpc#4 integrate
.. //depot/projects/tcpecn/conf/ldscript.powerpc#2 integrate
.. //depot/projects/tcpecn/conf/options#6 integrate
.. //depot/projects/tcpecn/conf/options.powerpc#3 integrate
.. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate
.. //depot/projects/tcpecn/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate
.. //depot/projects/tcpecn/dev/atkbdc/psm.c#2 integrate
.. //depot/projects/tcpecn/dev/bce/if_bce.c#2 integrate
.. //depot/projects/tcpecn/dev/bce/if_bcefw.h#2 integrate
.. //depot/projects/tcpecn/dev/bce/if_bcereg.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/bin2h.pl#1 branch
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_ael1002.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_common.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_firmware_exports.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_mc5.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_mv88e1xxx.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_regs.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_cpl.h#4 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_t3_hw.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_tcb.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_version.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_vsc8211.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/common/cxgb_xgmac.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_adapter.h#4 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_ioctl.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_l2t.c#4 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_l2t.h#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_main.c#4 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_multiq.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_offload.c#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_osdep.h#4 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_sge.c#5 integrate
.. //depot/projects/tcpecn/dev/cxgb/cxgb_t3fw.c#1 branch
.. //depot/projects/tcpecn/dev/cxgb/cxgb_t3fw.h#1 branch
.. //depot/projects/tcpecn/dev/cxgb/sys/cxgb_support.c#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/sys/mbufq.h#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/sys/mvec.h#5 integrate
.. //depot/projects/tcpecn/dev/cxgb/sys/uipc_mvec.c#5 integrate
.. //depot/projects/tcpecn/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#2 delete
.. //depot/projects/tcpecn/dev/cxgb/t3b_protocol_sram.h#1 branch
.. //depot/projects/tcpecn/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#2 delete
.. //depot/projects/tcpecn/dev/cxgb/t3b_tp_eeprom.h#1 branch
.. //depot/projects/tcpecn/dev/cxgb/t3cdev.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/t3fw-4.7.0.bin.gz.uu#2 delete
.. //depot/projects/tcpecn/dev/cxgb/ulp/toecore/cxgb_toedev.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#3 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_ddp.c#1 branch
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_defs.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_listen.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_t3_ddp.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp_subr.c#2 delete
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tcp_usrreq.c#2 delete
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom.h#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_tom_sysctl.c#2 integrate
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_vm.c#1 branch
.. //depot/projects/tcpecn/dev/cxgb/ulp/tom/cxgb_vm.h#1 branch
.. //depot/projects/tcpecn/dev/drm/drm_pciids.h#2 integrate
.. //depot/projects/tcpecn/dev/em/LICENSE#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_80003es2lan.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_80003es2lan.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82540.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82541.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82541.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82542.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82543.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82543.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82571.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82571.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_82575.c#2 delete
.. //depot/projects/tcpecn/dev/em/e1000_82575.h#2 delete
.. //depot/projects/tcpecn/dev/em/e1000_api.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_api.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_defines.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_hw.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_ich8lan.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_ich8lan.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_mac.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_mac.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_manage.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_manage.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_nvm.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_nvm.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_osdep.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_phy.c#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_phy.h#2 integrate
.. //depot/projects/tcpecn/dev/em/e1000_regs.h#2 integrate
.. //depot/projects/tcpecn/dev/em/if_em.c#3 integrate
.. //depot/projects/tcpecn/dev/em/if_em.h#3 integrate
.. //depot/projects/tcpecn/dev/igb/e1000_82575.c#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_82575.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_api.c#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_api.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_defines.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_hw.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_mac.c#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_mac.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_manage.c#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_manage.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_nvm.c#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_nvm.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_osdep.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_phy.c#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_phy.h#1 branch
.. //depot/projects/tcpecn/dev/igb/e1000_regs.h#1 branch
.. //depot/projects/tcpecn/dev/igb/if_igb.c#1 branch
.. //depot/projects/tcpecn/dev/igb/if_igb.h#1 branch
.. //depot/projects/tcpecn/dev/md/md.c#3 integrate
.. //depot/projects/tcpecn/dev/msk/if_msk.c#5 integrate
.. //depot/projects/tcpecn/dev/msk/if_mskreg.h#3 integrate
.. //depot/projects/tcpecn/dev/re/if_re.c#4 integrate
.. //depot/projects/tcpecn/dev/usb/ehci.c#4 integrate
.. //depot/projects/tcpecn/dev/usb/ubsa.c#2 integrate
.. //depot/projects/tcpecn/dev/usb/ucom.c#2 integrate
.. //depot/projects/tcpecn/dev/usb/umass.c#3 integrate
.. //depot/projects/tcpecn/dev/usb/usbdevs#5 integrate
.. //depot/projects/tcpecn/dev/usb/uscanner.c#2 integrate
.. //depot/projects/tcpecn/fs/coda/TODO#3 integrate
.. //depot/projects/tcpecn/fs/devfs/devfs_vnops.c#4 integrate
.. //depot/projects/tcpecn/fs/fdescfs/fdesc_vnops.c#3 integrate
.. //depot/projects/tcpecn/fs/msdosfs/msdosfs_vfsops.c#3 integrate
.. //depot/projects/tcpecn/fs/nullfs/null_vfsops.c#4 integrate
.. //depot/projects/tcpecn/fs/nullfs/null_vnops.c#4 integrate
.. //depot/projects/tcpecn/fs/nwfs/nwfs_node.c#4 integrate
.. //depot/projects/tcpecn/fs/nwfs/nwfs_subr.c#2 integrate
.. //depot/projects/tcpecn/fs/pseudofs/pseudofs_vncache.c#3 integrate
.. //depot/projects/tcpecn/fs/smbfs/smbfs.h#2 integrate
.. //depot/projects/tcpecn/fs/smbfs/smbfs_io.c#3 integrate
.. //depot/projects/tcpecn/fs/smbfs/smbfs_node.c#4 integrate
.. //depot/projects/tcpecn/fs/smbfs/smbfs_vfsops.c#3 integrate
.. //depot/projects/tcpecn/fs/tmpfs/tmpfs_subr.c#4 integrate
.. //depot/projects/tcpecn/fs/tmpfs/tmpfs_vnops.c#4 integrate
.. //depot/projects/tcpecn/fs/unionfs/union_vfsops.c#3 integrate
.. //depot/projects/tcpecn/fs/unionfs/union_vnops.c#4 integrate
.. //depot/projects/tcpecn/gdb/gdb_main.c#2 integrate
.. //depot/projects/tcpecn/geom/part/g_part_mbr.c#2 integrate
.. //depot/projects/tcpecn/geom/part/g_part_vtoc8.c#1 branch
.. //depot/projects/tcpecn/gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c#3 integrate
.. //depot/projects/tcpecn/i386/cpufreq/est.c#2 integrate
.. //depot/projects/tcpecn/i386/i386/identcpu.c#2 integrate
.. //depot/projects/tcpecn/i386/i386/initcpu.c#2 integrate
.. //depot/projects/tcpecn/i386/i386/mp_machdep.c#2 integrate
.. //depot/projects/tcpecn/i386/include/smp.h#2 integrate
.. //depot/projects/tcpecn/ia64/ia64/mp_machdep.c#2 integrate
.. //depot/projects/tcpecn/kern/init_main.c#4 integrate
.. //depot/projects/tcpecn/kern/init_sysent.c#5 integrate
.. //depot/projects/tcpecn/kern/kern_cpuset.c#1 branch
.. //depot/projects/tcpecn/kern/kern_descrip.c#6 integrate
.. //depot/projects/tcpecn/kern/kern_ktrace.c#3 integrate
.. //depot/projects/tcpecn/kern/kern_lock.c#6 integrate
.. //depot/projects/tcpecn/kern/kern_thread.c#3 integrate
.. //depot/projects/tcpecn/kern/sched_4bsd.c#3 integrate
.. //depot/projects/tcpecn/kern/sched_ule.c#5 integrate
.. //depot/projects/tcpecn/kern/subr_smp.c#3 integrate
.. //depot/projects/tcpecn/kern/syscalls.c#5 integrate
.. //depot/projects/tcpecn/kern/syscalls.master#5 integrate
.. //depot/projects/tcpecn/kern/systrace_args.c#5 integrate
.. //depot/projects/tcpecn/kern/uipc_syscalls.c#5 integrate
.. //depot/projects/tcpecn/kern/vfs_bio.c#6 integrate
.. //depot/projects/tcpecn/kern/vfs_cache.c#3 integrate
.. //depot/projects/tcpecn/kern/vfs_default.c#4 integrate
.. //depot/projects/tcpecn/kern/vfs_lookup.c#3 integrate
.. //depot/projects/tcpecn/kern/vfs_subr.c#6 integrate
.. //depot/projects/tcpecn/kern/vfs_syscalls.c#5 integrate
.. //depot/projects/tcpecn/kern/vnode_if.src#3 integrate
.. //depot/projects/tcpecn/libkern/cmpdi2.c#1 branch
.. //depot/projects/tcpecn/libkern/quad.h#2 integrate
.. //depot/projects/tcpecn/modules/Makefile#4 integrate
.. //depot/projects/tcpecn/modules/cxgb/Makefile#3 integrate
.. //depot/projects/tcpecn/modules/cxgb/cxgb/Makefile#4 integrate
.. //depot/projects/tcpecn/modules/cxgb/cxgb_t3fw/Makefile#1 branch
.. //depot/projects/tcpecn/modules/cxgb/tom/Makefile#2 integrate
.. //depot/projects/tcpecn/modules/em/Makefile#2 integrate
.. //depot/projects/tcpecn/modules/geom/Makefile#3 integrate
.. //depot/projects/tcpecn/modules/geom/geom_apple/Makefile#2 delete
.. //depot/projects/tcpecn/modules/geom/geom_eli/Makefile#2 integrate
.. //depot/projects/tcpecn/modules/geom/geom_gpt/Makefile#2 delete
.. //depot/projects/tcpecn/modules/geom/geom_part/Makefile#1 branch
.. //depot/projects/tcpecn/modules/hwpmc/Makefile#2 integrate
.. //depot/projects/tcpecn/modules/igb/Makefile#1 branch
.. //depot/projects/tcpecn/modules/ipfw_nat/Makefile#1 branch
.. //depot/projects/tcpecn/modules/sound/driver/emu10kx/Makefile#2 integrate
.. //depot/projects/tcpecn/modules/zfs/Makefile#3 integrate
.. //depot/projects/tcpecn/net80211/ieee80211_scan_sta.c#3 integrate
.. //depot/projects/tcpecn/netgraph/ng_base.c#4 integrate
.. //depot/projects/tcpecn/netgraph/ng_nat.c#2 integrate
.. //depot/projects/tcpecn/netgraph/ng_nat.h#2 integrate
.. //depot/projects/tcpecn/netgraph/ng_pppoe.c#4 integrate
.. //depot/projects/tcpecn/netinet/ip_dummynet.c#3 integrate
.. //depot/projects/tcpecn/netinet/ip_fw.h#3 integrate
.. //depot/projects/tcpecn/netinet/ip_fw2.c#4 integrate
.. //depot/projects/tcpecn/netinet/ip_fw_nat.c#1 branch
.. //depot/projects/tcpecn/netinet/ip_fw_pfil.c#2 integrate
.. //depot/projects/tcpecn/netinet/sctp_output.c#3 integrate
.. //depot/projects/tcpecn/netinet/sctp_pcb.c#3 integrate
.. //depot/projects/tcpecn/netinet/tcp_input.c#5 integrate
.. //depot/projects/tcpecn/netinet/tcp_var.h#6 integrate
.. //depot/projects/tcpecn/netipsec/key.c#2 integrate
.. //depot/projects/tcpecn/netipsec/key_debug.c#2 integrate
.. //depot/projects/tcpecn/netncp/ncp_conn.c#3 integrate
.. //depot/projects/tcpecn/netncp/ncp_conn.h#2 integrate
.. //depot/projects/tcpecn/netsmb/smb_conn.c#3 integrate
.. //depot/projects/tcpecn/netsmb/smb_conn.h#2 integrate
.. //depot/projects/tcpecn/netsmb/smb_iod.c#2 integrate
.. //depot/projects/tcpecn/nfs4client/nfs4_idmap.c#3 integrate
.. //depot/projects/tcpecn/nfs4client/nfs4_vfsops.c#4 integrate
.. //depot/projects/tcpecn/nfsclient/nfs_node.c#3 integrate
.. //depot/projects/tcpecn/nfsclient/nfs_subs.c#4 integrate
.. //depot/projects/tcpecn/nfsclient/nfs_vfsops.c#4 integrate
.. //depot/projects/tcpecn/pc98/cbus/sio.c#3 integrate
.. //depot/projects/tcpecn/pc98/pc98/machdep.c#3 integrate
.. //depot/projects/tcpecn/pci/if_rl.c#3 integrate
.. //depot/projects/tcpecn/pci/if_rlreg.h#5 integrate
.. //depot/projects/tcpecn/powerpc/aim/locore.S#2 integrate
.. //depot/projects/tcpecn/powerpc/aim/machdep.c#3 integrate
.. //depot/projects/tcpecn/powerpc/aim/swtch.S#2 integrate
.. //depot/projects/tcpecn/powerpc/aim/trap.c#2 integrate
.. //depot/projects/tcpecn/powerpc/aim/trap_subr.S#2 integrate
.. //depot/projects/tcpecn/powerpc/aim/vm_machdep.c#2 integrate
.. //depot/projects/tcpecn/powerpc/conf/NOTES#4 integrate
.. //depot/projects/tcpecn/powerpc/fpu/fpu_add.c#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_arith.h#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_compare.c#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_div.c#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_emu.c#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_emu.h#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_explode.c#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_extern.h#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_implode.c#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_instr.h#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_mul.c#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_sqrt.c#1 branch
.. //depot/projects/tcpecn/powerpc/fpu/fpu_subr.c#1 branch
.. //depot/projects/tcpecn/powerpc/include/bootinfo.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/float.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/frame.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/hid.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/kdb.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/metadata.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/pcb.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/pcpu.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/pmap.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/psl.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/pte.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/sf_buf.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/spr.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/tlb.h#1 branch
.. //depot/projects/tcpecn/powerpc/include/trap.h#2 integrate
.. //depot/projects/tcpecn/powerpc/include/trap_aim.h#1 branch
.. //depot/projects/tcpecn/powerpc/include/trap_booke.h#1 branch
.. //depot/projects/tcpecn/powerpc/include/vmparam.h#3 integrate
.. //depot/projects/tcpecn/powerpc/powerpc/cpu.c#2 integrate
.. //depot/projects/tcpecn/powerpc/powerpc/db_trace.c#3 integrate
.. //depot/projects/tcpecn/powerpc/powerpc/genassym.c#2 integrate
.. //depot/projects/tcpecn/powerpc/powerpc/mp_machdep.c#2 integrate
.. //depot/projects/tcpecn/security/audit/audit.c#4 integrate
.. //depot/projects/tcpecn/security/audit/audit_arg.c#3 integrate
.. //depot/projects/tcpecn/security/audit/audit_bsm.c#3 integrate
.. //depot/projects/tcpecn/security/audit/audit_bsm_klib.c#3 integrate
.. //depot/projects/tcpecn/security/audit/audit_private.h#2 integrate
.. //depot/projects/tcpecn/security/audit/audit_syscalls.c#3 integrate
.. //depot/projects/tcpecn/security/audit/audit_trigger.c#2 integrate
.. //depot/projects/tcpecn/security/audit/audit_worker.c#3 integrate
.. //depot/projects/tcpecn/sparc64/sparc64/mp_machdep.c#2 integrate
.. //depot/projects/tcpecn/sun4v/sun4v/mp_machdep.c#2 integrate
.. //depot/projects/tcpecn/sys/_types.h#2 integrate
.. //depot/projects/tcpecn/sys/buf.h#4 integrate
.. //depot/projects/tcpecn/sys/bufobj.h#2 integrate
.. //depot/projects/tcpecn/sys/cpuset.h#1 branch
.. //depot/projects/tcpecn/sys/ktrace.h#2 integrate
.. //depot/projects/tcpecn/sys/lockmgr.h#5 integrate
.. //depot/projects/tcpecn/sys/mount.h#2 integrate
.. //depot/projects/tcpecn/sys/param.h#7 integrate
.. //depot/projects/tcpecn/sys/proc.h#5 integrate
.. //depot/projects/tcpecn/sys/sched.h#2 integrate
.. //depot/projects/tcpecn/sys/smp.h#2 integrate
.. //depot/projects/tcpecn/sys/syscall.h#5 integrate
.. //depot/projects/tcpecn/sys/syscall.mk#5 integrate
.. //depot/projects/tcpecn/sys/sysproto.h#5 integrate
.. //depot/projects/tcpecn/sys/types.h#3 integrate
.. //depot/projects/tcpecn/sys/vnode.h#3 integrate
.. //depot/projects/tcpecn/sys/vtoc.h#1 branch
.. //depot/projects/tcpecn/ufs/ffs/ffs_rawread.c#3 integrate
.. //depot/projects/tcpecn/ufs/ffs/ffs_softdep.c#3 integrate
.. //depot/projects/tcpecn/ufs/ffs/ffs_vfsops.c#4 integrate
.. //depot/projects/tcpecn/ufs/ffs/ffs_vnops.c#5 integrate
.. //depot/projects/tcpecn/ufs/ufs/ufs_extattr.c#4 integrate
.. //depot/projects/tcpecn/vm/vm_map.h#2 integrate
.. //depot/projects/tcpecn/vm/vm_object.c#4 integrate

Differences ...

==== //depot/projects/tcpecn/amd64/amd64/identcpu.c#4 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.157 2008/02/02 23:17:27 das Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.158 2008/03/02 07:58:40 jeff Exp $");
 
 #include "opt_cpu.h"
 
@@ -97,6 +97,10 @@
 	{ "Sledgehammer",	CPUCLASS_K8 },		/* CPU_SLEDGEHAMMER */
 };
 
+int cpu_cores;
+int cpu_logical;
+
+
 extern int pq_l2size;
 extern int pq_l2nways;
 
@@ -360,11 +364,13 @@
 				if ((regs[0] & 0x1f) != 0)
 					cmp = ((regs[0] >> 26) & 0x3f) + 1;
 			}
+			cpu_cores = cmp;
+			cpu_logical = htt / cmp;
 			if (cmp > 1)
 				printf("\n  Cores per package: %d", cmp);
 			if ((htt / cmp) > 1)
 				printf("\n  Logical CPUs per core: %d",
-				    htt / cmp);
+				    cpu_logical);
 		}
 	}
 	/* Avoid ugly blank lines: only print newline when we have to. */

==== //depot/projects/tcpecn/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.287 2007/08/02 21:17:58 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.288 2008/03/02 07:58:40 jeff Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -83,12 +83,6 @@
 
 extern  struct pcpu __pcpu[];
 
-/*
- * CPU topology map datastructures for HTT.
- */
-static struct cpu_group mp_groups[MAXCPU];
-static struct cpu_top mp_top;
-
 /* AP uses this during bootstrap.  Do not staticize.  */
 char *bootSTK;
 static int bootAP;
@@ -182,40 +176,38 @@
 		mem_range_softc.mr_op->initAP(&mem_range_softc);
 }
 
-void
-mp_topology(void)
+struct cpu_group *
+cpu_topo(void)
 {
-	struct cpu_group *group;
-	int apic_id;
-	int groups;
-	int cpu;
-
-	/* Build the smp_topology map. */
-	/* Nothing to do if there is no HTT support. */
-	if (hyperthreading_cpus <= 1)
-		return;
-	group = &mp_groups[0];
-	groups = 1;
-	for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) {
-		if (!cpu_info[apic_id].cpu_present)
-			continue;
-		/*
-		 * If the current group has members and we're not a logical
-		 * cpu, create a new group.
-		 */
-		if (group->cg_count != 0 &&
-		    (apic_id % hyperthreading_cpus) == 0) {
-			group++;
-			groups++;
-		}
-		group->cg_count++;
-		group->cg_mask |= 1 << cpu;
-		cpu++;
+	if (cpu_cores == 0)
+		cpu_cores = 1;
+	if (cpu_logical == 0)
+		cpu_logical = 1;
+	if (mp_ncpus % (cpu_cores * cpu_logical) != 0) {
+		printf("WARNING: Non-uniform processors.\n");
+		printf("WARNING: Using suboptimal topology.\n");
+		return (smp_topo_none());
 	}
-
-	mp_top.ct_count = groups;
-	mp_top.ct_group = mp_groups;
-	smp_topology = &mp_top;
+	/*
+	 * No multi-core or hyper-threaded.
+	 */
+	if (cpu_logical * cpu_cores == 1)
+		return (smp_topo_none());
+	/*
+	 * Only HTT no multi-core.
+	 */
+	if (cpu_logical > 1 && cpu_cores == 1)
+		return (smp_topo_1level(CG_SHARE_L1, cpu_logical, CG_FLAG_HTT));
+	/*
+	 * Only multi-core no HTT.
+	 */
+	if (cpu_cores > 1 && cpu_logical == 1)
+		return (smp_topo_1level(CG_SHARE_NONE, cpu_cores, 0));
+	/*
+	 * Both HTT and multi-core.
+	 */
+	return (smp_topo_2level(CG_SHARE_NONE, cpu_cores,
+	    CG_SHARE_L1, cpu_logical, CG_FLAG_HTT));
 }
 
 /*
@@ -409,9 +401,6 @@
 	}
 
 	set_interrupt_apic_ids();
-
-	/* Last, setup the cpu topology now that we have probed CPUs */
-	mp_topology();
 }
 
 

==== //depot/projects/tcpecn/amd64/include/smp.h#2 (text+ko) ====

@@ -6,7 +6,7 @@
  * this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
  * ----------------------------------------------------------------------------
  *
- * $FreeBSD: src/sys/amd64/include/smp.h,v 1.91 2007/09/20 20:38:43 attilio Exp $
+ * $FreeBSD: src/sys/amd64/include/smp.h,v 1.92 2008/03/02 07:58:40 jeff Exp $
  *
  */
 
@@ -36,6 +36,10 @@
 extern struct pcb		stoppcbs[];
 extern int			cpu_apic_ids[];
 
+/* global data in identcpu.c */
+extern int			cpu_cores;
+extern int			cpu_logical;
+
 /* IPI handlers */
 inthand_t
 	IDTVEC(invltlb),	/* TLB shootdowns - global */
@@ -57,7 +61,6 @@
 void 	ipi_bitmap_handler(struct trapframe frame);
 u_int	mp_bootaddress(u_int);
 int	mp_grab_cpu_hlt(void);
-void	mp_topology(void);
 void	smp_cache_flush(void);
 void	smp_invlpg(vm_offset_t addr);
 void	smp_masked_invlpg(u_int mask, vm_offset_t addr);

==== //depot/projects/tcpecn/arm/include/_bus.h#2 (text+ko) ====

@@ -1,5 +1,5 @@
 /*-
-% * Copyright (c) 2005 M. Warner Losh.
+ * Copyright (c) 2005 M. Warner Losh.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/_bus.h,v 1.1 2005/04/18 21:45:33 imp Exp $
+ * $FreeBSD: src/sys/arm/include/_bus.h,v 1.2 2008/02/26 11:45:32 rwatson Exp $
  */
 
 #ifndef ARM_INCLUDE__BUS_H

==== //depot/projects/tcpecn/arm/xscale/ixp425/ixp425.c#2 (text+ko) ====

@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.8 2007/05/29 18:10:42 jhay Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425.c,v 1.9 2008/02/26 11:44:41 rwatson Exp $");
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -234,7 +234,7 @@
 	sc->sc_mem_rman.rm_descr = "IXP425 Memory";
 	if (rman_init(&sc->sc_mem_rman) != 0 ||
 	    rman_manage_region(&sc->sc_mem_rman, 0, ~0) != 0)
-		panic("ixp425_attach: failed to set up IRQ rman");
+		panic("ixp425_attach: failed to set up memory rman");
 
 	BUS_ADD_CHILD(dev, 0, "pcib", 0);
 	BUS_ADD_CHILD(dev, 0, "ixpclk", 0);

==== //depot/projects/tcpecn/arm/xscale/ixp425/ixp425_iic.c#2 (text+ko) ====

@@ -9,13 +9,6 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *      This product includes software developed for the NetBSD Project by
- *      Wasabi Systems, Inc.
- * 4. The name of Wasabi Systems, Inc. may not be used to endorse
- *    or promote products derived from this software without specific prior
- *    written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
@@ -31,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.1 2006/11/19 23:55:23 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/xscale/ixp425/ixp425_iic.c,v 1.2 2008/03/03 06:39:36 kevlo Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>

==== //depot/projects/tcpecn/boot/common/bootstrap.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.44 2006/12/18 07:35:14 kmacy Exp $
+ * $FreeBSD: src/sys/boot/common/bootstrap.h,v 1.45 2008/02/23 18:33:49 marcel Exp $
  */
 
 #include <sys/types.h>
@@ -233,13 +233,15 @@
 int  file_addmodule(struct preloaded_file *fp, char *modname, int version,
 	struct kernel_module **newmp);
 
-
 /* MI module loaders */
 #ifdef __elfN
 /* Relocation types. */
 #define ELF_RELOC_REL	1
 #define ELF_RELOC_RELA	2
 
+/* Relocation offset for some architectures */
+extern u_int64_t __elfN(relocation_offset);
+
 struct elf_file;
 typedef Elf_Addr (symaddr_fn)(struct elf_file *ef, Elf_Size symidx);
 

==== //depot/projects/tcpecn/boot/common/load_elf.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.37 2006/11/02 17:52:43 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/common/load_elf.c,v 1.38 2008/02/23 18:33:50 marcel Exp $");
 
 #include <sys/param.h>
 #include <sys/exec.h>
@@ -83,6 +83,8 @@
 const char	*__elfN(kerneltype) = "elf kernel";
 const char	*__elfN(moduletype) = "elf module";
 
+u_int64_t	__elfN(relocation_offset) = 0;
+
 /*
  * Attempt to load the file (file) as an ELF module.  It will be stored at
  * (dest), and a pointer to a module structure describing the loaded object
@@ -100,7 +102,7 @@
 
     fp = NULL;
     bzero(&ef, sizeof(struct elf_file));
-    
+
     /*
      * Open the image, read and validate the ELF header 
      */
@@ -266,9 +268,33 @@
 #else
 	off = - (off & 0xff000000u);	/* i386 relocates after locore */
 #endif
+#elif defined(__powerpc__)
+	/*
+	 * On the purely virtual memory machines like e500, the kernel is
+	 * linked against its final VA range, which is most often not
+	 * available at the loader stage, but only after kernel initializes
+	 * and completes its VM settings. In such cases we cannot use p_vaddr
+	 * field directly to load ELF segments, but put them at some
+	 * 'load-time' locations.
+	 */
+	if (off & 0xf0000000u) {
+	    off = -(off & 0xf0000000u);
+	    /*
+	     * XXX the physical load address should not be hardcoded. Note
+	     * that the Book-E kernel assumes that it's loaded at a 16MB
+	     * boundary for now...
+	     */
+	    off += 0x01000000;
+	    ehdr->e_entry += off;
+#ifdef ELF_VERBOSE
+	    printf("Converted entry 0x%08x\n", ehdr->e_entry);
+#endif
+	} else 
+	    off = 0;
 #else
 	off = 0;		/* other archs use direct mapped kernels */
 #endif
+	__elfN(relocation_offset) = off;
     }
     ef->off = off;
 

==== //depot/projects/tcpecn/boot/i386/boot2/boot2.c#2 (text+ko) ====

@@ -14,7 +14,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.85 2007/10/26 21:02:31 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/boot2/boot2.c,v 1.86 2008/02/28 17:08:05 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/disklabel.h>
@@ -129,7 +129,7 @@
     unsigned start;
     int init;
 } dsk;
-static char cmd[512];
+static char cmd[512], cmddup[512];
 static char kname[1024];
 static uint32_t opts;
 static int comspeed = SIOSPD;
@@ -255,10 +255,11 @@
 	fsread(ino, cmd, sizeof(cmd));
 
     if (*cmd) {
+	memcpy(cmddup, cmd, sizeof(cmd));
 	if (parse())
 	    autoboot = 0;
 	if (!OPT_CHECK(RBX_QUIET))
-	    printf("%s: %s", PATH_CONFIG, cmd);
+	    printf("%s: %s", PATH_CONFIG, cmddup);
 	/* Do not process this command twice */
 	*cmd = 0;
     }

==== //depot/projects/tcpecn/boot/i386/btx/btx/Makefile#2 (text+ko) ====

@@ -1,14 +1,10 @@
-# $FreeBSD: src/sys/boot/i386/btx/btx/Makefile,v 1.19 2004/12/21 08:47:13 ru Exp $
+# $FreeBSD: src/sys/boot/i386/btx/btx/Makefile,v 1.20 2008/02/27 23:35:39 jhb Exp $
 
 PROG=	btx
 INTERNALPROG=
 NO_MAN=
 SRCS=	btx.S
 
-.if defined(PAGING)
-CFLAGS+=-DPAGING
-.endif
-
 .if defined(BOOT_BTX_NOHANG)
 BOOT_BTX_FLAGS=0x1
 .else

==== //depot/projects/tcpecn/boot/i386/btx/btx/btx.S#2 (text+ko) ====

@@ -12,7 +12,7 @@
  * warranties of merchantability and fitness for a particular
  * purpose.
  *
- * $FreeBSD: src/sys/boot/i386/btx/btx/btx.S,v 1.44 2006/12/06 17:45:35 jhb Exp $
+ * $FreeBSD: src/sys/boot/i386/btx/btx/btx.S,v 1.45 2008/02/27 23:35:39 jhb Exp $
  */
 
 /*
@@ -25,8 +25,7 @@
 		.set MEM_IDT,0x1e00		# IDT
 		.set MEM_TSS,0x1f98		# TSS
 		.set MEM_MAP,0x2000		# I/O bit map
-		.set MEM_DIR,0x4000		# Page directory
-		.set MEM_TBL,0x5000		# Page tables
+		.set MEM_TSS_END,0x3fff		# Page directory
 		.set MEM_ORG,0x9000		# BTX code
 		.set MEM_USR,0xa000		# Start of user memory
 /*
@@ -88,7 +87,7 @@
 		.set _ESP0H,MEM_ESP0>>0x8	# Byte 1 of ESP0
 		.set _ESP1H,MEM_ESP1>>0x8	# Byte 1 of ESP1
 		.set _TSSIO,MEM_MAP-MEM_TSS	# TSS I/O base
-		.set _TSSLM,MEM_DIR-MEM_TSS-1	# TSS limit
+		.set _TSSLM,MEM_TSS_END-MEM_TSS	# TSS limit
 		.set _IDTLM,MEM_TSS-MEM_IDT-1	# IDT limit
 /*
  * Code segment.
@@ -158,58 +157,15 @@
 		movb $SEL_SDATA,TSS_SS0(%di)	# Set SS0
 		movb $_ESP1H,TSS_ESP1+1(%di)	# Set ESP1
 		movb $_TSSIO,TSS_MAP(%di)	# Set I/O bit map base
-#ifdef PAGING
 /*
- * Create page directory.
- */
-		xor %edx,%edx			# Page
-		mov $PAG_SIZ>>0x8,%dh		#  size
-		xor %eax,%eax			# Zero
-		mov $MEM_DIR,%di		# Page directory
-		mov $PAG_CNT>>0xa,%cl		# Entries
-		mov $MEM_TBL|0x7,%ax	 	# First entry
-init.5: 	stosl				# Write entry
-		add %dx,%ax			# To next
-		loop init.5			# Till done
-/*
- * Create page tables.
- */
-		mov $MEM_TBL,%di		# Page table
-		mov $PAG_CNT>>0x8,%ch		# Entries
-		xor %ax,%ax			# Start address
-init.6: 	mov $0x7,%al			# Set U:W:P flags
-		cmp btx_hdr+0x8,%cx	 	# Standard user page?
-		jb init.7			# Yes
-		cmp $PAG_CNT-MEM_BTX>>0xc,%cx	# BTX memory?
-		jae init.7			# No or first page
-		and $~0x2,%al			# Clear W flag
-		cmp $PAG_CNT-MEM_USR>>0xc,%cx	# User page zero?
-		jne init.7			# No
-		testb $0x80,btx_hdr+0x7		# Unmap it?
-		jz init.7			# No
-		and $~0x1,%al			# Clear P flag
-init.7: 	stosl				# Set entry
-		add %edx,%eax			# Next address
-		loop init.6			# Till done
-#endif
-/*
  * Bring up the system.
  */
 		mov $0x2820,%bx			# Set protected mode
 		callw setpic			#  IRQ offsets
 		lidt idtdesc	 		# Set IDT
-#ifdef PAGING
-		xor %eax,%eax			# Set base
-		mov $MEM_DIR>>0x8,%ah		#  of page
-		mov %eax,%cr3			#  directory
-#endif
 		lgdt gdtdesc	 		# Set GDT
 		mov %cr0,%eax			# Switch to protected
-#ifdef PAGING
-		or $0x80000001,%eax             #  mode and enable paging
-#else
 		inc %ax				#  mode
-#endif
 		mov %eax,%cr0			#
 		ljmp $SEL_SCODE,$init.8		# To 32-bit code
 		.code32
@@ -854,13 +810,6 @@
 		movl $MEM_USR,%eax		# User base address
 		addl 0xc(%esp,1),%eax		# Change to user
 		leal 0x4(%eax),%esp		#  stack
-#ifdef PAGING
-		movl %cr0,%eax			# Turn
-		andl $~0x80000000,%eax		#  off
-		movl %eax,%cr0			#  paging
-		xorl %eax,%eax			# Flush
-		movl %eax,%cr3			#  TLB
-#endif
 		popl %eax			# Call
 		call *%eax			#  program
 intx30.1:	orb $0x1,%ss:btx_hdr+0x7	# Flag reboot

==== //depot/projects/tcpecn/boot/i386/gptboot/gptboot.c#2 (text+ko) ====

@@ -14,7 +14,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/gptboot/gptboot.c,v 1.86 2007/10/26 21:02:31 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/gptboot/gptboot.c,v 1.87 2008/02/28 17:08:05 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/gpt.h>
@@ -127,7 +127,7 @@
     daddr_t start;
     int init;
 } dsk;
-static char cmd[512];
+static char cmd[512], cmddup[512];
 static char kname[1024];
 static uint32_t opts;
 static int comspeed = SIOSPD;
@@ -253,10 +253,11 @@
 	fsread(ino, cmd, sizeof(cmd));
 
     if (*cmd) {
+	memcpy(cmddup, cmd, sizeof(cmd));
 	if (parse())
 	    autoboot = 0;
 	if (!OPT_CHECK(RBX_QUIET))
-	    printf("%s: %s", PATH_CONFIG, cmd);
+	    printf("%s: %s", PATH_CONFIG, cmddup);
 	/* Do not process this command twice */
 	*cmd = 0;
     }

==== //depot/projects/tcpecn/boot/i386/libi386/biosdisk.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.54 2007/11/12 23:53:43 bz Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosdisk.c,v 1.55 2008/02/28 17:49:23 jhb Exp $");
 
 /*
  * BIOS disk device handling.
@@ -316,6 +316,29 @@
     }
 }
 
+/* Given a size in 512 byte sectors, convert it to a human-readable number. */
+static char *
+display_size(uint64_t size)
+{
+    static char buf[80];
+    char unit;
+
+    size /= 2;
+    unit = 'K';
+    if (size >= 10485760000LL) {
+	size /= 1073741824;
+	unit = 'T';
+    } else if (size >= 10240000) {
+	size /= 1048576;
+	unit = 'G';
+    } else if (size >= 10000) {
+	size /= 1024;
+	unit = 'M';
+    }
+    sprintf(buf, "%.6ld%cB", (long)size, unit);
+    return (buf);
+}
+
 static uuid_t efi = GPT_ENT_TYPE_EFI;
 static uuid_t freebsd_boot = GPT_ENT_TYPE_FREEBSD_BOOT;
 static uuid_t freebsd_ufs = GPT_ENT_TYPE_FREEBSD_UFS;
@@ -329,33 +352,22 @@
 {
     char stats[80];
     char line[96];
-    uint64_t size;
-    char unit;
 
-    if (verbose) {
-	size = (gp->gp_end + 1 - gp->gp_start) / 2048;
-	unit = 'M';
-	if (size >= 10240000) {
-	    size /= 1048576;
-	    unit = 'T';
-	} else if (size >= 10000) {
-	    size /= 1024;
-	    unit = 'G';
-	}
-	sprintf(stats, " %.6ld%cB", (long)size, unit);
-    } else
+    if (verbose)
+	sprintf(stats, " %s", display_size(gp->gp_end + 1 - gp->gp_start));
+    else
 	stats[0] = '\0';
 
     if (uuid_equal(&gp->gp_type, &efi, NULL))
-	sprintf(line, "%s: EFI%s\n", prefix, stats);
+	sprintf(line, "%s: EFI         %s\n", prefix, stats);
     else if (uuid_equal(&gp->gp_type, &ms_basic_data, NULL))
-	sprintf(line, "%s: FAT/NTFS%s\n", prefix, stats);
+	sprintf(line, "%s: FAT/NTFS    %s\n", prefix, stats);
     else if (uuid_equal(&gp->gp_type, &freebsd_boot, NULL))
 	sprintf(line, "%s: FreeBSD boot%s\n", prefix, stats);
     else if (uuid_equal(&gp->gp_type, &freebsd_ufs, NULL))
-	sprintf(line, "%s: FreeBSD UFS%s\n", prefix, stats);
+	sprintf(line, "%s: FreeBSD UFS %s\n", prefix, stats);
     else if (uuid_equal(&gp->gp_type, &freebsd_zfs, NULL))
-	sprintf(line, "%s: FreeBSD ZFS%s\n", prefix, stats);
+	sprintf(line, "%s: FreeBSD ZFS %s\n", prefix, stats);
     else if (uuid_equal(&gp->gp_type, &freebsd_swap, NULL))
 	sprintf(line, "%s: FreeBSD swap%s\n", prefix, stats);
     else
@@ -377,70 +389,50 @@
 bd_printslice(struct open_disk *od, struct dos_partition *dp, char *prefix,
 	int verbose)
 {
+	char stats[80];
 	char line[80];
 
+	if (verbose)
+		sprintf(stats, " %s (%d - %d)", display_size(dp->dp_size),
+		    dp->dp_start, dp->dp_start + dp->dp_size);
+	else
+		stats[0] = '\0';
+
 	switch (dp->dp_typ) {
 	case DOSPTYP_386BSD:
 		bd_printbsdslice(od, (daddr_t)dp->dp_start, prefix, verbose);
 		return;
 	case DOSPTYP_LINSWP:
-		if (verbose)
-			sprintf(line, "%s: Linux swap %.6dMB (%d - %d)\n",
-			    prefix, dp->dp_size / 2048,
-			    dp->dp_start, dp->dp_start + dp->dp_size);
-		else
-			sprintf(line, "%s: Linux swap\n", prefix);
+		sprintf(line, "%s: Linux swap%s\n", prefix, stats);
 		break;
 	case DOSPTYP_LINUX:
 		/*
 		 * XXX
 		 * read the superblock to confirm this is an ext2fs partition?
 		 */
-		if (verbose)
-			sprintf(line, "%s: ext2fs  %.6dMB (%d - %d)\n", prefix,
-			    dp->dp_size / 2048, dp->dp_start,
-			    dp->dp_start + dp->dp_size);
-		else
-			sprintf(line, "%s: ext2fs\n", prefix);
+		sprintf(line, "%s: ext2fs%s\n", prefix, stats);
 		break;
 	case 0x00:				/* unused partition */
 	case DOSPTYP_EXT:
 		return;
 	case 0x01:
-		if (verbose)
-			sprintf(line, "%s: FAT-12  %.6dMB (%d - %d)\n", prefix,
-			    dp->dp_size / 2048, dp->dp_start,
-			    dp->dp_start + dp->dp_size);
-		else
-			sprintf(line, "%s: FAT-12\n", prefix);
+		sprintf(line, "%s: FAT-12%s\n", prefix, stats);
 		break;
 	case 0x04:
 	case 0x06:
 	case 0x0e:
-		if (verbose)
-			sprintf(line, "%s: FAT-16  %.6dMB (%d - %d)\n", prefix,
-			    dp->dp_size / 2048, dp->dp_start,

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


More information about the p4-projects mailing list