qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-ppc] [PATCH] ppc64: fix compressed dump with pseries kernel


From: Laurent Vivier
Subject: [Qemu-ppc] [PATCH] ppc64: fix compressed dump with pseries kernel
Date: Wed, 3 Aug 2016 21:55:07 +0200

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 <address@hidden>
---
 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]