static int cpu_gdb_write_register(CPUPPCState *env, uint8_t *mem_buf, int n)

{

    if (n < 32) {

        /* gprs */

        env->gpr[n] = ldtul_p(mem_buf);

        return sizeof(target_ulong);

    } else if (n < 64) {

        /* fprs */

        if (gdb_has_xml)

            return 0;

        env->fpr[n-32] = ldfq_p(mem_buf);

        return 8;

    } else {

        switch (n) {

        case 64:

            env->nip = ldtul_p(mem_buf);

            return sizeof(target_ulong);

        case 65:

            ppc_store_msr(env, ldtul_p(mem_buf));

            return sizeof(target_ulong);

        case 66:

            {

                uint32_t cr = ldl_p(mem_buf);

                int i;

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

                    env->crf[i] = (cr >> (32 - ((i + 1) * 4))) & 0xF;

                return 4;

            }

        case 67:

            env->lr = ldtul_p(mem_buf);

            return sizeof(target_ulong);

        case 68:

            env->ctr = ldtul_p(mem_buf);

            return sizeof(target_ulong);

        case 69:

            env->xer = ldtul_p(mem_buf);

            return sizeof(target_ulong);

        case 70:

            /* fpscr */

            if (gdb_has_xml)

                return 0;

            return 4;

        }

    }

    return 0;

}

static int cpu_gdb_write_register(CPUPPCState *env, uint8_t *mem_buf, int n)

{

    if (n < 32) {

        

        env->gpr[n] = ldtul_p(mem_buf);

        return sizeof(target_ulong);

    } else if (n < 64) {

        

        if (gdb_has_xml)

            return 0;

        env->fpr[n-32] = ldfq_p(mem_buf);

        return 8;

    } else {

        switch (n) {

        case 64:

            env->nip = ldtul_p(mem_buf);

            return sizeof(target_ulong);

        case 65:

            ppc_store_msr(env, ldtul_p(mem_buf));

            return sizeof(target_ulong);

        case 66:

            {

                uint32_t cr = ldl_p(mem_buf);

                int i;

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

                    env->crf[i] = (cr >> (32 - ((i + 1) * 4))) & 0xF;

                return 4;

            }

        case 67:

            env->lr = ldtul_p(mem_buf);

            return sizeof(target_ulong);

        case 68:

            env->ctr = ldtul_p(mem_buf);

            return sizeof(target_ulong);

        case 69:

            env->xer = ldtul_p(mem_buf);

            return sizeof(target_ulong);

        case 70:

            

            if (gdb_has_xml)

                return 0;

            return 4;

        }

    }

    return 0;

}

static int FUNC_0(CPUPPCState *VAR_0, uint8_t *VAR_1, int VAR_2)

{

    if (VAR_2 < 32) {

        

        VAR_0->gpr[VAR_2] = ldtul_p(VAR_1);

        return sizeof(target_ulong);

    } else if (VAR_2 < 64) {

        

        if (gdb_has_xml)

            return 0;

        VAR_0->fpr[VAR_2-32] = ldfq_p(VAR_1);

        return 8;

    } else {

        switch (VAR_2) {

        case 64:

            VAR_0->nip = ldtul_p(VAR_1);

            return sizeof(target_ulong);

        case 65:

            ppc_store_msr(VAR_0, ldtul_p(VAR_1));

            return sizeof(target_ulong);

        case 66:

            {

                uint32_t cr = ldl_p(VAR_1);

                int VAR_3;

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

                    VAR_0->crf[VAR_3] = (cr >> (32 - ((VAR_3 + 1) * 4))) & 0xF;

                return 4;

            }

        case 67:

            VAR_0->lr = ldtul_p(VAR_1);

            return sizeof(target_ulong);

        case 68:

            VAR_0->ctr = ldtul_p(VAR_1);

            return sizeof(target_ulong);

        case 69:

            VAR_0->xer = ldtul_p(VAR_1);

            return sizeof(target_ulong);

        case 70:

            

            if (gdb_has_xml)

                return 0;

            return 4;

        }

    }

    return 0;

}

static int FUNC_0(CPUPPCState *VAR_0, uint8_t *VAR_1, int VAR_2)
{ if (VAR_2 < 32) { VAR_0->gpr[VAR_2] = ldtul_p(VAR_1); return sizeof(target_ulong); } else if (VAR_2 < 64) { if (gdb_has_xml)
return 0; VAR_0->fpr[VAR_2-32] = ldfq_p(VAR_1); return 8; } else { switch (VAR_2) { case 64:
VAR_0->nip = ldtul_p(VAR_1); return sizeof(target_ulong); case 65:
ppc_store_msr(VAR_0, ldtul_p(VAR_1)); return sizeof(target_ulong); case 66:
{ uint32_t cr = ldl_p(VAR_1); int VAR_3; for (VAR_3 = 0; VAR_3 < 8; VAR_3++) VAR_0->crf[VAR_3] = (cr >> (32 - ((VAR_3 + 1) * 4))) & 0xF; return 4; } case 67:
VAR_0->lr = ldtul_p(VAR_1); return sizeof(target_ulong); case 68:
VAR_0->ctr = ldtul_p(VAR_1); return sizeof(target_ulong); case 69:
VAR_0->xer = ldtul_p(VAR_1); return sizeof(target_ulong); case 70:
if (gdb_has_xml)
return 0; return 4; } } return 0; }