static int kvm_getput_regs(CPUState *env, int set)

{

    struct kvm_regs regs;

    int ret = 0;



    if (!set) {

        ret = kvm_vcpu_ioctl(env, KVM_GET_REGS, &regs);

        if (ret < 0)

            return ret;

    }



    kvm_getput_reg(&regs.rax, &env->regs[R_EAX], set);

    kvm_getput_reg(&regs.rbx, &env->regs[R_EBX], set);

    kvm_getput_reg(&regs.rcx, &env->regs[R_ECX], set);

    kvm_getput_reg(&regs.rdx, &env->regs[R_EDX], set);

    kvm_getput_reg(&regs.rsi, &env->regs[R_ESI], set);

    kvm_getput_reg(&regs.rdi, &env->regs[R_EDI], set);

    kvm_getput_reg(&regs.rsp, &env->regs[R_ESP], set);

    kvm_getput_reg(&regs.rbp, &env->regs[R_EBP], set);

#ifdef TARGET_X86_64

    kvm_getput_reg(&regs.r8, &env->regs[8], set);

    kvm_getput_reg(&regs.r9, &env->regs[9], set);

    kvm_getput_reg(&regs.r10, &env->regs[10], set);

    kvm_getput_reg(&regs.r11, &env->regs[11], set);

    kvm_getput_reg(&regs.r12, &env->regs[12], set);

    kvm_getput_reg(&regs.r13, &env->regs[13], set);

    kvm_getput_reg(&regs.r14, &env->regs[14], set);

    kvm_getput_reg(&regs.r15, &env->regs[15], set);

#endif



    kvm_getput_reg(&regs.rflags, &env->eflags, set);

    kvm_getput_reg(&regs.rip, &env->eip, set);



    if (set)

        ret = kvm_vcpu_ioctl(env, KVM_SET_REGS, &regs);



    return ret;

}

static int kvm_getput_regs(CPUState *env, int set)

{

    struct kvm_regs regs;

    int ret = 0;



    if (!set) {

        ret = kvm_vcpu_ioctl(env, KVM_GET_REGS, &regs);

        if (ret < 0)

            return ret;

    }



    kvm_getput_reg(&regs.rax, &env->regs[R_EAX], set);

    kvm_getput_reg(&regs.rbx, &env->regs[R_EBX], set);

    kvm_getput_reg(&regs.rcx, &env->regs[R_ECX], set);

    kvm_getput_reg(&regs.rdx, &env->regs[R_EDX], set);

    kvm_getput_reg(&regs.rsi, &env->regs[R_ESI], set);

    kvm_getput_reg(&regs.rdi, &env->regs[R_EDI], set);

    kvm_getput_reg(&regs.rsp, &env->regs[R_ESP], set);

    kvm_getput_reg(&regs.rbp, &env->regs[R_EBP], set);

#ifdef TARGET_X86_64

    kvm_getput_reg(&regs.r8, &env->regs[8], set);

    kvm_getput_reg(&regs.r9, &env->regs[9], set);

    kvm_getput_reg(&regs.r10, &env->regs[10], set);

    kvm_getput_reg(&regs.r11, &env->regs[11], set);

    kvm_getput_reg(&regs.r12, &env->regs[12], set);

    kvm_getput_reg(&regs.r13, &env->regs[13], set);

    kvm_getput_reg(&regs.r14, &env->regs[14], set);

    kvm_getput_reg(&regs.r15, &env->regs[15], set);

#endif



    kvm_getput_reg(&regs.rflags, &env->eflags, set);

    kvm_getput_reg(&regs.rip, &env->eip, set);



    if (set)

        ret = kvm_vcpu_ioctl(env, KVM_SET_REGS, &regs);



    return ret;

}

static int FUNC_0(CPUState *VAR_0, int VAR_1)

