LOONGARCH_GPR_A0
kvm_write_reg(vcpu, LOONGARCH_GPR_A0, run->hypercall.ret);
unsigned long func = kvm_read_reg(vcpu, LOONGARCH_GPR_A0);
kvm_write_reg(vcpu, LOONGARCH_GPR_A0, ret);
kvm_write_reg(vcpu, LOONGARCH_GPR_A0, KVM_HCALL_INVALID_CODE);
vcpu->run->hypercall.args[0] = kvm_read_reg(vcpu, LOONGARCH_GPR_A0);
kvm_write_reg(vcpu, LOONGARCH_GPR_A0, KVM_HCALL_INVALID_CODE);
move_reg(ctx, regmap[BPF_REG_0], LOONGARCH_GPR_A0);
emit_insn(ctx, std, LOONGARCH_GPR_A0 + i, LOONGARCH_GPR_FP, -args_off);
emit_insn(ctx, ldd, LOONGARCH_GPR_A0 + i, LOONGARCH_GPR_FP, -args_off);
move_imm(ctx, LOONGARCH_GPR_A0, (const s64)p, false);
move_reg(ctx, LOONGARCH_GPR_S1, LOONGARCH_GPR_A0);
emit_insn(ctx, addid, LOONGARCH_GPR_A0, LOONGARCH_GPR_FP, -args_off);
emit_insn(ctx, std, LOONGARCH_GPR_A0, LOONGARCH_GPR_FP, -retval_off);
*branch = larch_insn_gen_beq(LOONGARCH_GPR_A0, LOONGARCH_GPR_ZERO, offset);
move_imm(ctx, LOONGARCH_GPR_A0, (const s64)p, false);
move_addr(ctx, LOONGARCH_GPR_A0, (const u64)im);
emit_insn(ctx, std, LOONGARCH_GPR_A0, LOONGARCH_GPR_FP, -retval_off);
move_addr(ctx, LOONGARCH_GPR_A0, (const u64)im);
sign_extend(ctx, LOONGARCH_GPR_A0, regmap[BPF_REG_0],
emit_insn(ctx, ldd, LOONGARCH_GPR_A0, LOONGARCH_GPR_FP, -retval_off);
emit_insn(ctx, addiw, LOONGARCH_GPR_A0, regmap[BPF_REG_0], 0);
[BPF_REG_1] = LOONGARCH_GPR_A0,