Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 916908df authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky
Browse files

s390/bpf,jit: add support for XOR instruction



Add support for XOR instruction for use with X/K.

s390 JIT support for the new BPF_S_ALU_XOR_* instructions introduced
with 9e49e889 "filter: add XOR instruction for use with X/K".

Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 32472745
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -389,10 +389,17 @@ static int bpf_jit_insn(struct bpf_jit *jit, struct sock_filter *filter,
			EMIT4_DISP(0x5650d000, EMIT_CONST(K));
		break;
	case BPF_S_ANC_ALU_XOR_X: /* A ^= X; */
	case BPF_S_ALU_XOR_X:
		jit->seen |= SEEN_XREG;
		/* xr %r5,%r12 */
		EMIT2(0x175c);
		break;
	case BPF_S_ALU_XOR_K: /* A ^= K */
		if (!K)
			break;
		/* x %r5,<d(K)>(%r13) */
		EMIT4_DISP(0x5750d000, EMIT_CONST(K));
		break;
	case BPF_S_ALU_LSH_X: /* A <<= X; */
		jit->seen |= SEEN_XREG;
		/* sll %r5,0(%r12) */