History | View | Annotate | Download (23.2 kB)
cpu: Use QTAILQ for CPU list
Introduce CPU_FOREACH(), CPU_FOREACH_SAFE() and CPU_NEXT() shorthandmacros.
Signed-off-by: Andreas Färber <afaerber@suse.de>
dump: introduce GuestPhysBlockList
The vmcore must use physical addresses that are visible to the guest, notaddresses that point into linear RAMBlocks. As first step, introduce thelist type into which we'll collect the physical mappings in effect at the...
dump: populate guest_phys_blocks
While the machine is paused, in guest_phys_blocks_append() we register aone-shot MemoryListener, solely for the initial collection of the validguest-physical memory ranges that happens at listener registration time.
For each range that is reported to guest_phys_blocks_region_add(), we...
dump: rebase from host-private RAMBlock offsets to guest-physical addresses
RAMBlock.offset --> GuestPhysBlock.target_startRAMBlock.offset + RAMBlock.length --> GuestPhysBlock.target_endRAMBlock.length --> GuestPhysBlock.target_end -...
dump: clamp guest-provided mapping lengths to ramblock sizes
Even a trusted & clean-state guest can map more memory than what it wasgiven. Since the vmcore contains RAMBlocks, mapping sizes should beclamped to RAMBlock sizes. Otherwise such oversized mappings can exceed...
cpu: Make first_cpu and next_cpu CPUState
Move next_cpu from CPU_COMMON to CPUState.Move first_cpu variable to qom/cpu.h.
gdbstub needs to use CPUState::env_ptr for now.cpu_copy() no longer needs to save and restore cpu_next.
Acked-by: Paolo Bonzini <pbonzini@redhat.com>...
dump: qmp_dump_guest_memory(): use error_setg_file_open()
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Acked-by: Kevin Wolf <kwolf@redhat.com>
memory_mapping: Improve qemu_get_guest_memory_mapping() error reporting
Pass any Error out into dump_init() and have it actually stop on errors.Whether it is unsupported on a certain CPU can be checked by looking fora NULL CPUClass::get_memory_mapping field....
dump: Abstract dump_init() with cpu_synchronize_all_states()
Instead of calling cpu_synchronize_state() for each CPU, call theexisting cpu_synchronize_all_states() helper.
Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
cpu: Move cpu_write_elfXX_note() functions to CPUState
Convert cpu_write_elfXX_note() functions to CPUClass methods and passCPUState as argument. Update target-i386 accordingly.
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>[AF: Retain stubs as CPUClass' default method implementation; style changes]...
include: avoid useless includes of exec/ headers
Headers in include/exec/ are for the deepest innards of QEMU,they should almost never be included directly.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
cpu: Move host_tid field to CPUState
Change gdbstub's cpu_index() argument to CPUState now that CPUArchStateis no longer used.
exec: change RAM list to a TAILQ
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Juan Quintela <quintela@redhat.com>
softmmu: move include files to include/sysemu/
monitor: move include files to include/monitor/
qapi: move include files to include/qobject/
exec: move include files to include/exec/
Rename target_phys_addr_t to hwaddr
target_phys_addr_t is unwieldly, violates the C standard (_t suffixes arereserved) and its purpose doesn't match the name (most target_phys_addr_taddresses are not target specific). Replace it with a finger-friendly,...
qmp: dump-guest-memory: don't spin if non-blocking fd would block
fd_write_vmcore() will indefinitely spin for a non-blockingfile-descriptor that would block. However, if the fd is non-blocking,how does it make sense to spin?
Change this behavior to return an error instead....
monitor: add Error * argument to monitor_get_fd
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Reviewed-by: Markus Armbruster <armbru@redhat.com>
dump: Fix license version (GPL2+ instead of GPL2)
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
w32: Fix broken build (missing include file)
dump.c was recently added to the code. It unconditionallyincludes sys/procfs which is not available with MinGW (w32, w64).
It looks like this file is not needed at all (tested on Linux),so I removed it completely....
dump: remove dumping stuff from cpu-all.h
This simplifies things, because they will only be included for softmmutargets and because the stubs are taken out-of-line in separate files,which in the future could even be compiled only once.
dump: change cpu_get_note_size to return ssize_t
So that it can use the same prototype in both cases.
introduce a new monitor command 'dump-guest-memory' to dump guest's memory
The command's usage: dump-guest-memory [-p] protocol [begin] [length]The supported protocol can be file or fd:1. file: the protocol starts with "file:", and the following string is...