int kvm_arch_put_registers(CPUState *env, int level)

{

    int ret;



    assert(cpu_is_stopped(env) || qemu_cpu_self(env));



    ret = kvm_getput_regs(env, 1);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_xsave(env);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_xcrs(env);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_sregs(env);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_msrs(env, level);

    if (ret < 0) {

        return ret;

    }

    if (level >= KVM_PUT_RESET_STATE) {

        ret = kvm_put_mp_state(env);

        if (ret < 0) {

            return ret;

        }

    }

    ret = kvm_put_vcpu_events(env, level);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_debugregs(env);

    if (ret < 0) {

        return ret;

    }

    /* must be last */

    ret = kvm_guest_debug_workarounds(env);

    if (ret < 0) {

        return ret;

    }

    return 0;

}

int kvm_arch_put_registers(CPUState *env, int level)

{

    int ret;



    assert(cpu_is_stopped(env) || qemu_cpu_self(env));



    ret = kvm_getput_regs(env, 1);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_xsave(env);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_xcrs(env);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_sregs(env);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_msrs(env, level);

    if (ret < 0) {

        return ret;

    }

    if (level >= KVM_PUT_RESET_STATE) {

        ret = kvm_put_mp_state(env);

        if (ret < 0) {

            return ret;

        }

    }

    ret = kvm_put_vcpu_events(env, level);

    if (ret < 0) {

        return ret;

    }

    ret = kvm_put_debugregs(env);

    if (ret < 0) {

        return ret;

    }

    

    ret = kvm_guest_debug_workarounds(env);

    if (ret < 0) {

        return ret;

    }

    return 0;

}

int FUNC_0(CPUState *VAR_0, int VAR_1)

{

    int VAR_2;



    assert(cpu_is_stopped(VAR_0) || qemu_cpu_self(VAR_0));



    VAR_2 = kvm_getput_regs(VAR_0, 1);

    if (VAR_2 < 0) {

        return VAR_2;

    }

    VAR_2 = kvm_put_xsave(VAR_0);

    if (VAR_2 < 0) {

        return VAR_2;

    }

    VAR_2 = kvm_put_xcrs(VAR_0);

    if (VAR_2 < 0) {

        return VAR_2;

    }

    VAR_2 = kvm_put_sregs(VAR_0);

    if (VAR_2 < 0) {

        return VAR_2;

    }

    VAR_2 = kvm_put_msrs(VAR_0, VAR_1);

    if (VAR_2 < 0) {

        return VAR_2;

    }

    if (VAR_1 >= KVM_PUT_RESET_STATE) {

        VAR_2 = kvm_put_mp_state(VAR_0);

        if (VAR_2 < 0) {

            return VAR_2;

        }

    }

    VAR_2 = kvm_put_vcpu_events(VAR_0, VAR_1);

    if (VAR_2 < 0) {

        return VAR_2;

    }

    VAR_2 = kvm_put_debugregs(VAR_0);

    if (VAR_2 < 0) {

        return VAR_2;

    }

    

    VAR_2 = kvm_guest_debug_workarounds(VAR_0);

    if (VAR_2 < 0) {

        return VAR_2;

    }

    return 0;

}

int FUNC_0(CPUState *VAR_0, int VAR_1)
{ int VAR_2; assert(cpu_is_stopped(VAR_0) || qemu_cpu_self(VAR_0)); VAR_2 = kvm_getput_regs(VAR_0, 1); if (VAR_2 < 0) { return VAR_2; } VAR_2 = kvm_put_xsave(VAR_0); if (VAR_2 < 0) { return VAR_2; } VAR_2 = kvm_put_xcrs(VAR_0); if (VAR_2 < 0) { return VAR_2; } VAR_2 = kvm_put_sregs(VAR_0); if (VAR_2 < 0) { return VAR_2; } VAR_2 = kvm_put_msrs(VAR_0, VAR_1); if (VAR_2 < 0) { return VAR_2; } if (VAR_1 >= KVM_PUT_RESET_STATE) { VAR_2 = kvm_put_mp_state(VAR_0); if (VAR_2 < 0) { return VAR_2; } } VAR_2 = kvm_put_vcpu_events(VAR_0, VAR_1); if (VAR_2 < 0) { return VAR_2; } VAR_2 = kvm_put_debugregs(VAR_0); if (VAR_2 < 0) { return VAR_2; } VAR_2 = kvm_guest_debug_workarounds(VAR_0); if (VAR_2 < 0) { return VAR_2; } return 0; }