From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59065) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bV2GR-0004aj-N8 for qemu-devel@nongnu.org; Wed, 03 Aug 2016 15:55:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bV2GN-0007RH-HK for qemu-devel@nongnu.org; Wed, 03 Aug 2016 15:55:38 -0400 From: Laurent Vivier Date: Wed, 3 Aug 2016 21:55:07 +0200 Message-Id: <1470254107-14842-1-git-send-email-lvivier@redhat.com> Subject: [Qemu-devel] [PATCH] ppc64: fix compressed dump with pseries kernel List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson , Alexander Graf Cc: qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Laurent Vivier If we don't provide the page size in target-ppc:cpu_get_dump_info(), the default one (TARGET_PAGE_SIZE, 4KB) is used to create the compressed dump. It works fine with Macintosh, but not with pseries as the kernel default page size is 64KB. Without this patch, if we generate a compressed dump in the QEMU monitor: (qemu) dump-guest-memory -z qemu.dump This dump cannot be read by crash: # crash vmlinux qemu.dump ... WARNING: cannot translate vmemmap kernel virtual addresses: commands requiring page structure contents will fail ... Signed-off-by: Laurent Vivier --- target-ppc/arch_dump.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target-ppc/arch_dump.c b/target-ppc/arch_dump.c index df1fd8c..ad37a59 100644 --- a/target-ppc/arch_dump.c +++ b/target-ppc/arch_dump.c @@ -220,6 +220,11 @@ int cpu_get_dump_info(ArchDumpInfo *info, } else { info->d_endian = ELFDATA2LSB; } + /* 64KB is the page size default for pseries kernel */ + if (strncmp(object_get_typename(qdev_get_machine()), + "pseries-", 8) == 0) { + info->page_size = (1U << 16); + } return 0; } -- 2.5.5