kvm: Introduce kvm_set_migration_log
Introduce a global dirty logging flag that enforces logging for allslots. This can be used by the live migration code to enable/disableglobal logging withouth destroying the per-slot setting.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
kvm: Fix dirty log temporary buffer size
The buffer passed to KVM_GET_DIRTY_LOG requires one bit per page. Fixthe size calculation in kvm_physical_sync_dirty_bitmap accordingly,avoiding allocation of extremly oversized buffers.
kvm: Rework dirty bitmap synchronization
Extend kvm_physical_sync_dirty_bitmap() so that is can sync acrossmultiple slots. Useful for updating the whole dirty log duringmigration. Moreover, properly pass down errors the whole call chain.
Convert qemu-img convert to new bdrv_create
This is part two of the qemu-img conversion. This really works the same as theprevious conversion of qemu-img create: It introduces a new -o option for thegeneric approach and adds the old-style options to this option set....
qcow2: Allow different cluster sizes
Add an option to specify the cluster size of a newly created qcow2 image.Default is 4k which is the same value that was hard-coded before.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
kvm: Conditionally apply workaround for KVM slot handling bug
Only apply the workaround for broken slot joining in KVM when thecapability was not found that signals the corresponding fix existence.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
allow changing the speed of a running migration
This patch allow us to call migrate_set_speed on runningmigrations. This should allow mgmt tools to increase the allocatedbandwidth of a running migration if there is no progress, and theyreally want the migration to succeed....
Create qemu-option.h
This patch creates a new header file and the corresponding implementation filefor parsing of parameter strings for options (like used in -drive). Part ofthis is code moved from vl.c (so qemu-img can use it later).
The idea is to have a data structure describing all accepted parameters. When...
Convert all block drivers to new bdrv_create
Now we can make use of the newly introduced option structures. Instead ofhaving bdrv_create carry more and more parameters (which are format specific inmost cases), just pass a option structure as defined by the driver itself....
Convert qemu-img create to new bdrv_create
This patch changes qemu-img to actually use the new bdrv_create interface. Ittranslates the old-style qemu-img options which have been bdrv_create2parameters or flags so far to option structures. As the generic approach, it...
introduce set_rate_limit function for QEMUFile
This patch converts the current callers of qemu_fopen_ops().
Signed-off-by: Glauber Costa <glommer@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Fix segv when passing an unknown protocol
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Minimal ethernet frame length is 64 bytes.
Signed-off-by: Gleb Natapov <gleb@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Don't send all gratuitous packets at once.
Use timer to separate them in time.
augment info migrate with page status
This should be enough for management tools to realizewhether or not there is progress in migration. We can...
Partially revert e20a8dff4c0da3827764924139d3bb73962f5d5a
From Paul Brook:
"the fdc is tied to the ISA DMA engine. We don't currently have a target independent method of handling inter-device data transfer."
Revert "Fix arm-softmmu breakage"
This reverts commit ec6bd8dea77478f32981a5df49f66ca2430ad19d.
This broke any target that uses virtio. Virtio devices live in libhw andwithout whole-archive, the constructors will never be called for virtio.
Refactor how display drivers are selected
My previous commit, f92f8afebe, broke -vnc (spotted by Glauber Costa). Thisis because it's necessary to tell when the no special display parameters havebeen passed and default to SDL or VNC appropriately.
This refactors the display selection logic to be less complicated which has...
Introduce is_default field for QEMUMachine
f80f9ec changed the order that machines are registered which had the effect ofchanging the default machine. This changeset introduces a new is_default fieldso that machine types can declare that they are the default for an architecture....
Fix arm-softmmu breakage
Don't use whole-archive for hwlib or libqemu objects
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Compile most Xen files only once
Compile fdc, escc and SCSI controllers only once
Let the venomous poison spread to more identifiers
Convert machine registration to use module init functions
This cleans up quite a lot of #ifdefs, extern variables, and other ugliness.
Eliminate --disable-gfx-check and make VNC default when SDL not available
--disable-gfx-check predates VNC server support. It made sense back thenbecause the only thing you could do without SDL was use -nographic mode orsimilar tricks. Since this is a very advanced mode of operation, gfx-check...
Do not attempt to allocate sn_tab when there are no snapshots
This was caught by a7d27b536ffc0773028a90f14580552c0c3ddb2a whichaborted on this attempt, thanks to Alex Ivanov for report.
Signed-off-by: malc <av1474@comtv.ru>
Cast pointer arguments of get/setsockopt, send to void * to keep GCCfrom producing a warning about pointer type mismatches with Winsock
kvm: add error message for when SMP is requested
Right now, if you try e.g. '-smp 2' you just get 'failed toinitialize KVM'.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Remove initrd warning message
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
keep initrd in below 4g area.
initrd must be kept on the memory area below 4g. By not doing this,we're seeing guests break while using -initrd and values of -memsuperior to 4096.
Signed-off-by: Glauber Costa <glommer@redhat.com>
Fix NULL alarm_timer pointer at exit
This fixes a SIGSEGV error on qemu exit.
Here is the valgrind output related to this error
initialize struct sigevent before timer_create
When qemu is run under valgrind, valgrind shows the following outputon exit:
remove gcc 3.x requirement from documentation
This text is no longer accurate. After the patch is applied, thegenerated version at http://www.nongnu.org/qemu/qemu-doc.html should beregenerated.
This patch is also a candidate for the stable branch. (The URL above is...
kvm: work around supported cpuid ioctl() brokenness
KVM_GET_SUPPORTED_CPUID has been known to fail to return -E2BIGwhen it runs out of entries. Detect this by always trying againwith a bigger table if the ioctl() fills the table.
migrate.c: migrate_fd_put_buffer: Do not busyloop: stop writing if EWOULDBLOCK
The migration code is non-blocking, designed for live migration.
Practically migrate_fd_put_buffer busy-loops trying to write, ason many machines EWOULDBLOCK==EAGAIN (look in include/asm-generic/errno.h)....
Remove dead code
Format per CODING_STYLE
Abort on attempts to allocate zero bytes
http://marc.info/?t=124267873300015&r=1&w=2
Unbreak out-of-tree builds
Hardware convenience library
The only target dependency for most hardware is sizeof(target_phys_addr_t).Build these files into a convenience library, and use that instead ofbuilding for every target.
Remove and poison various target specific macros to avoid bogus target...
Disable >4G ram support on 32-bit targets
If the target only has a 32-bit physical address space thenthe code to map >4G ram breaks horribly, and causes compiler warnings.
Signed-off-by: Paul Brook <paul@codesourcery.com>
Only define __llseek if it is going to be used
Avoid implicit truncation compiler warnings
Remove obsolete BIOS_SIZE from sysemu.h
BIOS_SIZE is no longer needed by vl.c, so there's no point having it insysemu.h.
cris: First shot at qdev for CRIS interrupts.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
etrax: Don't keep the passed irq pointer.
Copy passed irq object at channel connect.
etrax: Remove unused eth irq line.
The ethernet blocks irq line to report errors is unimplemented in QEMU.Remove it for now.
Syborg virtio bindings.
Implement Syborg device bindings for virtio-net.
Separate virtio PCI code
Split the PCI host bindings from the VRing transport implementation.
Only shutdown video subsytem in sdl_cleanup
Depending on the order in which atexit handlers are called SDL mighttry to join on an audio thread without said thread ever being notifiedthat it must stop, hence QEMU will forever block in pthread_join call....
Consistently use uint64_t for int properties
I apparently failed to do this properly on the first attempt.
ETRAX-PIC: Untabify.
ETRAX-TIMER: qdevify.
ETRAX-TIMER: Untabify.
ETRAX-SER: Untabify.
ETRAX-SER: qdevify.
ETRAX: Simplify PIC interface.
Instead of exporting a custom structure to represent differentinterrupt types, just export the irq array and have the topelements point to the NMI lines.
support ELF_HWCAP for PPPC
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>Signed-off-by: malc <av1474@comtv.ru>
linux-user: ppc signal handling
Implement setup_{,rt_}frame and do_{,rt_}sigreturn for PPC 32-bit. Usethe same TARGET_QEMU_ESIGRETURN hack as for MIPS to avoid clobberingregister state on a sigreturn.
Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>...
target-ppc: expose cpu capability flags
Do this so other pieces of code can make decisions based on thecapabilities of the CPU we're emulating.
ETRAX: Correct passing of kernel command line.
fix ARMv7 data processing instructions
ARMv7 defines a new behavior for ARM data processing instructionscompared to earlier architecture revisions; when the destinationregister is R15, a Branch and Exchange operation is executed ratherthan a simple Branch to the target address. This patch corrects the...
Modernize parts of target-arm/translate.c in preparation for themodifications in the subsequent patch in this patch set. This is donein order to avoid writing new code to target-arm/translate.c thatwould use deprecated methods and/or variables....
Fix module initialization when more than 1 class is in use
Now that we're using enums for module types, it makes no sense to bother keepinga list of module types when we know exactly how many they are.
Switching to an array simplifies the code and eliminates the aforementioned bug....
Syborg (Symbian Virtual Platform) board
A virtual reference platform for SymbianOS development/debugging.
Fix warning on WIN32
Fix build on Solaris and WIN32
Stellaris I2C qdev conversion
SSP bus framework
Stellaris SSI qdev conversion
PXA SSI qdev conversion
PL080 qdev conversion
Virtio-blk qdev conversion
Virtio-balloon qdev conversion
Virtio-console conversion
ARM PCI host qdev conversion
ARM GIC qdev conversion
MusicPal qdev conversion
I2C qdev support
SSD0303 qdev conversion
MAX7310 I2C qdev conversion
LM832x qdev conversion
PXA2xx I2C slave qdev conversion
TMP105 qdev conversion
WM8750 qdev coversion
TWL92230 qdev conversion
TOSC DAC i2c qdev voncersion
SMBus qdev conversion
Remove bogus omap i2c slave code
I2C cleanup
Stellaris ethernet qdev conversion
PL031 qdev conversion
PL181 qdev conversion
Integrator/CP core qdev conversion
ARM timers qdev conversion
smc91c111 qdev conversion
ESP SCSI qdev conversion
PL190 qdev conversion
Versatile/PB core qdev conversion
ARM RealView sytem controller qdev conversion