summaryrefslogtreecommitdiffstats
path: root/arch/sparc/net
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@plumgrid.com>2014-09-16 15:35:35 -0400
committerDavid S. Miller <davem@davemloft.net>2014-09-19 15:34:40 -0400
commit709f6c58d4dcd2b300c914ec17b297acae4cb998 (patch)
treee5396d29661ade147a75db7acf39f68f1e2cb25c /arch/sparc/net
parentbf3c228d36c6b3c90074f928e84e318621969cc6 (diff)
sparc: bpf_jit: add SKF_AD_PKTTYPE support to JIT
commit 233577a22089 ("net: filter: constify detection of pkt_type_offset") allows us to implement simple PKTTYPE support in sparc JIT Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/net')
-rw-r--r--arch/sparc/net/bpf_jit_comp.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/arch/sparc/net/bpf_jit_comp.c b/arch/sparc/net/bpf_jit_comp.c
index b2ad9dc5425e..2dde48bdcc42 100644
--- a/arch/sparc/net/bpf_jit_comp.c
+++ b/arch/sparc/net/bpf_jit_comp.c
@@ -579,16 +579,11 @@ void bpf_jit_compile(struct bpf_prog *fp)
579 case BPF_ANC | SKF_AD_PROTOCOL: 579 case BPF_ANC | SKF_AD_PROTOCOL:
580 emit_skb_load16(protocol, r_A); 580 emit_skb_load16(protocol, r_A);
581 break; 581 break;
582#if 0
583 /* GCC won't let us take the address of
584 * a bit field even though we very much
585 * know what we are doing here.
586 */
587 case BPF_ANC | SKF_AD_PKTTYPE: 582 case BPF_ANC | SKF_AD_PKTTYPE:
588 __emit_skb_load8(pkt_type, r_A); 583 __emit_skb_load8(__pkt_type_offset, r_A);
584 emit_andi(r_A, PKT_TYPE_MAX, r_A);
589 emit_alu_K(SRL, 5); 585 emit_alu_K(SRL, 5);
590 break; 586 break;
591#endif
592 case BPF_ANC | SKF_AD_IFINDEX: 587 case BPF_ANC | SKF_AD_IFINDEX:
593 emit_skb_loadptr(dev, r_A); 588 emit_skb_loadptr(dev, r_A);
594 emit_cmpi(r_A, 0); 589 emit_cmpi(r_A, 0);