qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 6/9] unicore32-softmmu: add generic cpu state sa


From: guanxuetao
Subject: Re: [Qemu-devel] [PATCH 6/9] unicore32-softmmu: add generic cpu state save/load functions
Date: Mon, 28 May 2012 17:52:01 +0800 (CST)
User-agent: SquirrelMail/1.4.8-4.0.1.el5

> Hi Guan,
>
>> +void cpu_save(QEMUFile *f, void *opaque)
>> +{
>> +    int i;
>> +    CPUUniCore32State *env = (CPUUniCore32State *)opaque;
>> +
>> +    for (i = 0; i < 32; i++) {
>> +        qemu_put_be32(f, env->regs[i]);
>> +    }
>> +    qemu_put_be32(f, cpu_asr_read(env));
>> +    qemu_put_be32(f, env->bsr);
>> +    for (i = 0; i < 6; i++) {
>> +        qemu_put_be32(f, env->banked_bsr[i]);
>> +        qemu_put_be32(f, env->banked_r29[i]);
>> +        qemu_put_be32(f, env->banked_r30[i]);
>> +    }
>> +
>> +    qemu_put_be32(f, env->cp0.c0_cpuid);
>> +    qemu_put_be32(f, env->cp0.c0_cachetype);
>> +    qemu_put_be32(f, env->cp0.c1_sys);
>> +    qemu_put_be32(f, env->cp0.c2_base);
>> +    qemu_put_be32(f, env->cp0.c3_faultstatus);
>> +    qemu_put_be32(f, env->cp0.c4_faultaddr);
>> +    qemu_put_be32(f, env->cp0.c5_cacheop);
>> +    qemu_put_be32(f, env->cp0.c6_tlbop);
>> +
>> +    qemu_put_be32(f, env->features);
>> +
>> +    if (env->features & UC32_HWCAP_UCF64) {
>> +        for (i = 0;  i < 16; i++) {
>> +            CPU_DoubleU u;
>> +            u.d = env->ucf64.regs[i];
>> +            qemu_put_be32(f, u.l.upper);
>> +            qemu_put_be32(f, u.l.lower);
>> +        }
>> +        for (i = 0; i < 32; i++) {
>> +            qemu_put_be32(f, env->ucf64.xregs[i]);
>> +        }
>> +    }
>> +}
>
>   Do you think use VMState rather then QEMUFile is a good idea?
> I saw OpenRISC target got this kind of feedback before [1].
>
> Regards,
> chenwj
>
> [1] http://lists.gnu.org/archive/html/qemu-devel/2012-05/msg02457.html
>
Yes, the similar problems occured in both openrisc and unicore32.
Thanks for your guidence.

Guan Xuetao




reply via email to

[Prev in Thread] Current Thread [Next in Thread]