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. Thanks, Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux