Thread (7 messages) 7 messages, 4 authors, 2011-07-11

Re: [RFC PATCH 1/1] BPF JIT for PPC64

From: Matt Evans <hidden>
Date: 2011-07-11 06:21:50
Also in: netdev

On 25/06/11 11:58, Ben Hutchings wrote:
On Fri, 2011-06-24 at 16:02 +1000, Matt Evans wrote:
[...]
quoted
+		case BPF_S_ALU_ADD_K: /* A += K; */
+			if (!K)
+				break;
+			if (K < 32768)
+				PPC_ADDI(r_A, r_A, K);
+			else
+				PPC_ADDI(r_A, r_A, IMM_L(K));
+				PPC_ADDIS(r_A, r_A, IMM_HA(K));
+			break;
Missing braces.
quoted
+		case BPF_S_ALU_SUB_X: /* A -= X; */
+			ctx->seen |= SEEN_XREG;
+			PPC_SUB(r_A, r_A, r_X);
+			break;
+		case BPF_S_ALU_SUB_K: /* A -= K */
+			if (!K)
+				break;
+			if (K < 32768)
+				PPC_ADDI(r_A, r_A, -K);
+			else
+				PPC_ADDI(r_A, r_A, IMM_L(-K));
+				PPC_ADDIS(r_A, r_A, IMM_HA(-K));
+			break;
[...]

Here as well.
Thanks, Ben -- oops! :)  Really, just the ADDISes need to be conditional, too.


Cheers,


Matt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help