[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC][PATCH 00/16 v8] introducing a new, dedicated memo
From: |
Wen Congyang |
Subject: |
Re: [Qemu-devel] [RFC][PATCH 00/16 v8] introducing a new, dedicated memory dump mechanism |
Date: |
Mon, 05 Mar 2012 17:12:00 +0800 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100413 Fedora/3.0.4-2.fc13 Thunderbird/3.0.4 |
At 03/02/2012 05:59 PM, Wen Congyang Wrote:
> Hi, all
>
> 'virsh dump' can not work when host pci device is used by guest. We have
> discussed this issue here:
> http://lists.nongnu.org/archive/html/qemu-devel/2011-10/msg00736.html
>
> The last version is here:
> http://lists.nongnu.org/archive/html/qemu-devel/2012-02/msg04228.html
>
> We have determined to introduce a new command dump to dump memory. The core
> file's format can be elf.
>
> Note:
> 1. The guest should be x86 or x86_64. The other arch is not supported now.
> 2. If you use old gdb, gdb may crash. I use gdb-7.3.1, and it does not crash.
> 3. If the OS is in the second kernel, gdb may not work well, and crash can
> work by specifying '--machdep phys_addr=xxx' in the command line. The
> reason is that the second kernel will update the page table, and we can
> not get the page table for the first kernel.
> 4. The cpu's state is stored in QEMU note. You neet to modify crash to use
> it to calculate phys_base.
> 5. If the guest OS is 32 bit and the memory size is larger than 4G, the vmcore
> is elf64 format. You should use the gdb which is built with
> --enable-64-bit-bfd.
> 6. This patchset is based on the upstream tree, and apply one patch that is
> still
> in Luiz Capitulino's tree, because I use the API qemu_get_fd() in this
> patchset.
>
Hi, Jan, Luiz Capitulino
Do you have any comments?
Thanks
Wen Congyang
> Changes from v7 to v8:
> 1. addressed Hatayama's comments
>
> Changes from v6 to v7:
> 1. addressed Jan's comments
> 2. fix some bugs
> 3. store cpu's state into the vmcore
>
> Changes from v5 to v6:
> 1. allow user to dump a fraction of the memory
> 2. fix some bugs
>
> Changes from v4 to v5:
> 1. convert the new command dump to QAPI
>
> Changes from v3 to v4:
> 1. support it to run asynchronously
> 2. add API to cancel dumping and query dumping progress
> 3. add API to control dumping speed
> 4. auto cancel dumping when the user resumes vm, and the status is failed.
>
> Changes from v2 to v3:
> 1. address Jan Kiszka's comment
>
> Changes from v1 to v2:
> 1. fix virt addr in the vmcore.
>
> Wen Congyang (16):
> Add API to create memory mapping list
> Add API to check whether a physical address is I/O address
> implement cpu_get_memory_mapping()
> Add API to check whether paging mode is enabled
> Add API to get memory mapping
> Add API to get memory mapping without do paging
> target-i386: Add API to write elf notes to core file
> target-i386: Add API to write cpu status to core file
> target-i386: add API to get dump info
> make gdb_id() generally avialable
> introduce a new monitor command 'dump' to dump guest's memory
> support to cancel the current dumping
> support to query dumping status
> run dump at the background
> support detached dump
> allow user to dump a fraction of the memory
>
> Makefile.target | 3 +
> configure | 8 +
> cpu-all.h | 66 +++
> cpu-common.h | 2 +
> dump.c | 980
> +++++++++++++++++++++++++++++++++++++
> dump.h | 23 +
> elf.h | 5 +
> exec.c | 11 +
> gdbstub.c | 9 -
> gdbstub.h | 9 +
> hmp-commands.hx | 44 ++
> hmp.c | 89 ++++
> hmp.h | 3 +
> memory_mapping.c | 290 +++++++++++
> memory_mapping.h | 60 +++
> monitor.c | 7 +
> qapi-schema.json | 58 +++
> qmp-commands.hx | 110 +++++
> target-i386/arch_dump.c | 433 ++++++++++++++++
> target-i386/arch_memory_mapping.c | 271 ++++++++++
> vl.c | 5 +-
> 21 files changed, 2475 insertions(+), 11 deletions(-)
> create mode 100644 dump.c
> create mode 100644 dump.h
> create mode 100644 memory_mapping.c
> create mode 100644 memory_mapping.h
> create mode 100644 target-i386/arch_dump.c
> create mode 100644 target-i386/arch_memory_mapping.c
>
>
>
>
>
- [Qemu-devel] [RFC][PATCH 07/16 v8] target-i386: Add API to write elf notes to core file, (continued)
- [Qemu-devel] [RFC][PATCH 07/16 v8] target-i386: Add API to write elf notes to core file, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 08/16 v8] target-i386: Add API to write cpu status to core file, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 09/16 v8] target-i386: add API to get dump info, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 10/16 v8] make gdb_id() generally avialable, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 11/16 v8] introduce a new monitor command 'dump' to dump guest's memory, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 12/16 v8] support to cancel the current dumping, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 13/16 v8] support to query dumping status, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 14/16 v8] run dump at the background, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 15/16 v8] support detached dump, Wen Congyang, 2012/03/02
- [Qemu-devel] [RFC][PATCH 16/16 v8] allow user to dump a fraction of the memory, Wen Congyang, 2012/03/02
- Re: [Qemu-devel] [RFC][PATCH 00/16 v8] introducing a new, dedicated memory dump mechanism,
Wen Congyang <=