static int cpu_load_old(QEMUFile *f, void *opaque, int version_id)

{

    PowerPCCPU *cpu = opaque;

    CPUPPCState *env = &cpu->env;

    unsigned int i, j;

    target_ulong sdr1;

    uint32_t fpscr;

    target_ulong xer;



    for (i = 0; i < 32; i++)

        qemu_get_betls(f, &env->gpr[i]);

#if !defined(TARGET_PPC64)

    for (i = 0; i < 32; i++)

        qemu_get_betls(f, &env->gprh[i]);

#endif

    qemu_get_betls(f, &env->lr);

    qemu_get_betls(f, &env->ctr);

    for (i = 0; i < 8; i++)

        qemu_get_be32s(f, &env->crf[i]);

    qemu_get_betls(f, &xer);

    cpu_write_xer(env, xer);

    qemu_get_betls(f, &env->reserve_addr);

    qemu_get_betls(f, &env->msr);

    for (i = 0; i < 4; i++)

        qemu_get_betls(f, &env->tgpr[i]);

    for (i = 0; i < 32; i++) {

        union {

            float64 d;

            uint64_t l;

        } u;

        u.l = qemu_get_be64(f);

        env->fpr[i] = u.d;

    }

    qemu_get_be32s(f, &fpscr);

    env->fpscr = fpscr;

    qemu_get_sbe32s(f, &env->access_type);

#if defined(TARGET_PPC64)

    qemu_get_betls(f, &env->spr[SPR_ASR]);

    qemu_get_sbe32s(f, &env->slb_nr);

#endif

    qemu_get_betls(f, &sdr1);

    for (i = 0; i < 32; i++)

        qemu_get_betls(f, &env->sr[i]);

    for (i = 0; i < 2; i++)

        for (j = 0; j < 8; j++)

            qemu_get_betls(f, &env->DBAT[i][j]);

    for (i = 0; i < 2; i++)

        for (j = 0; j < 8; j++)

            qemu_get_betls(f, &env->IBAT[i][j]);

    qemu_get_sbe32s(f, &env->nb_tlb);

    qemu_get_sbe32s(f, &env->tlb_per_way);

    qemu_get_sbe32s(f, &env->nb_ways);

    qemu_get_sbe32s(f, &env->last_way);

    qemu_get_sbe32s(f, &env->id_tlbs);

    qemu_get_sbe32s(f, &env->nb_pids);

    if (env->tlb.tlb6) {

        // XXX assumes 6xx

        for (i = 0; i < env->nb_tlb; i++) {

            qemu_get_betls(f, &env->tlb.tlb6[i].pte0);

            qemu_get_betls(f, &env->tlb.tlb6[i].pte1);

            qemu_get_betls(f, &env->tlb.tlb6[i].EPN);

        }

    }

    for (i = 0; i < 4; i++)

        qemu_get_betls(f, &env->pb[i]);

    for (i = 0; i < 1024; i++)

        qemu_get_betls(f, &env->spr[i]);

    if (!env->external_htab) {

        ppc_store_sdr1(env, sdr1);

    }

    qemu_get_be32s(f, &env->vscr);

    qemu_get_be64s(f, &env->spe_acc);

    qemu_get_be32s(f, &env->spe_fscr);

    qemu_get_betls(f, &env->msr_mask);

    qemu_get_be32s(f, &env->flags);

    qemu_get_sbe32s(f, &env->error_code);

    qemu_get_be32s(f, &env->pending_interrupts);

    qemu_get_be32s(f, &env->irq_input_state);

    for (i = 0; i < POWERPC_EXCP_NB; i++)

        qemu_get_betls(f, &env->excp_vectors[i]);

    qemu_get_betls(f, &env->excp_prefix);

    qemu_get_betls(f, &env->ivor_mask);

    qemu_get_betls(f, &env->ivpr_mask);

    qemu_get_betls(f, &env->hreset_vector);

    qemu_get_betls(f, &env->nip);

    qemu_get_betls(f, &env->hflags);

    qemu_get_betls(f, &env->hflags_nmsr);

    qemu_get_sbe32(f); /* Discard unused mmu_idx */

    qemu_get_sbe32(f); /* Discard unused power_mode */



    /* Recompute mmu indices */

    hreg_compute_mem_idx(env);



    return 0;

}

static int cpu_load_old(QEMUFile *f, void *opaque, int version_id)