{

    struct kvm_regs VAR_2;

    int VAR_3 = 0;



    if (!VAR_1) {

        VAR_3 = kvm_vcpu_ioctl(VAR_0, KVM_GET_REGS, &VAR_2);

        if (VAR_3 < 0)

            return VAR_3;

    }



    kvm_getput_reg(&VAR_2.rax, &VAR_0->VAR_2[R_EAX], VAR_1);

    kvm_getput_reg(&VAR_2.rbx, &VAR_0->VAR_2[R_EBX], VAR_1);

    kvm_getput_reg(&VAR_2.rcx, &VAR_0->VAR_2[R_ECX], VAR_1);

    kvm_getput_reg(&VAR_2.rdx, &VAR_0->VAR_2[R_EDX], VAR_1);

    kvm_getput_reg(&VAR_2.rsi, &VAR_0->VAR_2[R_ESI], VAR_1);

    kvm_getput_reg(&VAR_2.rdi, &VAR_0->VAR_2[R_EDI], VAR_1);

    kvm_getput_reg(&VAR_2.rsp, &VAR_0->VAR_2[R_ESP], VAR_1);

    kvm_getput_reg(&VAR_2.rbp, &VAR_0->VAR_2[R_EBP], VAR_1);

#ifdef TARGET_X86_64

    kvm_getput_reg(&VAR_2.r8, &VAR_0->VAR_2[8], VAR_1);

    kvm_getput_reg(&VAR_2.r9, &VAR_0->VAR_2[9], VAR_1);

    kvm_getput_reg(&VAR_2.r10, &VAR_0->VAR_2[10], VAR_1);

    kvm_getput_reg(&VAR_2.r11, &VAR_0->VAR_2[11], VAR_1);

    kvm_getput_reg(&VAR_2.r12, &VAR_0->VAR_2[12], VAR_1);

    kvm_getput_reg(&VAR_2.r13, &VAR_0->VAR_2[13], VAR_1);

    kvm_getput_reg(&VAR_2.r14, &VAR_0->VAR_2[14], VAR_1);

    kvm_getput_reg(&VAR_2.r15, &VAR_0->VAR_2[15], VAR_1);

#endif



    kvm_getput_reg(&VAR_2.rflags, &VAR_0->eflags, VAR_1);

    kvm_getput_reg(&VAR_2.rip, &VAR_0->eip, VAR_1);



    if (VAR_1)

        VAR_3 = kvm_vcpu_ioctl(VAR_0, KVM_SET_REGS, &VAR_2);



    return VAR_3;

}

static int FUNC_0(CPUState *VAR_0, int VAR_1)
{ struct kvm_regs VAR_2; int VAR_3 = 0; if (!VAR_1) { VAR_3 = kvm_vcpu_ioctl(VAR_0, KVM_GET_REGS, &VAR_2); if (VAR_3 < 0)
return VAR_3; } kvm_getput_reg(&VAR_2.rax, &VAR_0->VAR_2[R_EAX], VAR_1); kvm_getput_reg(&VAR_2.rbx, &VAR_0->VAR_2[R_EBX], VAR_1); kvm_getput_reg(&VAR_2.rcx, &VAR_0->VAR_2[R_ECX], VAR_1); kvm_getput_reg(&VAR_2.rdx, &VAR_0->VAR_2[R_EDX], VAR_1); kvm_getput_reg(&VAR_2.rsi, &VAR_0->VAR_2[R_ESI], VAR_1); kvm_getput_reg(&VAR_2.rdi, &VAR_0->VAR_2[R_EDI], VAR_1); kvm_getput_reg(&VAR_2.rsp, &VAR_0->VAR_2[R_ESP], VAR_1); kvm_getput_reg(&VAR_2.rbp, &VAR_0->VAR_2[R_EBP], VAR_1); #ifdef TARGET_X86_64
kvm_getput_reg(&VAR_2.r8, &VAR_0->VAR_2[8], VAR_1); kvm_getput_reg(&VAR_2.r9, &VAR_0->VAR_2[9], VAR_1); kvm_getput_reg(&VAR_2.r10, &VAR_0->VAR_2[10], VAR_1); kvm_getput_reg(&VAR_2.r11, &VAR_0->VAR_2[11], VAR_1); kvm_getput_reg(&VAR_2.r12, &VAR_0->VAR_2[12], VAR_1); kvm_getput_reg(&VAR_2.r13, &VAR_0->VAR_2[13], VAR_1); kvm_getput_reg(&VAR_2.r14, &VAR_0->VAR_2[14], VAR_1); kvm_getput_reg(&VAR_2.r15, &VAR_0->VAR_2[15], VAR_1); #endif
kvm_getput_reg(&VAR_2.rflags, &VAR_0->eflags, VAR_1); kvm_getput_reg(&VAR_2.rip, &VAR_0->eip, VAR_1); if (VAR_1)
VAR_3 = kvm_vcpu_ioctl(VAR_0, KVM_SET_REGS, &VAR_2); return VAR_3; }