From owner-p4-projects@FreeBSD.ORG Fri Aug 15 16:14:25 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A1C51065672; Fri, 15 Aug 2008 16:14:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA521106564A for ; Fri, 15 Aug 2008 16:14:24 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 872098FC14 for ; Fri, 15 Aug 2008 16:14:24 +0000 (UTC) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.2/8.14.2) with ESMTP id m7FGEOQx009667 for ; Fri, 15 Aug 2008 16:14:24 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7FGEN9c009665 for perforce@freebsd.org; Fri, 15 Aug 2008 16:14:23 GMT (envelope-from julian@freebsd.org) Date: Fri, 15 Aug 2008 16:14:23 GMT Message-Id: <200808151614.m7FGEN9c009665@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Cc: Subject: PERFORCE change 147464 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Aug 2008 16:14:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=147464 Change 147464 by julian@julian_trafmon1 on 2008/08/15 16:14:23 IFC@147453 Affected files ... .. //depot/projects/vimage-commit/src/sys/Makefile#4 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/bpf_jit_machdep.c#3 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/bpf_jit_machdep.h#3 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/db_disasm.c#2 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/vimage-commit/src/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/vimage-commit/src/sys/amd64/conf/GENERIC#5 integrate .. //depot/projects/vimage-commit/src/sys/amd64/conf/NOTES#2 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/cpufunc.h#2 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/pmap.h#5 integrate .. //depot/projects/vimage-commit/src/sys/amd64/include/specialreg.h#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/db_interface.c#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/intr.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/at91/at91_twi.c#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/conf/KB920X#2 integrate .. //depot/projects/vimage-commit/src/sys/arm/conf/NSLU#1 branch .. //depot/projects/vimage-commit/src/sys/arm/conf/NSLU.hints#1 branch .. //depot/projects/vimage-commit/src/sys/arm/include/db_machdep.h#3 integrate .. //depot/projects/vimage-commit/src/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate .. //depot/projects/vimage-commit/src/sys/boot/common/misc.c#2 integrate .. //depot/projects/vimage-commit/src/sys/boot/forth/loader.conf#4 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/boot2/boot2.c#3 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/gptboot/gptboot.c#2 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/libi386/devicename.c#2 integrate .. //depot/projects/vimage-commit/src/sys/boot/i386/loader/main.c#2 integrate .. //depot/projects/vimage-commit/src/sys/boot/pc98/loader/main.c#2 integrate .. //depot/projects/vimage-commit/src/sys/boot/sparc64/loader/locore.S#2 integrate .. //depot/projects/vimage-commit/src/sys/boot/sparc64/loader/main.c#2 integrate .. //depot/projects/vimage-commit/src/sys/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/vimage-commit/src/sys/cam/scsi/scsi_all.h#2 integrate .. //depot/projects/vimage-commit/src/sys/conf/Makefile.arm#2 integrate .. //depot/projects/vimage-commit/src/sys/conf/NOTES#7 integrate .. //depot/projects/vimage-commit/src/sys/conf/files#10 integrate .. //depot/projects/vimage-commit/src/sys/conf/files.amd64#2 integrate .. //depot/projects/vimage-commit/src/sys/conf/files.i386#4 integrate .. //depot/projects/vimage-commit/src/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/vimage-commit/src/sys/crypto/via/padlock.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpi_support/acpi_asus.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/acpica/acpi.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/age/if_age.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/aha/aha.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-all.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ata/ata-chipset.c#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/bfe/if_bfe.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/bktr/bktr_i2c.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cpuctl/cpuctl.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/cpufreq/ichss.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_ael1002.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_common.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_t3_hw.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/common/cxgb_xgmac.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_adapter.h#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_lro.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/cxgb/cxgb_sge.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed_pccard.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/glxsb/glxsb.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/glxsb/glxsb.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/glxsb/glxsb_hash.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/iicbus/ad7418.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/iicbus/ds1339.c#2 delete .. //depot/projects/vimage-commit/src/sys/dev/iicbus/ds133x.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/iicbus/icee.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/iicbus/if_ic.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/iicbus/iic.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/iicbus/iicbb.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/iicbus/iicbus.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/iicbus/iicbus.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/iicbus/iiconf.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/iicbus/iicsmb.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/io/iodev.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/led/led.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/mii/brgphy.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/mii/rgephy.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/pccard/pccard.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pccard/pccarddevs#4 integrate .. //depot/projects/vimage-commit/src/sys/dev/pccard/pccardvar.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pccbb/pccbb.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcf/envctrl.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcf/pcf.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcf/pcf_ebus.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcf/pcf_isa.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcf/pcfvar.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/pci/pci.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/pcn/if_pcn.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/pcn/if_pcnreg.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/ppbus/lpbb.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/re/if_re.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/sis/if_sis.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sis/if_sisreg.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/snc/dp83932var.h#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/snc/if_snc.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/snc/if_snc_cbus.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/snc/if_snc_pccard.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/snp/snp.c#3 integrate .. //depot/projects/vimage-commit/src/sys/dev/ste/if_ste.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/ste/if_stereg.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/syscons/syscons.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/tl/if_tl.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/tl/if_tlreg.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/usb/if_upgt.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/usb/if_upgtvar.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/usb/umass.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usb_quirks.c#2 integrate .. //depot/projects/vimage-commit/src/sys/dev/usb/usbdevs#6 integrate .. //depot/projects/vimage-commit/src/sys/dev/wb/if_wb.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/wb/if_wbreg.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/balloon/balloon.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/blkback/blkback.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/blkfront/blkfront.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/blkfront/block.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/console/console.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/console/xencons_ring.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/console/xencons_ring.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/evtchn/evtchn_dev.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/netback/netback.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/netfront/mbufq.h#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/netfront/netfront.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xen/pcifront/pcifront.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xl/if_xl.c#1 branch .. //depot/projects/vimage-commit/src/sys/dev/xl/if_xlreg.h#1 branch .. //depot/projects/vimage-commit/src/sys/fs/devfs/devfs_vnops.c#4 integrate .. //depot/projects/vimage-commit/src/sys/geom/concat/g_concat.c#2 integrate .. //depot/projects/vimage-commit/src/sys/geom/eli/g_eli.c#3 integrate .. //depot/projects/vimage-commit/src/sys/geom/geom_ccd.c#2 integrate .. //depot/projects/vimage-commit/src/sys/geom/geom_ctl.c#2 integrate .. //depot/projects/vimage-commit/src/sys/geom/geom_disk.c#2 integrate .. //depot/projects/vimage-commit/src/sys/geom/geom_kern.c#2 integrate .. //depot/projects/vimage-commit/src/sys/geom/geom_slice.c#2 integrate .. //depot/projects/vimage-commit/src/sys/geom/geom_subr.c#2 integrate .. //depot/projects/vimage-commit/src/sys/geom/part/g_part.c#3 integrate .. //depot/projects/vimage-commit/src/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/conf/GENERIC#5 integrate .. //depot/projects/vimage-commit/src/sys/i386/conf/NOTES#7 integrate .. //depot/projects/vimage-commit/src/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/cpufreq/powernow.c#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/cpufreq/smist.c#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/i386/bpf_jit_machdep.c#3 integrate .. //depot/projects/vimage-commit/src/sys/i386/i386/bpf_jit_machdep.h#3 integrate .. //depot/projects/vimage-commit/src/sys/i386/i386/db_disasm.c#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/vimage-commit/src/sys/i386/i386/support.s#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/i386/trap.c#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/include/cpufunc.h#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/include/pmap.h#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/include/specialreg.h#2 integrate .. //depot/projects/vimage-commit/src/sys/i386/include/xen/evtchn.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/features.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/hypercall.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/hypervisor.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/synch_bitops.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/xen-os.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/xen_intr.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/xenbus.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/xenfunc.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/xenpmap.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/xenstored.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/include/xen/xenvar.h#1 branch .. //depot/projects/vimage-commit/src/sys/i386/xen/clock.c#1 branch .. //depot/projects/vimage-commit/src/sys/i386/xen/exception.s#1 branch .. //depot/projects/vimage-commit/src/sys/i386/xen/locore.s#1 branch .. //depot/projects/vimage-commit/src/sys/i386/xen/pmap.c#1 branch .. //depot/projects/vimage-commit/src/sys/i386/xen/xen_machdep.c#1 branch .. //depot/projects/vimage-commit/src/sys/kern/kern_condvar.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_exec.c#4 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_kthread.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_lock.c#3 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_sig.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_sx.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_synch.c#5 integrate .. //depot/projects/vimage-commit/src/sys/kern/kern_thread.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/link_elf.c#3 integrate .. //depot/projects/vimage-commit/src/sys/kern/link_elf_obj.c#4 integrate .. //depot/projects/vimage-commit/src/sys/kern/subr_sbuf.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/vimage-commit/src/sys/kern/subr_witness.c#3 integrate .. //depot/projects/vimage-commit/src/sys/kern/tty_pts.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/tty_pty.c#2 integrate .. //depot/projects/vimage-commit/src/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/vimage-commit/src/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/vimage-commit/src/sys/libkern/strcspn.c#1 branch .. //depot/projects/vimage-commit/src/sys/mips/mips/machdep.c#2 integrate .. //depot/projects/vimage-commit/src/sys/mips/mips/tick.c#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/Makefile#8 integrate .. //depot/projects/vimage-commit/src/sys/modules/cpuctl/Makefile#1 branch .. //depot/projects/vimage-commit/src/sys/modules/cxgb/cxgb/Makefile#3 integrate .. //depot/projects/vimage-commit/src/sys/modules/glxsb/Makefile#1 branch .. //depot/projects/vimage-commit/src/sys/modules/netgraph/Makefile#3 integrate .. //depot/projects/vimage-commit/src/sys/modules/netgraph/bluetooth/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/pcn/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/sis/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/snc/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/ste/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/tl/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/upgt/Makefile#1 branch .. //depot/projects/vimage-commit/src/sys/modules/wb/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/modules/xl/Makefile#2 integrate .. //depot/projects/vimage-commit/src/sys/net/bpf.c#5 integrate .. //depot/projects/vimage-commit/src/sys/net/if_enc.c#2 integrate .. //depot/projects/vimage-commit/src/sys/net/if_enc.h#1 branch .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_ioctl.c#3 integrate .. //depot/projects/vimage-commit/src/sys/netinet/in_pcb.c#6 integrate .. //depot/projects/vimage-commit/src/sys/netinet/in_pcb.h#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/sctp_bsd_addr.c#5 integrate .. //depot/projects/vimage-commit/src/sys/netinet/tcp_syncache.c#9 integrate .. //depot/projects/vimage-commit/src/sys/netipsec/ipsec_input.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netipsec/ipsec_output.c#4 integrate .. //depot/projects/vimage-commit/src/sys/netipsec/key.c#5 integrate .. //depot/projects/vimage-commit/src/sys/nlm/nlm_prot_impl.c#5 integrate .. //depot/projects/vimage-commit/src/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/vimage-commit/src/sys/pc98/conf/NOTES#4 integrate .. //depot/projects/vimage-commit/src/sys/pci/if_pcn.c#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_pcnreg.h#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_rlreg.h#4 integrate .. //depot/projects/vimage-commit/src/sys/pci/if_sis.c#3 delete .. //depot/projects/vimage-commit/src/sys/pci/if_sisreg.h#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_ste.c#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_stereg.h#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_tl.c#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_tlreg.h#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_wb.c#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_wbreg.h#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_xl.c#2 delete .. //depot/projects/vimage-commit/src/sys/pci/if_xlreg.h#2 delete .. //depot/projects/vimage-commit/src/sys/pci/viapm.c#4 integrate .. //depot/projects/vimage-commit/src/sys/powerpc/conf/GENERIC#4 integrate .. //depot/projects/vimage-commit/src/sys/rpc/clnt_rc.c#3 integrate .. //depot/projects/vimage-commit/src/sys/security/audit/audit.c#5 integrate .. //depot/projects/vimage-commit/src/sys/security/mac_portacl/mac_portacl.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/conf/GENERIC#3 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/include/asi.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/include/cache.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/include/cpufunc.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/include/pcpu.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/include/tte.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/include/vmparam.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/cheetah.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/clock.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/db_disasm.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/exception.S#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/locore.S#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/machdep.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/mp_locore.S#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/pmap.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/prof_machdep.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/spitfire.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/support.S#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/swtch.S#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/tick.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/tlb.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sparc64/sparc64/trap.c#2 integrate .. //depot/projects/vimage-commit/src/sys/sun4v/conf/GENERIC#3 integrate .. //depot/projects/vimage-commit/src/sys/sun4v/include/tte.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/cpuctl.h#1 branch .. //depot/projects/vimage-commit/src/sys/sys/libkern.h#3 integrate .. //depot/projects/vimage-commit/src/sys/sys/lock.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/param.h#6 integrate .. //depot/projects/vimage-commit/src/sys/sys/priv.h#3 integrate .. //depot/projects/vimage-commit/src/sys/sys/proc.h#4 integrate .. //depot/projects/vimage-commit/src/sys/sys/sbuf.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/sleepqueue.h#2 integrate .. //depot/projects/vimage-commit/src/sys/sys/socket.h#3 integrate .. //depot/projects/vimage-commit/src/sys/sys/sx.h#2 integrate .. //depot/projects/vimage-commit/src/sys/ufs/ffs/ffs_vfsops.c#3 integrate .. //depot/projects/vimage-commit/src/sys/ufs/ufs/quota.h#2 integrate .. //depot/projects/vimage-commit/src/sys/ufs/ufs/ufs_quota.c#2 integrate .. //depot/projects/vimage-commit/src/sys/ufs/ufs/ufsmount.h#2 integrate .. //depot/projects/vimage-commit/src/sys/vm/redzone.c#2 integrate .. //depot/projects/vimage-commit/src/sys/vm/vm_glue.c#2 integrate .. //depot/projects/vimage-commit/src/sys/vm/vm_mmap.c#2 integrate .. //depot/projects/vimage-commit/src/sys/vm/vm_object.c#3 integrate .. //depot/projects/vimage-commit/src/sys/vm/vm_pageout.c#2 integrate .. //depot/projects/vimage-commit/src/sys/vm/vm_zeroidle.c#2 integrate .. //depot/projects/vimage-commit/src/sys/xen/evtchn/evtchn.c#1 branch .. //depot/projects/vimage-commit/src/sys/xen/evtchn/evtchn_dev.c#1 branch .. //depot/projects/vimage-commit/src/sys/xen/gnttab.c#1 branch .. //depot/projects/vimage-commit/src/sys/xen/gnttab.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/COPYING#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/acm.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/acm_ops.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/arch-ia64.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/arch-powerpc.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/arch-x86/xen-x86_32.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/arch-x86/xen-x86_64.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/arch-x86/xen.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/arch-x86_32.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/arch-x86_64.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/callback.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/dom0_ops.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/domctl.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/elfnote.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/elfstructs.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/event_channel.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/features.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/foreign/Makefile#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/foreign/mkchecker.py#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/foreign/mkheader.py#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/foreign/reference.size#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/foreign/structs.py#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/grant_table.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/hvm/e820.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/hvm/hvm_info_table.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/hvm/hvm_op.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/hvm/ioreq.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/hvm/params.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/hvm/save.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/hvm/vmx_assist.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/blkif.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/console.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/fbif.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/kbdif.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/netif.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/pciif.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/protocols.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/ring.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/tpmif.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/xenbus.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/io/xs_wire.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/kexec.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/libelf.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/memory.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/nmi.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/physdev.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/platform.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/sched.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/sysctl.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/trace.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/vcpu.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/version.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/xen-compat.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/xen.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/xencomm.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/interface/xenoprof.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/xenbus/init.txt#1 branch .. //depot/projects/vimage-commit/src/sys/xen/xenbus/xenbus_client.c#1 branch .. //depot/projects/vimage-commit/src/sys/xen/xenbus/xenbus_comms.c#1 branch .. //depot/projects/vimage-commit/src/sys/xen/xenbus/xenbus_comms.h#1 branch .. //depot/projects/vimage-commit/src/sys/xen/xenbus/xenbus_dev.c#1 branch .. //depot/projects/vimage-commit/src/sys/xen/xenbus/xenbus_probe.c#1 branch .. //depot/projects/vimage-commit/src/sys/xen/xenbus/xenbus_probe_backend.c#1 branch .. //depot/projects/vimage-commit/src/sys/xen/xenbus/xenbus_xs.c#1 branch Differences ... ==== //depot/projects/vimage-commit/src/sys/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.51 2008/07/20 09:16:00 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.53 2008/08/15 14:11:30 philip Exp $ .include @@ -44,4 +44,15 @@ rm -f ${.CURDIR}/TAGS cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscope.files +# You need the textproc/glimpse ports for this. +glimpse: +.if !exists(${.CURDIR}/.glimpse_exclude) + echo .svn > ${.CURDIR}/.glimpse_exclude + echo /compile/ >> ${.CURDIR}/.glimpse_exclude +.endif + cd ${.CURDIR}; glimpseindex -H . -B -f -o . + +glimpse-clean: + cd ${.CURDIR}; rm -f .glimpse_* + .include ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/bpf_jit_machdep.c#3 (text+ko) ==== @@ -1,6 +1,6 @@ /*- - * Copyright (c) 2002 - 2003 NetGroup, Politecnico di Torino (Italy) - * Copyright (c) 2005 Jung-uk Kim + * Copyright (C) 2002-2003 NetGroup, Politecnico di Torino (Italy) + * Copyright (C) 2005-2008 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.6 2008/06/24 20:12:12 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.10 2008/08/13 19:52:00 jkim Exp $"); #include "opt_bpf.h" @@ -105,13 +105,13 @@ /* Do not compile an empty filter. */ if (nins == 0) - return NULL; + return (NULL); /* Allocate the reference table for the jumps */ stream.refs = (u_int *)malloc((nins + 1) * sizeof(u_int), M_BPFJIT, M_NOWAIT); if (stream.refs == NULL) - return NULL; + return (NULL); /* Reset the reference table */ for (i = 0; i < nins + 1; i++) @@ -131,40 +131,38 @@ ins = prog; /* create the procedure header */ - PUSH(RBP); - MOVrq(RSP, RBP); - MOVdoq(ESI, -8, RBP); - MOVdoq(EDX, -12, RBP); - PUSH(RBX); + MOVrq2(RBX, R8); MOVrq(RDI, RBX); + MOVrd2(ESI, R9D); + MOVrd(EDX, EDI); for (i = 0; i < nins; i++) { stream.bpf_pc++; switch (ins->code) { default: - return NULL; + return (NULL); case BPF_RET|BPF_K: MOVid(ins->k, EAX); - POP(RBX); - LEAVE_RET(); + MOVrq3(R8, RBX); + RET(); break; case BPF_RET|BPF_A: - POP(RBX); - LEAVE_RET(); + MOVrq3(R8, RBX); + RET(); break; case BPF_LD|BPF_W|BPF_ABS: MOVid(ins->k, ECX); MOVrd(ECX, ESI); - ADDib(sizeof(int), ECX); - CMPoqd(-12, RBP, ECX); - JLEb(5); + ADDib(sizeof(int32_t), ECX); + CMPrd(EDI, ECX); + JBEb(6); ZEROrd(EAX); - POP(RBX); - LEAVE_RET(); + MOVrq3(R8, RBX); + RET(); MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; @@ -173,11 +171,11 @@ ZEROrd(EAX); MOVid(ins->k, ECX); MOVrd(ECX, ESI); - ADDib(sizeof(short), ECX); - CMPoqd(-12, RBP, ECX); - JLEb(3); - POP(RBX); - LEAVE_RET(); + ADDib(sizeof(int16_t), ECX); + CMPrd(EDI, ECX); + JBEb(4); + MOVrq3(R8, RBX); + RET(); MOVobw(RBX, RSI, AX); SWAP_AX(); break; @@ -185,31 +183,31 @@ case BPF_LD|BPF_B|BPF_ABS: ZEROrd(EAX); MOVid(ins->k, ECX); - CMPoqd(-12, RBP, ECX); - JLEb(3); - POP(RBX); - LEAVE_RET(); + CMPrd(EDI, ECX); + JBEb(4); + MOVrq3(R8, RBX); + RET(); MOVobb(RBX, RCX, AL); break; case BPF_LD|BPF_W|BPF_LEN: - MOVoqd(-8, RBP, EAX); + MOVrd3(R9D, EAX); break; case BPF_LDX|BPF_W|BPF_LEN: - MOVoqd(-8, RBP, EDX); + MOVrd3(R9D, EDX); break; case BPF_LD|BPF_W|BPF_IND: MOVid(ins->k, ECX); ADDrd(EDX, ECX); MOVrd(ECX, ESI); - ADDib(sizeof(int), ECX); - CMPoqd(-12, RBP, ECX); - JLEb(5); + ADDib(sizeof(int32_t), ECX); + CMPrd(EDI, ECX); + JBEb(6); ZEROrd(EAX); - POP(RBX); - LEAVE_RET(); + MOVrq3(R8, RBX); + RET(); MOVobd(RBX, RSI, EAX); BSWAP(EAX); break; @@ -219,11 +217,11 @@ MOVid(ins->k, ECX); ADDrd(EDX, ECX); MOVrd(ECX, ESI); - ADDib(sizeof(short), ECX); - CMPoqd(-12, RBP, ECX); - JLEb(3); - POP(RBX); - LEAVE_RET(); + ADDib(sizeof(int16_t), ECX); + CMPrd(EDI, ECX); + JBEb(4); + MOVrq3(R8, RBX); + RET(); MOVobw(RBX, RSI, AX); SWAP_AX(); break; @@ -232,23 +230,23 @@ ZEROrd(EAX); MOVid(ins->k, ECX); ADDrd(EDX, ECX); - CMPoqd(-12, RBP, ECX); - JLEb(3); - POP(RBX); - LEAVE_RET(); + CMPrd(EDI, ECX); + JBEb(4); + MOVrq3(R8, RBX); + RET(); MOVobb(RBX, RCX, AL); break; case BPF_LDX|BPF_MSH|BPF_B: MOVid(ins->k, ECX); - CMPoqd(-12, RBP, ECX); - JLEb(5); + CMPrd(EDI, ECX); + JBEb(6); ZEROrd(EAX); - POP(RBX); - LEAVE_RET(); + MOVrq3(R8, RBX); + RET(); ZEROrd(EDX); MOVobb(RBX, RCX, DL); - ANDib(0xf, DL); + ANDib(0x0f, DL); SHLib(2, EDX); break; @@ -295,70 +293,59 @@ break; case BPF_JMP|BPF_JGT|BPF_K: + if (ins->jt == 0 && ins->jf == 0) + break; CMPid(ins->k, EAX); - /* 5 is the size of the following JMP */ - JG(stream.refs[stream.bpf_pc + ins->jt] - - stream.refs[stream.bpf_pc] + 5 ); - JMP(stream.refs[stream.bpf_pc + ins->jf] - - stream.refs[stream.bpf_pc]); + JCC(JA, JBE); break; case BPF_JMP|BPF_JGE|BPF_K: + if (ins->jt == 0 && ins->jf == 0) + break; CMPid(ins->k, EAX); - JGE(stream.refs[stream.bpf_pc + ins->jt] - - stream.refs[stream.bpf_pc] + 5); - JMP(stream.refs[stream.bpf_pc + ins->jf] - - stream.refs[stream.bpf_pc]); + JCC(JAE, JB); break; case BPF_JMP|BPF_JEQ|BPF_K: + if (ins->jt == 0 && ins->jf == 0) + break; CMPid(ins->k, EAX); - JE(stream.refs[stream.bpf_pc + ins->jt] - - stream.refs[stream.bpf_pc] + 5); - JMP(stream.refs[stream.bpf_pc + ins->jf] - - stream.refs[stream.bpf_pc]); + JCC(JE, JNE); break; case BPF_JMP|BPF_JSET|BPF_K: - MOVrd(EAX, ECX); - ANDid(ins->k, ECX); - JE(stream.refs[stream.bpf_pc + ins->jf] - - stream.refs[stream.bpf_pc] + 5); - JMP(stream.refs[stream.bpf_pc + ins->jt] - - stream.refs[stream.bpf_pc]); + if (ins->jt == 0 && ins->jf == 0) + break; + TESTid(ins->k, EAX); + JCC(JNE, JE); break; case BPF_JMP|BPF_JGT|BPF_X: + if (ins->jt == 0 && ins->jf == 0) + break; CMPrd(EDX, EAX); - JA(stream.refs[stream.bpf_pc + ins->jt] - - stream.refs[stream.bpf_pc] + 5); - JMP(stream.refs[stream.bpf_pc + ins->jf] - - stream.refs[stream.bpf_pc]); + JCC(JA, JBE); break; case BPF_JMP|BPF_JGE|BPF_X: + if (ins->jt == 0 && ins->jf == 0) + break; CMPrd(EDX, EAX); - JAE(stream.refs[stream.bpf_pc + ins->jt] - - stream.refs[stream.bpf_pc] + 5); - JMP(stream.refs[stream.bpf_pc + ins->jf] - - stream.refs[stream.bpf_pc]); + JCC(JAE, JB); break; case BPF_JMP|BPF_JEQ|BPF_X: + if (ins->jt == 0 && ins->jf == 0) + break; CMPrd(EDX, EAX); - JE(stream.refs[stream.bpf_pc + ins->jt] - - stream.refs[stream.bpf_pc] + 5); - JMP(stream.refs[stream.bpf_pc + ins->jf] - - stream.refs[stream.bpf_pc]); + JCC(JE, JNE); break; case BPF_JMP|BPF_JSET|BPF_X: - MOVrd(EAX, ECX); - ANDrd(EDX, ECX); - JE(stream.refs[stream.bpf_pc + ins->jf] - - stream.refs[stream.bpf_pc] + 5); - JMP(stream.refs[stream.bpf_pc + ins->jt] - - stream.refs[stream.bpf_pc]); + if (ins->jt == 0 && ins->jf == 0) + break; + TESTrd(EDX, EAX); + JCC(JNE, JE); break; case BPF_ALU|BPF_ADD|BPF_X: @@ -376,11 +363,11 @@ break; case BPF_ALU|BPF_DIV|BPF_X: - CMPid(0, EDX); - JNEb(5); + TESTrd(EDX, EDX); + JNEb(6); ZEROrd(EAX); - POP(RBX); - LEAVE_RET(); + MOVrq3(R8, RBX); + RET(); MOVrd(EDX, ECX); ZEROrd(EDX); DIVrd(ECX); @@ -466,7 +453,7 @@ stream.ibuf = (char *)malloc(stream.cur_ip, M_BPFJIT, M_NOWAIT); if (stream.ibuf == NULL) { free(stream.refs, M_BPFJIT); - return NULL; + return (NULL); } /* @@ -490,5 +477,5 @@ */ free(stream.refs, M_BPFJIT); - return (bpf_filter_func)stream.ibuf; + return ((bpf_filter_func)stream.ibuf); } ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/bpf_jit_machdep.h#3 (text+ko) ==== @@ -1,6 +1,6 @@ /*- - * Copyright (c) 2002 - 2003 NetGroup, Politecnico di Torino (Italy) - * Copyright (c) 2005 Jung-uk Kim + * Copyright (C) 2002-2003 NetGroup, Politecnico di Torino (Italy) + * Copyright (C) 2005-2008 Jung-uk Kim * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,7 +28,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.5 2008/06/24 20:12:12 jkim Exp $ + * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.8 2008/08/13 19:25:09 jkim Exp $ */ #ifndef _BPF_JIT_MACHDEP_H_ @@ -45,6 +45,14 @@ #define RBP 5 #define RSI 6 #define RDI 7 +#define R8 0 +#define R9 1 +#define R10 2 +#define R11 3 +#define R12 4 +#define R13 5 +#define R14 6 +#define R15 7 #define EAX 0 #define ECX 1 @@ -54,6 +62,14 @@ #define EBP 5 #define ESI 6 #define EDI 7 +#define R8D 0 +#define R9D 1 +#define R10D 2 +#define R11D 3 +#define R12D 4 +#define R13D 5 +#define R14D 6 +#define R15D 7 #define AX 0 #define CX 1 @@ -125,6 +141,20 @@ (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) +/* movl sr32,dr32 (dr32 = %r8-15d) */ +#define MOVrd2(sr32, dr32) do { \ + emitm(&stream, 0x8941, 2); \ + emitm(&stream, \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ +} while (0) + +/* movl sr32,dr32 (sr32 = %r8-15d) */ +#define MOVrd3(sr32, dr32) do { \ + emitm(&stream, 0x8944, 2); \ + emitm(&stream, \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ +} while (0) + /* movq sr64,dr64 */ #define MOVrq(sr64, dr64) do { \ emitm(&stream, 0x8948, 2); \ @@ -132,20 +162,18 @@ (3 << 6) | ((sr64 & 0x7) << 3) | (dr64 & 0x7), 1); \ } while (0) -/* movl off(sr64),dr32 */ -#define MOVoqd(off, sr64, dr32) do { \ - emitm(&stream, 0x8b, 1); \ +/* movq sr64,dr64 (dr64 = %r8-15) */ +#define MOVrq2(sr64, dr64) do { \ + emitm(&stream, 0x8949, 2); \ emitm(&stream, \ - (1 << 6) | ((dr32 & 0x7) << 3) | (sr64 & 0x7), 1); \ - emitm(&stream, off, 1); \ + (3 << 6) | ((sr64 & 0x7) << 3) | (dr64 & 0x7), 1); \ } while (0) -/* movl sr32,off(dr64) */ -#define MOVdoq(sr32, off, dr64) do { \ - emitm(&stream, 0x89, 1); \ +/* movq sr64,dr64 (sr64 = %r8-15) */ +#define MOVrq3(sr64, dr64) do { \ + emitm(&stream, 0x894c, 2); \ emitm(&stream, \ - (1 << 6) | ((sr32 & 0x7) << 3) | (dr64 & 0x7), 1); \ - emitm(&stream, off, 1); \ + (3 << 6) | ((sr64 & 0x7) << 3) | (dr64 & 0x7), 1); \ } while (0) /* movl (sr64,or64,1),dr32 */ @@ -187,21 +215,11 @@ emitm(&stream, 0xc486, 2); \ } while (0) -/* pushq r64 */ -#define PUSH(r64) do { \ - emitm(&stream, (5 << 4) | (0 << 3) | (r64 & 0x7), 1); \ +/* ret */ +#define RET() do { \ + emitm(&stream, 0xc3, 1); \ } while (0) -/* popq r64 */ -#define POP(r64) do { \ - emitm(&stream, (5 << 4) | (1 << 3) | (r64 & 0x7), 1); \ -} while (0) - -/* leaveq/retq */ -#define LEAVE_RET() do { \ - emitm(&stream, 0xc3c9, 2); \ -} while (0) - /* addl sr32,dr32 */ #define ADDrd(sr32, dr32) do { \ emitm(&stream, 0x01, 1); \ @@ -215,13 +233,6 @@ emitm(&stream, i32, 4); \ } while (0) -/* addl i32,r32 */ -#define ADDid(i32, r32) do { \ - emitm(&stream, 0x81, 1); \ - emitm(&stream, (24 << 3) | r32, 1); \ - emitm(&stream, i32, 4); \ -} while (0) - /* addl i8,r32 */ #define ADDib(i8, r32) do { \ emitm(&stream, 0x83, 1); \ @@ -283,6 +294,24 @@ (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ } while (0) +/* testl i32,r32 */ +#define TESTid(i32, r32) do { \ + if (r32 == EAX) { \ + emitm(&stream, 0xa9, 1); \ + } else { \ + emitm(&stream, 0xf7, 1); \ + emitm(&stream, (3 << 6) | r32, 1); \ + } \ + emitm(&stream, i32, 4); \ +} while (0) + +/* testl sr32,dr32 */ +#define TESTrd(sr32, dr32) do { \ + emitm(&stream, 0x85, 1); \ + emitm(&stream, \ + (3 << 6) | ((sr32 & 0x7) << 3) | (dr32 & 0x7), 1); \ +} while (0) + /* orl sr32,dr32 */ #define ORrd(sr32, dr32) do { \ emitm(&stream, 0x09, 1); \ @@ -333,14 +362,6 @@ emitm(&stream, (27 << 3) | (r32 & 0x7), 1); \ } while (0) -/* cmpl off(sr64),dr32 */ -#define CMPoqd(off, sr64, dr32) do { \ - emitm(&stream, 0x3b, 1); \ - emitm(&stream, \ - (1 << 6) | ((dr32 & 0x7) << 3) | (sr64 & 0x7), 1); \ - emitm(&stream, off, 1); \ -} while (0) - /* cmpl sr32,dr32 */ #define CMPrd(sr32, dr32) do { \ emitm(&stream, 0x39, 1); \ @@ -366,48 +387,12 @@ emitm(&stream, off8, 1); \ } while (0) -/* je off32 */ -#define JE(off32) do { \ - emitm(&stream, 0x840f, 2); \ - emitm(&stream, off32, 4); \ -} while (0) - -/* jle off32 */ -#define JLE(off32) do { \ - emitm(&stream, 0x8e0f, 2); \ - emitm(&stream, off32, 4); \ -} while (0) - -/* jle off8 */ -#define JLEb(off8) do { \ - emitm(&stream, 0x7e, 1); \ +/* jbe off8 */ +#define JBEb(off8) do { \ + emitm(&stream, 0x76, 1); \ emitm(&stream, off8, 1); \ } while (0) -/* ja off32 */ -#define JA(off32) do { \ - emitm(&stream, 0x870f, 2); \ - emitm(&stream, off32, 4); \ -} while (0) - -/* jae off32 */ -#define JAE(off32) do { \ - emitm(&stream, 0x830f, 2); \ - emitm(&stream, off32, 4); \ -} while (0) - -/* jg off32 */ -#define JG(off32) do { \ - emitm(&stream, 0x8f0f, 2); \ - emitm(&stream, off32, 4); \ -} while (0) - -/* jge off32 */ -#define JGE(off32) do { \ - emitm(&stream, 0x8d0f, 2); \ - emitm(&stream, off32, 4); \ -} while (0) - /* jmp off32 */ #define JMP(off32) do { \ emitm(&stream, 0xe9, 1); \ @@ -420,4 +405,33 @@ emitm(&stream, (3 << 6) | ((r32 & 0x7) << 3) | (r32 & 0x7), 1); \ } while (0) +/* + * Conditional long jumps + */ +#define JB 0x82 +#define JAE 0x83 +#define JE 0x84 +#define JNE 0x85 +#define JBE 0x86 +#define JA 0x87 + +#define JCC(t, f) do { \ + if (ins->jt != 0 && ins->jf != 0) { \ + /* 5 is the size of the following jmp */ \ + emitm(&stream, ((t) << 8) | 0x0f, 2); \ + emitm(&stream, stream.refs[stream.bpf_pc + ins->jt] - \ + stream.refs[stream.bpf_pc] + 5, 4); \ + JMP(stream.refs[stream.bpf_pc + ins->jf] - \ + stream.refs[stream.bpf_pc]); \ + } else if (ins->jt != 0) { \ + emitm(&stream, ((t) << 8) | 0x0f, 2); \ + emitm(&stream, stream.refs[stream.bpf_pc + ins->jt] - \ + stream.refs[stream.bpf_pc], 4); \ + } else { \ + emitm(&stream, ((f) << 8) | 0x0f, 2); \ + emitm(&stream, stream.refs[stream.bpf_pc + ins->jf] - \ + stream.refs[stream.bpf_pc], 4); \ + } \ +} while (0) + #endif /* _BPF_JIT_MACHDEP_H_ */ ==== //depot/projects/vimage-commit/src/sys/amd64/amd64/db_disasm.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.31 2006/11/13 21:14:54 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/db_disasm.c,v 1.32 2008/08/11 20:19:42 jhb Exp $"); /* * Instruction disassembler. @@ -164,15 +164,37 @@ "" }; +static const char * const db_Grp15[] = { + "fxsave", >>> TRUNCATED FOR MAIL (1000 lines) <<<