On Mon, 21 Apr 2014 09:56:48 +0200 Alexander Graf <ag...@suse.de> wrote:
> > > > Am 21.04.2014 um 06:16 schrieb Bharata B Rao <bharata....@gmail.com>: > > > >> 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. > > Wouldn't it make more sense to treat dumps like gdb and set the endianness > depending on MSR_LE? > > Alex > It makes sense to behave the same as gdb... and BTW, since the guest may change endianness, we could possibly have MSB and LSB data in the dump. The important thing is to have the possibility to adapt endianness to what we are looking (like set target endian in gdb). > > > > 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. -- Gregory Kurz kurzg...@fr.ibm.com gk...@linux.vnet.ibm.com Software Engineer @ IBM/Meiosys http://www.ibm.com Tel +33 (0)562 165 496 "Anarchy is about taking complete responsibility for yourself." Alan Moore.