Message ID | 20220107222601.4101511-9-farosas@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/ppc: powerpc_excp improvements (2/n) | expand |
On Fri, Jan 07, 2022 at 07:26:01PM -0300, Fabiano Rosas wrote: > We use the endianness of interrupts to determine which endianness to > use for the guest kernel memory dump. For machines that support HILE > (powernv8 and up) we have been always generating big endian dump > files. > > This patch uses the HILE support recently added to > ppc_interrupts_little_endian to fix the endianness of the dumps for > powernv machines. > > Here are two dumps created at different moments: > > $ file skiboot.dump > skiboot.dump: ELF 64-bit MSB core file, 64-bit PowerPC ... > > $ file kernel.dump > kernel.dump: ELF 64-bit LSB core file, 64-bit PowerPC ... > > Suggested-by: David Gibson <david@gibson.dropbear.id.au> > Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> > --- > target/ppc/arch_dump.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target/ppc/arch_dump.c b/target/ppc/arch_dump.c > index 12cde198a3..993740897d 100644 > --- a/target/ppc/arch_dump.c > +++ b/target/ppc/arch_dump.c > @@ -237,7 +237,7 @@ int cpu_get_dump_info(ArchDumpInfo *info, > info->d_machine = PPC_ELF_MACHINE; > info->d_class = ELFCLASS; > > - if (ppc_interrupts_little_endian(cpu, false)) { > + if (ppc_interrupts_little_endian(cpu, cpu->env.has_hv_mode)) { > info->d_endian = ELFDATA2LSB; > } else { > info->d_endian = ELFDATA2MSB;
diff --git a/target/ppc/arch_dump.c b/target/ppc/arch_dump.c index 12cde198a3..993740897d 100644 --- a/target/ppc/arch_dump.c +++ b/target/ppc/arch_dump.c @@ -237,7 +237,7 @@ int cpu_get_dump_info(ArchDumpInfo *info, info->d_machine = PPC_ELF_MACHINE; info->d_class = ELFCLASS; - if (ppc_interrupts_little_endian(cpu, false)) { + if (ppc_interrupts_little_endian(cpu, cpu->env.has_hv_mode)) { info->d_endian = ELFDATA2LSB; } else { info->d_endian = ELFDATA2MSB;
We use the endianness of interrupts to determine which endianness to use for the guest kernel memory dump. For machines that support HILE (powernv8 and up) we have been always generating big endian dump files. This patch uses the HILE support recently added to ppc_interrupts_little_endian to fix the endianness of the dumps for powernv machines. Here are two dumps created at different moments: $ file skiboot.dump skiboot.dump: ELF 64-bit MSB core file, 64-bit PowerPC ... $ file kernel.dump kernel.dump: ELF 64-bit LSB core file, 64-bit PowerPC ... Suggested-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> --- target/ppc/arch_dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)