void kvm_inject_x86_mce(CPUState *cenv, int bank, uint64_t status,

                        uint64_t mcg_status, uint64_t addr, uint64_t misc,

                        int abort_on_error)

{

#ifdef KVM_CAP_MCE

    struct kvm_x86_mce mce = {

        .bank = bank,

        .status = status,

        .mcg_status = mcg_status,

        .addr = addr,

        .misc = misc,

    };

    struct kvm_x86_mce_data data = {

            .env = cenv,

            .mce = &mce,

    };



    if (!cenv->mcg_cap) {

        fprintf(stderr, "MCE support is not enabled!\n");

        return;

    }



    run_on_cpu(cenv, kvm_do_inject_x86_mce, &data);

#else

    if (abort_on_error)

        abort();

#endif

}

void kvm_inject_x86_mce(CPUState *cenv, int bank, uint64_t status,

                        uint64_t mcg_status, uint64_t addr, uint64_t misc,

                        int abort_on_error)

{

#ifdef KVM_CAP_MCE

    struct kvm_x86_mce mce = {

        .bank = bank,

        .status = status,

        .mcg_status = mcg_status,

        .addr = addr,

        .misc = misc,

    };

    struct kvm_x86_mce_data data = {

            .env = cenv,

            .mce = &mce,

    };



    if (!cenv->mcg_cap) {

        fprintf(stderr, "MCE support is not enabled!\n");

        return;

    }



    run_on_cpu(cenv, kvm_do_inject_x86_mce, &data);

#else

    if (abort_on_error)

        abort();

#endif

}

                        int abort_on_error)     if (abort_on_error)
void FUNC_0(CPUState *VAR_0, int VAR_1, uint64_t VAR_2,

                        uint64_t VAR_3, uint64_t VAR_4, uint64_t VAR_5,

                        int VAR_6)

{

#ifdef KVM_CAP_MCE

    struct kvm_x86_mce mce = {

        .VAR_1 = VAR_1,

        .VAR_2 = VAR_2,

        .VAR_3 = VAR_3,

        .VAR_4 = VAR_4,

        .VAR_5 = VAR_5,

    };

    struct kvm_x86_mce_data data = {

            .env = VAR_0,

            .mce = &mce,

    };



    if (!VAR_0->mcg_cap) {

        fprintf(stderr, "MCE support is not enabled!\n");

        return;

    }



    run_on_cpu(VAR_0, kvm_do_inject_x86_mce, &data);

#else

    if (VAR_6)

        abort();

#endif

}

void FUNC_0(CPUState *VAR_0, int VAR_1, uint64_t VAR_2,
uint64_t VAR_3, uint64_t VAR_4, uint64_t VAR_5,
int VAR_6)
{ #ifdef KVM_CAP_MCE
struct kvm_x86_mce mce = { .VAR_1 = VAR_1,
.VAR_2 = VAR_2,
.VAR_3 = VAR_3,
.VAR_4 = VAR_4,
.VAR_5 = VAR_5,
}; struct kvm_x86_mce_data data = { .env = VAR_0,
.mce = &mce,
}; if (!VAR_0->mcg_cap) { fprintf(stderr, "MCE support is not enabled!\n"); return; } run_on_cpu(VAR_0, kvm_do_inject_x86_mce, &data); #else
if (VAR_6)
abort(); #endif
}