{

    PowerPCCPU *cpu = opaque;

    CPUPPCState *env = &cpu->env;

    unsigned int i, j;

    target_ulong sdr1;

    uint32_t fpscr;

    target_ulong xer;



    for (i = 0; i < 32; i++)

        qemu_get_betls(f, &env->gpr[i]);

#if !defined(TARGET_PPC64)

    for (i = 0; i < 32; i++)

        qemu_get_betls(f, &env->gprh[i]);

#endif

    qemu_get_betls(f, &env->lr);

    qemu_get_betls(f, &env->ctr);

    for (i = 0; i < 8; i++)

        qemu_get_be32s(f, &env->crf[i]);

    qemu_get_betls(f, &xer);

    cpu_write_xer(env, xer);

    qemu_get_betls(f, &env->reserve_addr);

    qemu_get_betls(f, &env->msr);

    for (i = 0; i < 4; i++)

        qemu_get_betls(f, &env->tgpr[i]);

    for (i = 0; i < 32; i++) {

        union {

            float64 d;

            uint64_t l;

        } u;

        u.l = qemu_get_be64(f);

        env->fpr[i] = u.d;

    }

    qemu_get_be32s(f, &fpscr);

    env->fpscr = fpscr;

    qemu_get_sbe32s(f, &env->access_type);

#if defined(TARGET_PPC64)

    qemu_get_betls(f, &env->spr[SPR_ASR]);

    qemu_get_sbe32s(f, &env->slb_nr);

#endif

    qemu_get_betls(f, &sdr1);

    for (i = 0; i < 32; i++)

        qemu_get_betls(f, &env->sr[i]);

    for (i = 0; i < 2; i++)

        for (j = 0; j < 8; j++)

            qemu_get_betls(f, &env->DBAT[i][j]);

    for (i = 0; i < 2; i++)

        for (j = 0; j < 8; j++)

            qemu_get_betls(f, &env->IBAT[i][j]);

    qemu_get_sbe32s(f, &env->nb_tlb);

    qemu_get_sbe32s(f, &env->tlb_per_way);

    qemu_get_sbe32s(f, &env->nb_ways);

    qemu_get_sbe32s(f, &env->last_way);

    qemu_get_sbe32s(f, &env->id_tlbs);

    qemu_get_sbe32s(f, &env->nb_pids);

    if (env->tlb.tlb6) {

        

        for (i = 0; i < env->nb_tlb; i++) {

            qemu_get_betls(f, &env->tlb.tlb6[i].pte0);

            qemu_get_betls(f, &env->tlb.tlb6[i].pte1);

            qemu_get_betls(f, &env->tlb.tlb6[i].EPN);

        }

    }

    for (i = 0; i < 4; i++)

        qemu_get_betls(f, &env->pb[i]);

    for (i = 0; i < 1024; i++)

        qemu_get_betls(f, &env->spr[i]);

    if (!env->external_htab) {

        ppc_store_sdr1(env, sdr1);

    }

    qemu_get_be32s(f, &env->vscr);

    qemu_get_be64s(f, &env->spe_acc);

    qemu_get_be32s(f, &env->spe_fscr);

    qemu_get_betls(f, &env->msr_mask);

    qemu_get_be32s(f, &env->flags);

    qemu_get_sbe32s(f, &env->error_code);

    qemu_get_be32s(f, &env->pending_interrupts);

    qemu_get_be32s(f, &env->irq_input_state);

    for (i = 0; i < POWERPC_EXCP_NB; i++)

        qemu_get_betls(f, &env->excp_vectors[i]);

    qemu_get_betls(f, &env->excp_prefix);

    qemu_get_betls(f, &env->ivor_mask);

    qemu_get_betls(f, &env->ivpr_mask);

    qemu_get_betls(f, &env->hreset_vector);

    qemu_get_betls(f, &env->nip);

    qemu_get_betls(f, &env->hflags);

    qemu_get_betls(f, &env->hflags_nmsr);

    qemu_get_sbe32(f); 

    qemu_get_sbe32(f); 



    

    hreg_compute_mem_idx(env);



    return 0;

}

static int FUNC_0(QEMUFile *VAR_0, void *VAR_1, int VAR_2)

