]> git.proxmox.com Git - mirror_qemu.git/commit
ppc64: fix compressed dump with pseries kernel
authorLaurent Vivier <lvivier@redhat.com>
Mon, 8 Aug 2016 13:08:53 +0000 (15:08 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 10 Aug 2016 03:05:05 +0000 (13:05 +1000)
commit760d88d1d0c409f1afe6f1c91539487413e8b2a9
treebb5c27e6bc5d411c6dbeedfa8f4714454cae09fa
parent2bb15bddf2607110820d5ce5aa43baac27292fb3
ppc64: fix compressed dump with pseries kernel

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
    ...

Page_size is used to determine the dumpfile's block size. The
block size needs to be at least the page size, but a multiple of page
size works fine too. For PPC64, linux supports either 4KB or 64KB software
page size. So we define the page_size to 64KB.

Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
target-ppc/arch_dump.c