Re: [RFC PATCH 1/1] BPF JIT for PPC64
From: Matt Evans <hidden>
Date: 2011-07-11 06:21:50
Also in:
netdev
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