{

    PowerPCCPU *cpu = VAR_1;

    CPUPPCState *env = &cpu->env;

    unsigned int VAR_3, VAR_4;

    target_ulong sdr1;

    uint32_t fpscr;

    target_ulong xer;



    for (VAR_3 = 0; VAR_3 < 32; VAR_3++)

        qemu_get_betls(VAR_0, &env->gpr[VAR_3]);

#if !defined(TARGET_PPC64)

    for (VAR_3 = 0; VAR_3 < 32; VAR_3++)

        qemu_get_betls(VAR_0, &env->gprh[VAR_3]);

#endif

    qemu_get_betls(VAR_0, &env->lr);

    qemu_get_betls(VAR_0, &env->ctr);

    for (VAR_3 = 0; VAR_3 < 8; VAR_3++)

        qemu_get_be32s(VAR_0, &env->crf[VAR_3]);

    qemu_get_betls(VAR_0, &xer);

    cpu_write_xer(env, xer);

    qemu_get_betls(VAR_0, &env->reserve_addr);

    qemu_get_betls(VAR_0, &env->msr);

    for (VAR_3 = 0; VAR_3 < 4; VAR_3++)

        qemu_get_betls(VAR_0, &env->tgpr[VAR_3]);

    for (VAR_3 = 0; VAR_3 < 32; VAR_3++) {

        union {

            float64 d;

            uint64_t l;

        } VAR_5;

        VAR_5.l = qemu_get_be64(VAR_0);

        env->fpr[VAR_3] = VAR_5.d;

    }

    qemu_get_be32s(VAR_0, &fpscr);

    env->fpscr = fpscr;

    qemu_get_sbe32s(VAR_0, &env->access_type);

#if defined(TARGET_PPC64)

    qemu_get_betls(VAR_0, &env->spr[SPR_ASR]);

    qemu_get_sbe32s(VAR_0, &env->slb_nr);

#endif

    qemu_get_betls(VAR_0, &sdr1);

    for (VAR_3 = 0; VAR_3 < 32; VAR_3++)

        qemu_get_betls(VAR_0, &env->sr[VAR_3]);

    for (VAR_3 = 0; VAR_3 < 2; VAR_3++)

        for (VAR_4 = 0; VAR_4 < 8; VAR_4++)

            qemu_get_betls(VAR_0, &env->DBAT[VAR_3][VAR_4]);

    for (VAR_3 = 0; VAR_3 < 2; VAR_3++)

        for (VAR_4 = 0; VAR_4 < 8; VAR_4++)

            qemu_get_betls(VAR_0, &env->IBAT[VAR_3][VAR_4]);

    qemu_get_sbe32s(VAR_0, &env->nb_tlb);

    qemu_get_sbe32s(VAR_0, &env->tlb_per_way);

    qemu_get_sbe32s(VAR_0, &env->nb_ways);

    qemu_get_sbe32s(VAR_0, &env->last_way);

    qemu_get_sbe32s(VAR_0, &env->id_tlbs);

    qemu_get_sbe32s(VAR_0, &env->nb_pids);

    if (env->tlb.tlb6) {

        

        for (VAR_3 = 0; VAR_3 < env->nb_tlb; VAR_3++) {

            qemu_get_betls(VAR_0, &env->tlb.tlb6[VAR_3].pte0);

            qemu_get_betls(VAR_0, &env->tlb.tlb6[VAR_3].pte1);

            qemu_get_betls(VAR_0, &env->tlb.tlb6[VAR_3].EPN);

        }

    }

    for (VAR_3 = 0; VAR_3 < 4; VAR_3++)

        qemu_get_betls(VAR_0, &env->pb[VAR_3]);

    for (VAR_3 = 0; VAR_3 < 1024; VAR_3++)

        qemu_get_betls(VAR_0, &env->spr[VAR_3]);

    if (!env->external_htab) {

        ppc_store_sdr1(env, sdr1);

    }

    qemu_get_be32s(VAR_0, &env->vscr);

    qemu_get_be64s(VAR_0, &env->spe_acc);

    qemu_get_be32s(VAR_0, &env->spe_fscr);

    qemu_get_betls(VAR_0, &env->msr_mask);

    qemu_get_be32s(VAR_0, &env->flags);

    qemu_get_sbe32s(VAR_0, &env->error_code);

    qemu_get_be32s(VAR_0, &env->pending_interrupts);

    qemu_get_be32s(VAR_0, &env->irq_input_state);

    for (VAR_3 = 0; VAR_3 < POWERPC_EXCP_NB; VAR_3++)

        qemu_get_betls(VAR_0, &env->excp_vectors[VAR_3]);

    qemu_get_betls(VAR_0, &env->excp_prefix);

    qemu_get_betls(VAR_0, &env->ivor_mask);

    qemu_get_betls(VAR_0, &env->ivpr_mask);

    qemu_get_betls(VAR_0, &env->hreset_vector);

    qemu_get_betls(VAR_0, &env->nip);

    qemu_get_betls(VAR_0, &env->hflags);

    qemu_get_betls(VAR_0, &env->hflags_nmsr);

    qemu_get_sbe32(VAR_0); 

    qemu_get_sbe32(VAR_0); 



    

    hreg_compute_mem_idx(env);



    return 0;

}

