- Mar 12, 2013
-
-
Andreas Färber authored
Move it to qom/cpu.h to avoid issues with include order. Change pc_acpi_smi_interrupt() opaque to X86CPU. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Move it to qom/cpu.c to avoid build failures depending on include order of cpu-qom.h and exec/cpu-all.h. Change opaques of various ..._irq_handler() functions to the appropriate CPU type to facilitate using cpu_reset_interrupt(). Fix Coding Style issues while at it (missing braces, indentation). Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Both fields are used in VMState, thus need to be moved together. Explicitly zero them on reset since they were located before breakpoints. Pass PowerPCCPU to kvmppc_handle_halt(). Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Reindent, add missing braces and drop/adjust whitespace. Prepares for CPUArchState-to-CPUState field movements in cpu_cris_handle_mmu_fault(), do_interruptv10() and do_interrupt(). The remaining functions were so minor that they can be fixed in one go. Acked-by:
Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Expose vmstate_cpu as vmstate_x86_cpu and hook it up to CPUClass::vmsd. Adapt opaques and VMState fields to X86CPU. Drop cpu_{save,load}(). Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
This setter avoids redefining each VMStateDescription value to vmstate_dummy by not referencing the value for CONFIG_USER_ONLY. Suggested-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
In comparison to DeviceClass::vmsd, CPU VMState is split in two, "cpu_common" and "cpu", and uses cpu_index as instance_id instead of -1. Therefore add a CPU-specific CPUClass::vmsd field. Unlike the legacy CPUArchState registration, rather register CPUState. Signed-off-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com>
-
Andreas Färber authored
Reviewed-by:
Juan Quintela <quintela@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
This avoids adding a duplicate stub for CONFIG_USER_ONLY. Suggested-by:
Eduardo Habkost <ehabkost@redhat.com> Reviewed-by:
Eduardo Habkost <ehabkost@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
They are never changed once initialized, and moving them to the class will allow to inspect them before instantiating. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
Store legacy name in SuperHCPUClass for -cpu ? and for case-insensitive class lookup. List CPUs by iterating over TYPE_SUPERH_CPU subclasses. Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
No functional change, just less usages of first_cpu and next_cpu fields. env is passed to cpu_memory_rw_debug(), which in turn passes it to target-specific cpu_get_phys_page_debug(). Changing both would be a larger refactoring, so defer that by using env_ptr for now. Reviewed-by:
Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Andreas Färber authored
No functional change, just a reduction of CPU loops. The mon_cpu field is left untouched for now since changing that requires a number of larger prerequisites, including cpu_synchronize_state() and mon_get_cpu(). Reviewed-by:
Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Igor Mammedov authored
Commit 55e5c285 breaks CPU not found return value, and returns CPU corresponding to the last non NULL env. Fix it by returning CPU only if env is not NULL, otherwise CPU is not found and function should return NULL. Signed-off-by:
Igor Mammedov <imammedo@redhat.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Mar 11, 2013
-
-
Anthony Liguori authored
# By Paolo Bonzini (40) and others # Via Juan Quintela * quintela/migration.next: (46 commits) page_cache: dup memory on insert page_cache: fix memory leak Fix cache_resize to keep old entry age Fix page_cache leak in cache_resize migration: inline migrate_fd_close migration: eliminate s->migration_file migration: move contents of migration_close to migrate_fd_cleanup migration: move rate limiting to QEMUFile migration: small changes around rate-limiting migration: use qemu_ftell to compute bandwidth migration: use QEMUFile for writing outgoing migration data migration: use QEMUFile for migration channel lifetime qemu-file: simplify and export qemu_ftell qemu-file: add writable socket QEMUFile qemu-file: check exit status when closing a pipe QEMUFile qemu-file: fsync a writable stdio QEMUFile migration: merge qemu_popen_cmd with qemu_popen migration: use qemu_file_rate_limit consistently migration: remove useless qemu_file_get_error check migration: detect error before sleeping ...
-
Paolo Bonzini authored
A conflict was resolved the wrong way when merging commit 320ba5fe (build: always link device_tree.o into emulators if libfdt available, 2013-02-05). This causes a build failure for the arm-softmmu target due to multiply defined symbol. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Message-id: 1362997886-9470-1-git-send-email-pbonzini@redhat.com Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
Peter Lieven authored
The page cache frees all data on finish, on resize and if there is collision on insert. So it should be the caches responsibility to dup the data that is stored in the cache. Signed-off-by:
Peter Lieven <pl@kamp.de> Signed-off-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Peter Lieven authored
XBZRLE encoded migration introduced a MRU page cache meachnism. Unfortunately, cached items where never freed in case of a collision in the page cache on cache_insert(). This lead to out of memory conditions during XBZRLE migration if the page cache was small and there where a lot of collisions in the cache. Signed-off-by:
Peter Lieven <pl@kamp.de> Signed-off-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Orit Wasserman authored
Instead of using cache_insert do the update itself Signed-off-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Orit Wasserman authored
Signed-off-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
The indirection is useless now. Backends can open s->file directly. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
With this patch, the migration_file is not needed anymore. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Rate limiting is now simply a byte counter; client call qemu_file_rate_limit() manually to determine if they have to exit. So it is possible and simple to move the functionality to QEMUFile. This makes the remaining functionality of s->file redundant; in the next patch we can remove it and write directly to s->migration_file. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
This patch extracts a few small changes from the next patch, which are unrelated to adding generic rate-limiting functionality to QEMUFile. Make migration_set_rate_limit a simple accessor, and use qemu_file_set_rate_limit consistently. Also fix a typo where INT_MAX should have been SIZE_MAX. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Prepare for when s->bytes_xfer will be removed. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Second, drop the file descriptor indirection, and write directly to the QEMUFile. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
As a start, use QEMUFile to store the destination and close it. qemu_get_fd gets a file descriptor that will be used by the write callbacks. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Force a flush when qemu_ftell is called. This simplifies the buffer magic (it also breaks qemu_ftell for input QEMUFiles, but we never use it). Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
This is what exec_close does. Move this to the underlying QEMUFile. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
This is what fd_close does. Prepare for switching to a QEMUFile. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
There is no reason for outgoing exec migration to do popen manually anymore (the reason used to be that we needed the FILE* to make it non-blocking). Use qemu_popen_cmd. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
migration_put_buffer is never called if there has been an error. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
We will go around the loop exactly once after setting last_round. Eliminate the variable altogether. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Juan Quintela authored
This is consistent once that we have moved everything to migration.c Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
Paolo Bonzini authored
Buffering was needed because blocking writes could take a long time and starve other threads seeking to grab the big QEMU mutex. Now that all writes (except within _complete callbacks) are done outside the big QEMU mutex, we do not need buffering at all. Reviewed-by:
Orit Wasserman <owasserm@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-