At 12/13/2011 08:55 PM, Jan Kiszka Write: > On 2011-12-09 08:57, 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 >> >> 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. >> 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. 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. >> >> Changes from v1 to v2: >> 1. fix virt addr in the vmcore. >> >> Wen Congyang (5): >> Add API to create memory mapping list >> Add API to check whether a physical address is I/O address >> target-i386: implement cpu_get_memory_mapping() >> Add API to get memory mapping >> introduce a new monitor command 'dump' to dump guest's memory >> >> Makefile.target | 9 +- >> cpu-all.h | 10 + >> cpu-common.h | 1 + >> dump.c | 722 >> ++++++++++++++++++++++++++++++++++++++++++++++++++ >> dump.h | 6 + >> exec.c | 20 ++ >> hmp-commands.hx | 16 ++ >> memory_mapping.c | 183 +++++++++++++ >> memory_mapping.h | 30 ++ >> monitor.c | 3 + >> qmp-commands.hx | 24 ++ >> target-i386/helper.c | 239 +++++++++++++++++ >> 12 files changed, 1259 insertions(+), 4 deletions(-) >> create mode 100644 dump.c >> create mode 100644 dump.h >> create mode 100644 memory_mapping.c >> create mode 100644 memory_mapping.h > > A general remark regarding code organization: Please factor out the > target specific bits and push them into target-*/dump.[ch] or whatever > appropriate file in that folder. Ugly #ifdefs should be avoided in > generic code as far as possible.
OK. I will fix it. Thanks for pointing it out. Thanks Wen Congyang > > Thanks, > Jan >