static int FUNC_0(QEMUFile *VAR_0, void *VAR_1, int VAR_2)
{ PowerPCCPU *cpu = VAR_1; CPUPPCState *env = &cpu->env; unsigned int VAR_3, VAR_4; target_ulong sdr1; uint32_t fpscr; target_ulong xer; for (VAR_3 = 0; VAR_3 < 32; VAR_3++) qemu_get_betls(VAR_0, &env->gpr[VAR_3]); #if !defined(TARGET_PPC64)
for (VAR_3 = 0; VAR_3 < 32; VAR_3++) qemu_get_betls(VAR_0, &env->gprh[VAR_3]); #endif
qemu_get_betls(VAR_0, &env->lr); qemu_get_betls(VAR_0, &env->ctr); for (VAR_3 = 0; VAR_3 < 8; VAR_3++) qemu_get_be32s(VAR_0, &env->crf[VAR_3]); qemu_get_betls(VAR_0, &xer); cpu_write_xer(env, xer); qemu_get_betls(VAR_0, &env->reserve_addr); qemu_get_betls(VAR_0, &env->msr); for (VAR_3 = 0; VAR_3 < 4; VAR_3++) qemu_get_betls(VAR_0, &env->tgpr[VAR_3]); for (VAR_3 = 0; VAR_3 < 32; VAR_3++) { union { float64 d; uint64_t l; } VAR_5; VAR_5.l = qemu_get_be64(VAR_0); env->fpr[VAR_3] = VAR_5.d; } qemu_get_be32s(VAR_0, &fpscr); env->fpscr = fpscr; qemu_get_sbe32s(VAR_0, &env->access_type); #if defined(TARGET_PPC64)
qemu_get_betls(VAR_0, &env->spr[SPR_ASR]); qemu_get_sbe32s(VAR_0, &env->slb_nr); #endif
qemu_get_betls(VAR_0, &sdr1); for (VAR_3 = 0; VAR_3 < 32; VAR_3++) qemu_get_betls(VAR_0, &env->sr[VAR_3]); for (VAR_3 = 0; VAR_3 < 2; VAR_3++) for (VAR_4 = 0; VAR_4 < 8; VAR_4++) qemu_get_betls(VAR_0, &env->DBAT[VAR_3][VAR_4]); for (VAR_3 = 0; VAR_3 < 2; VAR_3++) for (VAR_4 = 0; VAR_4 < 8; VAR_4++) qemu_get_betls(VAR_0, &env->IBAT[VAR_3][VAR_4]); qemu_get_sbe32s(VAR_0, &env->nb_tlb); qemu_get_sbe32s(VAR_0, &env->tlb_per_way); qemu_get_sbe32s(VAR_0, &env->nb_ways); qemu_get_sbe32s(VAR_0, &env->last_way); qemu_get_sbe32s(VAR_0, &env->id_tlbs); qemu_get_sbe32s(VAR_0, &env->nb_pids); if (env->tlb.tlb6) { for (VAR_3 = 0; VAR_3 < env->nb_tlb; VAR_3++) { qemu_get_betls(VAR_0, &env->tlb.tlb6[VAR_3].pte0); qemu_get_betls(VAR_0, &env->tlb.tlb6[VAR_3].pte1); qemu_get_betls(VAR_0, &env->tlb.tlb6[VAR_3].EPN); } } for (VAR_3 = 0; VAR_3 < 4; VAR_3++) qemu_get_betls(VAR_0, &env->pb[VAR_3]); for (VAR_3 = 0; VAR_3 < 1024; VAR_3++) qemu_get_betls(VAR_0, &env->spr[VAR_3]); if (!env->external_htab) { ppc_store_sdr1(env, sdr1); } qemu_get_be32s(VAR_0, &env->vscr); qemu_get_be64s(VAR_0, &env->spe_acc); qemu_get_be32s(VAR_0, &env->spe_fscr); qemu_get_betls(VAR_0, &env->msr_mask); qemu_get_be32s(VAR_0, &env->flags); qemu_get_sbe32s(VAR_0, &env->error_code); qemu_get_be32s(VAR_0, &env->pending_interrupts); qemu_get_be32s(VAR_0, &env->irq_input_state); for (VAR_3 = 0; VAR_3 < POWERPC_EXCP_NB; VAR_3++) qemu_get_betls(VAR_0, &env->excp_vectors[VAR_3]); qemu_get_betls(VAR_0, &env->excp_prefix); qemu_get_betls(VAR_0, &env->ivor_mask); qemu_get_betls(VAR_0, &env->ivpr_mask); qemu_get_betls(VAR_0, &env->hreset_vector); qemu_get_betls(VAR_0, &env->nip); qemu_get_betls(VAR_0, &env->hflags); qemu_get_betls(VAR_0, &env->hflags_nmsr); qemu_get_sbe32(VAR_0); qemu_get_sbe32(VAR_0); hreg_compute_mem_idx(env); return 0; }