sim: bpf: remove negi, neg32i insns
The BPF virtual machine does not support neg instructions operating on immediates, and these erroneous instructions were recently removed from gas. Remove them from the simulator as well.
This commit is contained in:
parent
41aa80c544
commit
3f3175554f
@ -730,10 +730,6 @@ execute (SIM_CPU *cpu, struct bpf_insn *insn)
|
||||
BPF_TRACE ("BPF_INSN_NEGR\n");
|
||||
bpf_regs[insn->dst] = - (int64_t) bpf_regs[insn->dst];
|
||||
break;
|
||||
case BPF_INSN_NEGI:
|
||||
BPF_TRACE ("BPF_INSN_NEGI\n");
|
||||
bpf_regs[insn->dst] = - (int64_t) insn->imm32;
|
||||
break;
|
||||
case BPF_INSN_LSHR:
|
||||
BPF_TRACE ("BPF_INSN_LSHR\n");
|
||||
bpf_regs[insn->dst] <<= bpf_regs[insn->src];
|
||||
@ -867,10 +863,6 @@ execute (SIM_CPU *cpu, struct bpf_insn *insn)
|
||||
BPF_TRACE ("BPF_INSN_NEG32R\n");
|
||||
bpf_regs[insn->dst] = (uint32_t) (- (int32_t) bpf_regs[insn->dst]);
|
||||
break;
|
||||
case BPF_INSN_NEG32I:
|
||||
BPF_TRACE ("BPF_INSN_NEG32I\n");
|
||||
bpf_regs[insn->dst] = (uint32_t) - (int32_t) insn->imm32;
|
||||
break;
|
||||
case BPF_INSN_LSH32R:
|
||||
BPF_TRACE ("BPF_INSN_LSH32R\n");
|
||||
bpf_regs[insn->dst] = (uint32_t) bpf_regs[insn->dst] << bpf_regs[insn->src];
|
||||
|
Loading…
x
Reference in New Issue
Block a user