On Mon, Apr 14, 2014 at 5:42 PM, Greg Kurz <gk...@linux.vnet.ibm.com> wrote:

>
> +
> +#if !defined(CONFIG_USER_ONLY)
> +bool virtio_is_big_endian(void)
> +{
> +    PowerPCCPU *cp = POWERPC_CPU(first_cpu);
> +    CPUPPCState *env = &cp->env;
> +
> +    /* NOTE: booke uses the same number for another unrelated spr.
> +     */
> +    if (strcmp(env->spr_cb[SPR_LPCR].name, "LPCR")) {
> +        return TARGET_WORDS_BIGENDIAN;
> +    } else {
> +        return !(env->spr[SPR_LPCR] & LPCR_ILE);
> +    }
> +}
> +#endif
>

I am adding crash support for little endian ppc64 guests and I realized
that the above code needs to be re-used in
target-ppc/arch_dump.c:cpu_get_dump_info() to set the endianness.

Do you think it is worth to have this routine as a generic routine to
determine endianness so that subsystems other than virtio can reuse the
same ?

Regards,
Bharata.
<http://raobharata.wordpress.com/>

Reply via email to