On Mon, Apr 14, 2014 at 5:42 PM, Greg Kurz <[email protected]> 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/>