From owner-p4-projects@FreeBSD.ORG Tue Aug 19 23:18:06 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 891281065690; Tue, 19 Aug 2008 23:18:06 +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 4C890106568C for ; Tue, 19 Aug 2008 23:18:06 +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 3C31A8FC1C for ; Tue, 19 Aug 2008 23:18:06 +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 m7JNI6oG026300 for ; Tue, 19 Aug 2008 23:18:06 GMT (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.2/8.14.1/Submit) id m7JNI57e026296 for perforce@freebsd.org; Tue, 19 Aug 2008 23:18:05 GMT (envelope-from julian@freebsd.org) Date: Tue, 19 Aug 2008 23:18:05 GMT Message-Id: <200808192318.m7JNI57e026296@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 147848 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: Tue, 19 Aug 2008 23:18:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=147848 Change 147848 by julian@julian_trafmon1 on 2008/08/19 23:17:27 IFC after vimage commit 1 Affected files ... .. //depot/projects/vimage/src/sys/amd64/amd64/bpf_jit_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/bpf_jit_machdep.h#4 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/dump_machdep.c#9 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/exception.S#6 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/minidump_machdep.c#11 integrate .. //depot/projects/vimage/src/sys/amd64/include/pcpu.h#5 integrate .. //depot/projects/vimage/src/sys/arm/arm/dump_machdep.c#8 integrate .. //depot/projects/vimage/src/sys/arm/include/pcpu.h#4 integrate .. //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#3 integrate .. //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#19 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#10 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#20 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_socket.c#9 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_sockio.c#5 integrate .. //depot/projects/vimage/src/sys/compat/svr4/svr4_stat.c#6 integrate .. //depot/projects/vimage/src/sys/conf/files.i386#17 integrate .. //depot/projects/vimage/src/sys/conf/options#28 integrate .. //depot/projects/vimage/src/sys/contrib/altq/altq/altq_subr.c#6 integrate .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/fil.c#5 integrate .. //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#9 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/pf.c#14 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_if.c#9 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#15 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/pf_subr.c#5 integrate .. //depot/projects/vimage/src/sys/contrib/rdma/rdma_cma.c#2 integrate .. //depot/projects/vimage/src/sys/ddb/db_output.c#3 integrate .. //depot/projects/vimage/src/sys/ddb/db_textdump.c#4 integrate .. //depot/projects/vimage/src/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#8 integrate .. //depot/projects/vimage/src/sys/dev/firewire/firewire.c#14 integrate .. //depot/projects/vimage/src/sys/dev/pci/pci_pci.c#10 integrate .. //depot/projects/vimage/src/sys/dev/sound/midi/sequencer.c#5 integrate .. //depot/projects/vimage/src/sys/dev/sound/pcm/sound.h#6 integrate .. //depot/projects/vimage/src/sys/dev/syscons/daemon/daemon_saver.c#7 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehci.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehcireg.h#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/ehcivar.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/hid.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_rum.c#13 integrate .. //depot/projects/vimage/src/sys/dev/usb/ufoma.c#6 integrate .. //depot/projects/vimage/src/sys/dev/usb/ums.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/usb.h#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#26 integrate .. //depot/projects/vimage/src/sys/dev/xen/blkfront/blkfront.c#2 integrate .. //depot/projects/vimage/src/sys/fs/cd9660/cd9660_rrip.c#7 integrate .. //depot/projects/vimage/src/sys/geom/vinum/geom_vinum_drive.c#6 integrate .. //depot/projects/vimage/src/sys/i386/i386/bpf_jit_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/i386/i386/bpf_jit_machdep.h#4 integrate .. //depot/projects/vimage/src/sys/i386/i386/dump_machdep.c#11 integrate .. //depot/projects/vimage/src/sys/i386/i386/machdep.c#13 integrate .. //depot/projects/vimage/src/sys/i386/i386/minidump_machdep.c#11 integrate .. //depot/projects/vimage/src/sys/i386/ibcs2/ibcs2_socksys.c#6 integrate .. //depot/projects/vimage/src/sys/i386/include/pcpu.h#6 integrate .. //depot/projects/vimage/src/sys/i386/include/pmap.h#9 integrate .. //depot/projects/vimage/src/sys/i386/include/xen/xenfunc.h#2 integrate .. //depot/projects/vimage/src/sys/i386/include/xen/xenpmap.h#2 integrate .. //depot/projects/vimage/src/sys/i386/include/xen/xenvar.h#2 integrate .. //depot/projects/vimage/src/sys/i386/xen/exception.s#2 integrate .. //depot/projects/vimage/src/sys/i386/xen/pmap.c#2 integrate .. //depot/projects/vimage/src/sys/i386/xen/xen_machdep.c#2 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/dump_machdep.c#8 integrate .. //depot/projects/vimage/src/sys/ia64/include/pcpu.h#4 integrate .. //depot/projects/vimage/src/sys/kern/kern_jail.c#12 integrate .. //depot/projects/vimage/src/sys/kern/kern_mib.c#13 integrate .. //depot/projects/vimage/src/sys/kern/kern_poll.c#10 integrate .. //depot/projects/vimage/src/sys/kern/kern_uuid.c#8 integrate .. //depot/projects/vimage/src/sys/kern/kern_xxx.c#9 integrate .. //depot/projects/vimage/src/sys/kern/vfs_bio.c#14 integrate .. //depot/projects/vimage/src/sys/mips/include/pcpu.h#2 integrate .. //depot/projects/vimage/src/sys/net/bpf_jitter.c#2 integrate .. //depot/projects/vimage/src/sys/net/bpf_jitter.h#2 integrate .. //depot/projects/vimage/src/sys/net/bridgestp.c#12 integrate .. //depot/projects/vimage/src/sys/net/if.c#32 integrate .. //depot/projects/vimage/src/sys/net/if_bridge.c#15 integrate .. //depot/projects/vimage/src/sys/net/if_ef.c#5 integrate .. //depot/projects/vimage/src/sys/net/if_ethersubr.c#22 integrate .. //depot/projects/vimage/src/sys/net/if_faith.c#4 integrate .. //depot/projects/vimage/src/sys/net/if_gif.c#15 integrate .. //depot/projects/vimage/src/sys/net/if_loop.c#24 integrate .. //depot/projects/vimage/src/sys/net/if_mib.c#6 integrate .. //depot/projects/vimage/src/sys/net/if_spppsubr.c#7 integrate .. //depot/projects/vimage/src/sys/net/if_stf.c#10 integrate .. //depot/projects/vimage/src/sys/net/if_vlan.c#9 integrate .. //depot/projects/vimage/src/sys/net/raw_cb.c#8 integrate .. //depot/projects/vimage/src/sys/net/raw_usrreq.c#7 integrate .. //depot/projects/vimage/src/sys/net/route.c#21 integrate .. //depot/projects/vimage/src/sys/net/rtsock.c#15 integrate .. //depot/projects/vimage/src/sys/netgraph/atm/ng_atm.c#5 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#33 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_bridge.c#6 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#12 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_ether.c#14 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_gif.c#6 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_iface.c#9 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_source.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/if_ether.c#20 integrate .. //depot/projects/vimage/src/sys/netinet/igmp.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/in.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/in_gif.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/in_mcast.c#9 integrate .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#28 integrate .. //depot/projects/vimage/src/sys/netinet/in_rmx.c#17 integrate .. //depot/projects/vimage/src/sys/netinet/in_var.h#8 integrate .. //depot/projects/vimage/src/sys/netinet/ip6.h#3 integrate .. //depot/projects/vimage/src/sys/netinet/ip_carp.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/ip_divert.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fastfwd.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#38 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw_nat.c#5 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw_pfil.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/ip_icmp.c#14 integrate .. //depot/projects/vimage/src/sys/netinet/ip_input.c#29 integrate .. //depot/projects/vimage/src/sys/netinet/ip_ipsec.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/ip_mroute.c#10 integrate .. //depot/projects/vimage/src/sys/netinet/ip_options.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/ip_output.c#16 integrate .. //depot/projects/vimage/src/sys/netinet/ip_var.h#10 integrate .. //depot/projects/vimage/src/sys/netinet/raw_ip.c#25 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#21 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#29 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#20 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#30 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_offload.c#6 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_output.c#20 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_reass.c#6 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_sack.c#10 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#45 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#34 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timer.c#19 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#15 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#21 integrate .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#30 integrate .. //depot/projects/vimage/src/sys/netinet6/dest6.c#7 integrate .. //depot/projects/vimage/src/sys/netinet6/frag6.c#16 integrate .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#27 integrate .. //depot/projects/vimage/src/sys/netinet6/in6.c#19 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_gif.c#11 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#21 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#19 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#27 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_rmx.c#16 integrate .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#20 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_forward.c#13 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#32 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_ipsec.c#11 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#15 integrate .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#18 integrate .. //depot/projects/vimage/src/sys/netinet6/mld6.c#12 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6.c#28 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6.h#7 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#17 integrate .. //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#15 integrate .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#22 integrate .. //depot/projects/vimage/src/sys/netinet6/route6.c#8 integrate .. //depot/projects/vimage/src/sys/netinet6/scope6.c#15 integrate .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#26 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#25 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec.h#8 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_input.c#15 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_mbuf.c#5 integrate .. //depot/projects/vimage/src/sys/netipsec/ipsec_output.c#15 integrate .. //depot/projects/vimage/src/sys/netipsec/key.c#19 integrate .. //depot/projects/vimage/src/sys/netipsec/key_debug.h#3 integrate .. //depot/projects/vimage/src/sys/netipsec/keysock.c#12 integrate .. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#14 integrate .. //depot/projects/vimage/src/sys/netipsec/xform_esp.c#13 integrate .. //depot/projects/vimage/src/sys/netipsec/xform_ipcomp.c#11 integrate .. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#15 integrate .. //depot/projects/vimage/src/sys/nfsclient/bootp_subr.c#10 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_diskless.c#9 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_vfsops.c#18 integrate .. //depot/projects/vimage/src/sys/nfsclient/nfs_vnops.c#15 integrate .. //depot/projects/vimage/src/sys/powerpc/include/pcpu.h#5 integrate .. //depot/projects/vimage/src/sys/rpc/authunix_prot.c#7 integrate .. //depot/projects/vimage/src/sys/rpc/rpcclnt.c#7 integrate .. //depot/projects/vimage/src/sys/sparc64/include/pcpu.h#5 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/dump_machdep.c#8 integrate .. //depot/projects/vimage/src/sys/sun4v/include/pcpu.h#7 integrate .. //depot/projects/vimage/src/sys/sun4v/sun4v/dump_machdep.c#8 integrate .. //depot/projects/vimage/src/sys/sys/param.h#24 integrate .. //depot/projects/vimage/src/sys/sys/pcpu.h#8 integrate .. //depot/projects/vimage/src/sys/sys/types.h#4 integrate .. //depot/projects/vimage/src/sys/sys/vimage.h#61 integrate .. //depot/projects/vimage/src/sys/vm/vm_page.c#17 integrate .. //depot/projects/vimage/src/sys/xen/evtchn/evtchn_dev.c#2 integrate .. //depot/projects/vimage/src/sys/xen/gnttab.c#2 integrate Differences ... ==== //depot/projects/vimage/src/sys/amd64/amd64/bpf_jit_machdep.c#4 (text+ko) ==== @@ -30,18 +30,22 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.10 2008/08/13 19:52:00 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.c,v 1.12 2008/08/18 19:14:26 jkim Exp $"); +#ifdef _KERNEL #include "opt_bpf.h" - #include #include #include -#include #include #include +#include +#else +#include +#endif + +#include -#include #include #include @@ -53,7 +57,7 @@ * emit routine to update the jump table */ static void -emit_length(bpf_bin_stream *stream, u_int value, u_int len) +emit_length(bpf_bin_stream *stream, __unused u_int value, u_int len) { (stream->refs)[stream->bpf_pc] += len; @@ -108,8 +112,12 @@ return (NULL); /* Allocate the reference table for the jumps */ +#ifdef _KERNEL stream.refs = (u_int *)malloc((nins + 1) * sizeof(u_int), M_BPFJIT, M_NOWAIT); +#else + stream.refs = (u_int *)malloc((nins + 1) * sizeof(u_int)); +#endif if (stream.refs == NULL) return (NULL); @@ -141,7 +149,11 @@ switch (ins->code) { default: +#ifdef _KERNEL return (NULL); +#else + abort(); +#endif case BPF_RET|BPF_K: MOVid(ins->k, EAX); @@ -155,11 +167,13 @@ break; case BPF_LD|BPF_W|BPF_ABS: - MOVid(ins->k, ECX); - MOVrd(ECX, ESI); - ADDib(sizeof(int32_t), ECX); - CMPrd(EDI, ECX); - JBEb(6); + MOVid(ins->k, ESI); + CMPrd(EDI, ESI); + JAb(12); + MOVrd(EDI, ECX); + SUBrd(ESI, ECX); + CMPid(sizeof(int32_t), ECX); + JAEb(6); ZEROrd(EAX); MOVrq3(R8, RBX); RET(); @@ -169,11 +183,13 @@ case BPF_LD|BPF_H|BPF_ABS: ZEROrd(EAX); - MOVid(ins->k, ECX); - MOVrd(ECX, ESI); - ADDib(sizeof(int16_t), ECX); - CMPrd(EDI, ECX); - JBEb(4); + MOVid(ins->k, ESI); + CMPrd(EDI, ESI); + JAb(12); + MOVrd(EDI, ECX); + SUBrd(ESI, ECX); + CMPid(sizeof(int16_t), ECX); + JAEb(4); MOVrq3(R8, RBX); RET(); MOVobw(RBX, RSI, AX); @@ -182,12 +198,12 @@ case BPF_LD|BPF_B|BPF_ABS: ZEROrd(EAX); - MOVid(ins->k, ECX); - CMPrd(EDI, ECX); - JBEb(4); + MOVid(ins->k, ESI); + CMPrd(EDI, ESI); + JBb(4); MOVrq3(R8, RBX); RET(); - MOVobb(RBX, RCX, AL); + MOVobb(RBX, RSI, AL); break; case BPF_LD|BPF_W|BPF_LEN: @@ -199,12 +215,18 @@ break; case BPF_LD|BPF_W|BPF_IND: - MOVid(ins->k, ECX); - ADDrd(EDX, ECX); - MOVrd(ECX, ESI); - ADDib(sizeof(int32_t), ECX); - CMPrd(EDI, ECX); - JBEb(6); + CMPrd(EDI, EDX); + JAb(27); + MOVid(ins->k, ESI); + MOVrd(EDI, ECX); + SUBrd(EDX, ECX); + CMPrd(ESI, ECX); + JBb(14); + ADDrd(EDX, ESI); + MOVrd(EDI, ECX); + SUBrd(ESI, ECX); + CMPid(sizeof(int32_t), ECX); + JAEb(6); ZEROrd(EAX); MOVrq3(R8, RBX); RET(); @@ -214,12 +236,18 @@ case BPF_LD|BPF_H|BPF_IND: ZEROrd(EAX); - MOVid(ins->k, ECX); - ADDrd(EDX, ECX); - MOVrd(ECX, ESI); - ADDib(sizeof(int16_t), ECX); - CMPrd(EDI, ECX); - JBEb(4); + CMPrd(EDI, EDX); + JAb(27); + MOVid(ins->k, ESI); + MOVrd(EDI, ECX); + SUBrd(EDX, ECX); + CMPrd(ESI, ECX); + JBb(14); + ADDrd(EDX, ESI); + MOVrd(EDI, ECX); + SUBrd(ESI, ECX); + CMPid(sizeof(int16_t), ECX); + JAEb(4); MOVrq3(R8, RBX); RET(); MOVobw(RBX, RSI, AX); @@ -228,24 +256,28 @@ case BPF_LD|BPF_B|BPF_IND: ZEROrd(EAX); - MOVid(ins->k, ECX); - ADDrd(EDX, ECX); - CMPrd(EDI, ECX); - JBEb(4); + CMPrd(EDI, EDX); + JAEb(13); + MOVid(ins->k, ESI); + MOVrd(EDI, ECX); + SUBrd(EDX, ECX); + CMPrd(ESI, ECX); + JAb(4); MOVrq3(R8, RBX); RET(); - MOVobb(RBX, RCX, AL); + ADDrd(EDX, ESI); + MOVobb(RBX, RSI, AL); break; case BPF_LDX|BPF_MSH|BPF_B: - MOVid(ins->k, ECX); - CMPrd(EDI, ECX); - JBEb(6); + MOVid(ins->k, ESI); + CMPrd(EDI, ESI); + JBb(6); ZEROrd(EAX); MOVrq3(R8, RBX); RET(); ZEROrd(EDX); - MOVobb(RBX, RCX, DL); + MOVobb(RBX, RSI, DL); ANDib(0x0f, DL); SHLib(2, EDX); break; @@ -450,11 +482,19 @@ if (pass == 2) break; +#ifdef _KERNEL stream.ibuf = (char *)malloc(stream.cur_ip, M_BPFJIT, M_NOWAIT); if (stream.ibuf == NULL) { free(stream.refs, M_BPFJIT); return (NULL); } +#else + stream.ibuf = (char *)malloc(stream.cur_ip); + if (stream.ibuf == NULL) { + free(stream.refs); + return (NULL); + } +#endif /* * modify the reference table to contain the offsets and @@ -475,7 +515,11 @@ * the reference table is needed only during compilation, * now we can free it */ +#ifdef _KERNEL free(stream.refs, M_BPFJIT); +#else + free(stream.refs); +#endif return ((bpf_filter_func)stream.ibuf); } ==== //depot/projects/vimage/src/sys/amd64/amd64/bpf_jit_machdep.h#4 (text+ko) ==== @@ -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.8 2008/08/13 19:25:09 jkim Exp $ + * $FreeBSD: src/sys/amd64/amd64/bpf_jit_machdep.h,v 1.9 2008/08/18 19:14:26 jkim Exp $ */ #ifndef _BPF_JIT_MACHDEP_H_ @@ -381,15 +381,27 @@ } \ } while (0) +/* jb off8 */ +#define JBb(off8) do { \ + emitm(&stream, 0x72, 1); \ + emitm(&stream, off8, 1); \ +} while (0) + +/* jae off8 */ +#define JAEb(off8) do { \ + emitm(&stream, 0x73, 1); \ + emitm(&stream, off8, 1); \ +} while (0) + /* jne off8 */ #define JNEb(off8) do { \ emitm(&stream, 0x75, 1); \ emitm(&stream, off8, 1); \ } while (0) -/* jbe off8 */ -#define JBEb(off8) do { \ - emitm(&stream, 0x76, 1); \ +/* ja off8 */ +#define JAb(off8) do { \ + emitm(&stream, 0x77, 1); \ emitm(&stream, off8, 1); \ } while (0) ==== //depot/projects/vimage/src/sys/amd64/amd64/dump_machdep.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.14 2008/02/15 06:26:25 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.15 2008/08/17 23:27:27 bz Exp $"); #include #include ==== //depot/projects/vimage/src/sys/amd64/amd64/exception.S#6 (text+ko) ==== @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.132 2008/05/24 06:32:26 jb Exp $ + * $FreeBSD: src/sys/amd64/amd64/exception.S,v 1.133 2008/08/18 08:47:27 kib Exp $ */ #include "opt_atpic.h" @@ -636,13 +636,10 @@ .globl doreti_iret_fault doreti_iret_fault: subq $TF_RIP,%rsp /* space including tf_err, tf_trapno */ - testb $SEL_RPL_MASK,TF_CS(%rsp) /* Did we come from kernel? */ - jz 1f /* already running with kernel GS.base */ - swapgs -1: testl $PSL_I,TF_RFLAGS(%rsp) - jz 2f + testl $PSL_I,TF_RFLAGS(%rsp) + jz 1f sti -2: movq %rdi,TF_RDI(%rsp) +1: movq %rdi,TF_RDI(%rsp) movq %rsi,TF_RSI(%rsp) movq %rdx,TF_RDX(%rsp) movq %rcx,TF_RCX(%rsp) ==== //depot/projects/vimage/src/sys/amd64/amd64/minidump_machdep.c#11 (text) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.6 2008/07/08 04:00:22 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/minidump_machdep.c,v 1.7 2008/08/17 23:27:27 bz Exp $"); #include #include ==== //depot/projects/vimage/src/sys/amd64/include/pcpu.h#5 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.49 2008/04/25 05:18:48 jeff Exp $ + * $FreeBSD: src/sys/amd64/include/pcpu.h,v 1.50 2008/08/19 19:53:52 jhb Exp $ */ #ifndef _MACHINE_PCPU_H_ @@ -33,8 +33,6 @@ #error "sys/cdefs.h is a prerequisite for this file" #endif -#ifdef _KERNEL - /* * The SMP parts are setup in pmap.c and locore.s for the BSP, and * mp_machdep.c sets up the data for the AP's to "see" when they awake. @@ -52,6 +50,8 @@ u_int pc_apic_id; \ u_int pc_acpi_id /* ACPI CPU id */ +#ifdef _KERNEL + #ifdef lint extern struct pcpu *pcpup; ==== //depot/projects/vimage/src/sys/arm/arm/dump_machdep.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/dump_machdep.c,v 1.3 2008/01/28 19:04:06 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/dump_machdep.c,v 1.4 2008/08/17 23:27:27 bz Exp $"); #include #include ==== //depot/projects/vimage/src/sys/arm/include/pcpu.h#4 (text+ko) ==== @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * from: FreeBSD: src/sys/i386/include/globaldata.h,v 1.27 2001/04/27 - * $FreeBSD: src/sys/arm/include/pcpu.h,v 1.6 2007/06/06 23:23:47 jeff Exp $ + * $FreeBSD: src/sys/arm/include/pcpu.h,v 1.7 2008/08/19 19:53:52 jhb Exp $ */ #ifndef _MACHINE_PCPU_H_ @@ -38,6 +38,8 @@ struct vmspace; +#endif /* _KERNEL */ + /* * Inside the kernel, the globally reserved register g7 is used to * point at the globaldata structure. @@ -45,6 +47,8 @@ #define PCPU_MD_FIELDS \ struct pcup *pc_prvspace; +#ifdef _KERNEL + struct pcb; struct pcpu; ==== //depot/projects/vimage/src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c#3 (text+ko) ==== @@ -18,7 +18,7 @@ * * CDDL HEADER END * - * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.5 2008/06/11 18:55:19 ed Exp $ + * $FreeBSD: src/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c,v 1.6 2008/08/19 21:28:58 jb Exp $ */ /* @@ -13616,7 +13616,9 @@ cyclic_remove(state->dts_deadman); #else callout_stop(&state->dts_cleaner); + callout_drain(&state->dts_cleaner); callout_stop(&state->dts_deadman); + callout_drain(&state->dts_deadman); #endif dtrace_dstate_fini(&vstate->dtvs_dynvars); ==== //depot/projects/vimage/src/sys/compat/linprocfs/linprocfs.c#19 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.119 2008/03/31 12:01:18 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.120 2008/08/17 23:27:27 bz Exp $"); #include "opt_compat.h" ==== //depot/projects/vimage/src/sys/compat/linux/linux_ioctl.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.140 2008/07/23 17:47:44 ed Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.141 2008/08/17 23:27:27 bz Exp $"); #include "opt_compat.h" ==== //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#20 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.223 2008/07/23 17:19:02 rdivacky Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.224 2008/08/17 23:27:27 bz Exp $"); #include "opt_compat.h" #include "opt_mac.h" ==== //depot/projects/vimage/src/sys/compat/linux/linux_socket.c#9 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.74 2007/08/06 14:25:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.75 2008/08/17 23:27:27 bz Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" ==== //depot/projects/vimage/src/sys/compat/svr4/svr4_sockio.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_sockio.c,v 1.18 2006/08/04 21:15:09 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_sockio.c,v 1.19 2008/08/17 23:27:27 bz Exp $"); #include #include ==== //depot/projects/vimage/src/sys/compat/svr4/svr4_stat.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.24 2008/07/05 13:10:10 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/svr4/svr4_stat.c,v 1.25 2008/08/17 23:27:27 bz Exp $"); #include #include ==== //depot/projects/vimage/src/sys/conf/files.i386#17 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.603 2008/08/15 20:58:57 kmacy Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.604 2008/08/17 23:44:09 kmacy Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -276,7 +276,7 @@ i386/i386/io.c optional io i386/i386/io_apic.c optional apic i386/i386/k6_mem.c optional mem -i386/i386/legacy.c standard +i386/i386/legacy.c optional native i386/i386/local_apic.c optional apic i386/i386/locore.s optional native no-obj i386/xen/locore.s optional xen no-obj ==== //depot/projects/vimage/src/sys/conf/options#28 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.633 2008/07/18 14:44:51 dwmalone Exp $ +# $FreeBSD: src/sys/conf/options,v 1.635 2008/08/18 16:48:09 attilio Exp $ # # On the handling of kernel options # @@ -48,6 +48,7 @@ # Debugging options. DDB +DDB_BUFR_SIZE opt_ddb.h DDB_CAPTURE_DEFAULTBUFSIZE opt_ddb.h DDB_CAPTURE_MAXBUFSIZE opt_ddb.h DDB_CTF opt_ddb.h @@ -770,4 +771,4 @@ TCP_OFFLOAD_DISABLE opt_inet.h # Virtualize the network stack -VIMAGE opt_global.h +VIMAGE ==== //depot/projects/vimage/src/sys/contrib/altq/altq/altq_subr.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/altq/altq/altq_subr.c,v 1.10 2007/07/12 17:00:51 njl Exp $ */ +/* $FreeBSD: src/sys/contrib/altq/altq/altq_subr.c,v 1.11 2008/08/17 23:27:27 bz Exp $ */ /* $KAME: altq_subr.c,v 1.21 2003/11/06 06:32:53 kjc Exp $ */ /* @@ -77,6 +77,7 @@ #include #include #include +#include #include #endif #if defined(__i386__) ==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/fil.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.55 2007/11/26 08:18:19 darrenr Exp $ */ +/* $FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.56 2008/08/17 23:27:27 bz Exp $ */ /* * Copyright (C) 1993-2003 by Darren Reed. @@ -33,6 +33,9 @@ # if (__FreeBSD_version == 400019) # define CSUM_DELAY_DATA # endif +# if (__FreeBSD_version >= 800044) +# include +# endif # endif # include #else @@ -155,7 +158,7 @@ #if !defined(lint) static const char sccsid[] = "@(#)fil.c 1.36 6/5/96 (C) 1993-2000 Darren Reed"; -static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.55 2007/11/26 08:18:19 darrenr Exp $"; +static const char rcsid[] = "@(#)$FreeBSD: src/sys/contrib/ipfilter/netinet/fil.c,v 1.56 2008/08/17 23:27:27 bz Exp $"; /* static const char rcsid[] = "@(#)$Id: fil.c,v 2.243.2.125 2007/10/10 09:27:20 darrenr Exp $"; */ #endif ==== //depot/projects/vimage/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c,v 1.10 2008/05/09 23:02:55 julian Exp $ */ +/* $FreeBSD: src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c,v 1.11 2008/08/17 23:27:27 bz Exp $ */ /* * Copyright (C) 1993-2003 by Darren Reed. @@ -64,6 +64,12 @@ #else # include #endif +#if __FreeBSD_version >= 800044 +# include +#else +#define V_path_mtu_discovery path_mtu_discovery +#define V_ipforwarding ipforwarding +#endif #include #if __FreeBSD_version >= 300000 ==== //depot/projects/vimage/src/sys/contrib/pf/net/pf.c#14 (text+ko) ==== @@ -41,7 +41,7 @@ #include "opt_inet6.h" #include -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.55 2008/08/04 14:42:09 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf.c,v 1.56 2008/08/17 23:27:27 bz Exp $"); #endif #ifdef __FreeBSD__ @@ -6299,9 +6299,9 @@ } /* Update relevant hardware checksum stats for TCP/UDP */ if (m0->m_pkthdr.csum_flags & M_TCPV4_CSUM_OUT) - tcpstat.tcps_outhwcsum++; + V_tcpstat.tcps_outhwcsum++; else if (m0->m_pkthdr.csum_flags & M_UDPV4_CSUM_OUT) - udpstat.udps_outhwcsum++; + V_udpstat.udps_outhwcsum++; error = (*ifp->if_output)(ifp, m0, sintosa(dst), NULL); goto done; } @@ -6749,17 +6749,17 @@ m->m_pkthdr.csum_flags |= flag_bad; switch (p) { case IPPROTO_TCP: - tcpstat.tcps_rcvbadsum++; + V_tcpstat.tcps_rcvbadsum++; break; case IPPROTO_UDP: - udpstat.udps_badsum++; + V_udpstat.udps_badsum++; break; case IPPROTO_ICMP: - icmpstat.icps_checksum++; + V_icmpstat.icps_checksum++; break; #ifdef INET6 case IPPROTO_ICMPV6: - icmp6stat.icp6s_checksum++; + V_icmp6stat.icp6s_checksum++; break; #endif /* INET6 */ } ==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_if.c#9 (text+ko) ==== @@ -37,7 +37,7 @@ #include "opt_inet6.h" #include -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_if.c,v 1.15 2008/03/29 00:24:36 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_if.c,v 1.16 2008/08/17 23:27:27 bz Exp $"); #endif #include ==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_ioctl.c#15 (text+ko) ==== @@ -40,7 +40,7 @@ #include "opt_inet6.h" #include -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.34 2008/07/24 19:05:58 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_ioctl.c,v 1.35 2008/08/17 23:27:27 bz Exp $"); #endif #ifdef __FreeBSD__ @@ -86,6 +86,7 @@ #include #include #include +#include #else #include #include ==== //depot/projects/vimage/src/sys/contrib/pf/net/pf_subr.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ #include "opt_inet6.h" #include -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_subr.c,v 1.4 2007/07/05 15:28:59 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/pf_subr.c,v 1.5 2008/08/17 23:27:27 bz Exp $"); #include #include @@ -45,6 +45,7 @@ #include #include #include +#include #include #include @@ -127,9 +128,9 @@ struct pf_state_host *src, *dst; /* Seed if this is the first use, reseed if requested. */ - if (isn_last_reseed == 0) { - read_random(&isn_secret, sizeof(isn_secret)); - isn_last_reseed = ticks; + if (V_isn_last_reseed == 0) { + read_random(&V_isn_secret, sizeof(V_isn_secret)); + V_isn_last_reseed = ticks; } if (s->direction == PF_IN) { @@ -141,28 +142,28 @@ } /* Compute the md5 hash and return the ISN. */ - MD5Init(&isn_ctx); - MD5Update(&isn_ctx, (u_char *) &dst->port, sizeof(u_short)); - MD5Update(&isn_ctx, (u_char *) &src->port, sizeof(u_short)); + MD5Init(&V_isn_ctx); + MD5Update(&V_isn_ctx, (u_char *) &dst->port, sizeof(u_short)); + MD5Update(&V_isn_ctx, (u_char *) &src->port, sizeof(u_short)); #ifdef INET6 if (s->af == AF_INET6) { - MD5Update(&isn_ctx, (u_char *) &dst->addr, + MD5Update(&V_isn_ctx, (u_char *) &dst->addr, sizeof(struct in6_addr)); - MD5Update(&isn_ctx, (u_char *) &src->addr, + MD5Update(&V_isn_ctx, (u_char *) &src->addr, sizeof(struct in6_addr)); } else #endif { - MD5Update(&isn_ctx, (u_char *) &dst->addr, + MD5Update(&V_isn_ctx, (u_char *) &dst->addr, sizeof(struct in_addr)); - MD5Update(&isn_ctx, (u_char *) &src->addr, + MD5Update(&V_isn_ctx, (u_char *) &src->addr, sizeof(struct in_addr)); } - MD5Update(&isn_ctx, (u_char *) &isn_secret, sizeof(isn_secret)); - MD5Final((u_char *) &md5_buffer, &isn_ctx); + MD5Update(&V_isn_ctx, (u_char *) &V_isn_secret, sizeof(V_isn_secret)); + MD5Final((u_char *) &md5_buffer, &V_isn_ctx); new_isn = (tcp_seq) md5_buffer[0]; - isn_offset += ISN_STATIC_INCREMENT + + V_isn_offset += ISN_STATIC_INCREMENT + (arc4random() & ISN_RANDOM_INCREMENT); - new_isn += isn_offset; + new_isn += V_isn_offset; return (new_isn); } ==== //depot/projects/vimage/src/sys/contrib/rdma/rdma_cma.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/contrib/rdma/rdma_cma.c,v 1.1 2008/05/05 18:35:54 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/rdma/rdma_cma.c,v 1.2 2008/08/17 23:27:27 bz Exp $"); #include #include @@ -46,6 +46,7 @@ #include #include #include +#include #include #include @@ -1962,18 +1963,18 @@ if (ret) goto err1; - if (port > ipport_lastauto) { - if (next_port != ipport_firstauto) { + if (port > V_ipport_lastauto) { + if (next_port != V_ipport_firstauto) { kvl_delete(ps, port); - next_port = ipport_firstauto; + next_port = V_ipport_firstauto; goto retry; } ret = EADDRNOTAVAIL; goto err2; } - if (port == ipport_lastauto) - next_port = ipport_firstauto; + if (port == V_ipport_lastauto) + next_port = V_ipport_firstauto; else next_port = port + 1; >>> TRUNCATED FOR MAIL (1000 lines) <<<