History | View | Annotate | Download (155.2 kB)
qdev/compat: compat property infrastructure.
This add support for switching devices into a compatibility modeusing device properties. Machine types can have a list of propertiesfor specific devices attached to allow the easy creation of machinetypes compatible to older qemu versions....
honor -S on incoming migration
-S is not honored by qemu on incoming migration. If a domain is migratedwhile paused, thus, it will start running on the remote machine; thisis wrong.
Given the trivial patch to fix this, it looks more like a thinkothan anything else, probably dating back to the qemu-kvm merge....
Move boot_set callback backend
Move registration function for the boot_set callback handler and provideqemu_boot_set so that it can also be used outside the monitor code.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Rework reset handler management
Convert the reset handler maintenance code to TAILQ services.
Add qemu_unregister_reset
Will be used by '-boot once=...', and should also help in other usecases.
Add boot-once support
This allows to specify an exceptional boot order only for the firststartup of the guest. After reboot, qemu will switch back to the defaultorder (or what was specified via 'order='). Makes installing from CDimages and then booting the freshly set up harddisk more handy....
Add boot menu control via command line switch
Disable the lengthy BIOS prompt for selecting a boot device by default,but let the user reenable it via '-boot menu=on'.
Rework -boot option
This patch changes the boot command line option to the canonical format
-boot [order=drives][,...]
where 'drives' is using the same format as the old -boot. The formatswitch allows to add the 'menu' and 'once' options in later patches. The...
Disable kqemu by default at run time
-no-kqemu -> -enable-kqemu
kqemu is still present at compile time by default
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Allow setting qemu process name v2
Set the Linux process name to the name argument specified with name. I findthis useful to see which guests are taking CPU time in top.
This doesn't affect ps, which checks argv0, but rewriting theenvironment uses much more code, so I only used this simple way....
split out ioport related stuffs from vl.c into ioport.c.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qcow2: Make cache=writethrough default
The performance of qcow2 has improved meanwhile, so we don't need tospecial-case it any more. Switch the default to write-through cachinglike all other block drivers.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Revert "Introduce reset notifier order"
This reverts commit 8217606e6edb49591b4a6fd5a0d1229cebe470a9 (andupdates later added users of qemu_register_reset), we solved theproblem it originally addressed less invasively.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
Replace -no-virtio-balloon by -balloon
We want to do (at least) two things to the virtio-balloon device:suppress it, and control its PCI address. Option -no-virtio-balloonlets us do only the former. To get the latter, replace-no-virtio-balloon with...
kvm: Rework VCPU synchronization
During startup and after reset we have to synchronize user space to thein-kernel KVM state. Namely, we need to transfer the VCPU registers whenthey change due to VCPU as well as APIC reset.
This patch refactors the required hooks so that kvm_init_vcpu registers...
slirp: Kill slirp_is_inited
Avoid the need for slirp_is_inited by refactoring the protectedslirp_select_* functions. This also avoids the clearing of all fd setson select errors.
slirp: Rework monitor commands for host forwarding
Improve the monitor interface for adding and removing host forwardingrules by splitting it up in two commands and rename them to hostfwd_addand hostfwd_remove. Also split up the paths taken for legacy -redir...
Introduce get_next_param_value
In order to parse multiple instances of the same param=value pair,introduce get_next_param_value which can pass back to string parsingposition after reading a parameter value.
slirp: Move smb, redir, tftp and bootp parameters and -net channel
So far a couple of slirp-related parameters were expressed viastand-alone command line options. This it inconsistent and unintuitive.Moreover, it prevents both dynamically reconfigured (host_net_add/...
Make sure to zero out memory before calling madvise to increase robustness
Avi pointed out that it's not entirely safe to rely on madvise zeroing outmemory. So let's do it explicitly before calling madvise.
Win32: Fix compilation with SDL.
`sdl-config --cflags` defines main = SDL_mainon some platforms. One of these platforms isWindows with mingw32.
For those platforms, the solution already developedfor APPLE is now applied.
A compiler warning (missing return value) is fixed, too....
Support addr=... in option argument of -drive if=virtio
Make drive_init() accept addr=, put the value into struct DriveInfo.Use it in all the places that create virtio-blk-pci devices:pc_init1(), bamboo_init(), mpc8544ds_init().
Don't support addr= in third argument of monitor command pci_add and...
Instead of writing a zero page, madvise it away
Otherwise, after migration, we end up with a much larger RSS size then weought to have.
Make nic option rom loading less painful.
The code how it is today, is totally painful to read and keep.To begin with, the code is duplicated with the option rom loadingcode that linux_boot and vga are already using.
This patch introduces a "bootable" state in NICInfo structure,...
add non-arbitrary migration stop condition
Currently, we're entering migration's stage 3 whena treshold of 10 pages remain to be transferred in the system.
This has hurt some users. However, any proposed threshold isarbitrary by nature, and would only shift the annoyance....
Remove dead code
vl.c contains some dead code that initialises a 'label' string with the nameof the char device being initialised. This is unused.
Signed-off-by: Amit Shah <amit.shah@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Add -no-virtio-balloon command-line option
This new option may be used to disable the virtio-balloon device.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Fix SDL include path.
SDL header files can be included in two different ways:
The 1st alternative is simple and works in many cases.
The 2nd alternative needs sdl-config to get thecorrect compiler flags. It is the recommended way...
Merge branch 'net-queue'
Fix "defined but not used" warning
The function qemu_calculate_timeout() is only used when CONFIG_IOTHREADis not defined. When CONFIG_IOTHREAD is defined, we have the followingwarning:
vl.c:4389: warning: ‘qemu_calculate_timeout’ defined but not used...
Use snprintf to avoid OpenBSD warning
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Fix warning
slirp: Avoid zombie processes after fork_exec
Slirp uses fork_exec for spawning service processes, and QEMU uses thisfor running smbd. As SIGCHLD is not handled, these processes becomezombies on termination. Fix this by installing a proper signal handler,...
Revert "Fix output of uninitialized strings"
This reverts commit 8cf07dcbe7691dbe4f47563058659dba6ef66b05.
This is a sorry saga.
This commit:
8e4416af45 net: Add parameter checks for VLAN clients
broken '-net socket' and this commit:
ffad4116b9 net: Fix -net socket parameter checks...
net: Real fix for check_params users
OK, last try: 8e4416af45 broke -net socket, ffad4116b9 tried to fix itbut broke error reporting of invalid parameters. So this patch widelyreverts ffad4116b9 again and intead fixes those callers of check_paramsthat originally suffered from overwritten buffers by using separate...
net: Improve parameter error reporting
As host network devices can also be instantiated via the monitor, errorsshould then be reported to the related monitor instead of stderr. Thisrequires larger refactoring, so this patch starts small with introducing...
Use relative path for bios
Look for bios and other support files relative to qemu binary, rather thana hardcoded prefix.
Signed-off-by: Paul Brook <paul@codesourcery.com>
kvm: Mark full address range dirty on live migration start
As Avi correctly noted, last_ram_offset does not mark the last physicalRAM address the guest may see (due to non-continuous memory regions).Ensure that we catch them all by marking the full possible address range...
User Networking: Enable removal of redirections
Using the new host_net_redir command you can easily create redirectionson the fly while your VM is running.
While that's great, it's missing the removal of redirections, in case youwant to have a port closed again at a later point in time....
fully split aio_pool from BlockDriver
Now that we have a separate aio pool structure we can remove thoseaio pool details from BlockDriver.
Every driver supporting AIO now needs to declare a static AIOPoolwith the aiocb size and the cancellation method. This cleans up the...
Fix output of uninitialized strings
Commit ffad4116b96e29e0fbe892806f97c0a6c903d30d removed the "scratch buffer" from check_params, but didn't care for the error messages which actuallyincluded this string to tell the user which option was wrong. Now this string...
Introduce reset notifier order
Add the parameter 'order' to qemu_register_reset and sort callbacks onregistration. On system reset, callbacks with lower order will beinvoked before those with higher order. Update all existing users to thestandard order 0....
kvm: Rework VCPU reset
Use standard callback with highest order to synchronize VCPU on resetafter all device callbacks were execute. This allows to remove thespecial kvm hook in qemu_system_reset.
kvm: Add missing bits to support live migration
This patch adds the missing hooks to allow live migration in KVM mode.It adds proper synchronization before/after saving/restoring the VCPUstates (note: PPC is untested), hooks intocpu_physical_memory_set_dirty_tracking() to enable dirty memory logging...
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...
augment info migrate with page status
This should be enough for management tools to realizewhether or not there is progress in migration. We can...
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....
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...
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:
Basic qdev infrastructure.
Fix kqemu build failure.
Remove vga_ram_size
The vga_ram_size argument to machine init functions always has the samevalue, and is ignored by many machines (including SPARC32 which has anobsolete ifdef for VGA_RAM_SIZE).
Remove it and push VGA_RAM_SIZE into vga_int.h.
Follow coding conventions
Remove explicit struct qualifiers and rename structure types.
Drop CONFIG_GDBSTUB
This is no user-flippable switch, and no arch makes use of disablinggdbstub support. So it's pointless to keep the related #ifdefs andconfigure hunks around - and risking breakages like 711c410fdd again.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Fix serial option with -drive
This is from the KVM tree.
net: Fix -net socket parameter checks
My commit ea053add700d8abe203cd79a9ffb082aee4eabc0 broke -net socket byoverwriting an intermediate buffer in the added check_param. Fix thisby switching check_param to automatic buffer allocation and release, ie.callers no longer have to worry about providing a scratch buffer....
Hardware watchdog
Here is an updated hardware watchdog patch, which should fixeverything that was raised about the previous version ...
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Build fix for !CONFIG_GDBSTUB case
Once CONFIG_GDBSTUB not configured, compile will generate error.
Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>Signed-off-by: Avi Kivity <avi@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Fix qemu_event_init
Falling through to "fail" made qemu_event_init() close the pipe fdsimmediately again, breaking timer event notification.
Fix Win32 warning
qemu: introduce iothread (Marcelo Tosatti)
Fill in the hooks and introduce iothread.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7248 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: handle stop request in main loop (Marcelo Tosatti)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7247 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: refactor tcg cpu execution loop (Marcelo Tosatti)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7246 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: use debug_requested global instead of cpu_exec return (Marcelo Tosatti)
Necessary for the next refactoring patch.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7245 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: introduce lock/unlock_iothread (Marcelo Tosatti)
Hook to allow iothread to drop the global mutex.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7244 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: introduce qemu_cpu_kick (Marcelo Tosatti)
To notify cpu of pending interrupt.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7243 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: introduce qemu_init_vcpu (Marcelo Tosatti)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7242 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: refactor main_loop (Marcelo Tosatti)
Break main loop into 3 main functions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7241 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: factor out event notification / rearm alarm timer on main_loop_wait (Marcelo Tosatti)
Special events that have no particular event descriptor (either fd for UNIXor HANDLE for Windows) associated with make use of an artificial one.
Factor the alarm timer notification so that it can be used for other events,...
qemu: introduce qemu_init_main_loop (Marcelo Tosatti)
Hook to allow iothread initialization.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7239 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: create helper for event notification (Marcelo Tosatti)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7236 c046a42c-6fe2-441c-8c8c-71466251a162
xen: add -vga xenfb option, configure xenfb (Gerd Hoffmann)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7228 c046a42c-6fe2-441c-8c8c-71466251a162
simplify vga selection (Gerd Hoffmann)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7227 c046a42c-6fe2-441c-8c8c-71466251a162
xen: add block device backend driver. (Gerd Hoffmann)
This patch adds a block device backend driver to qemu. It is a pureuserspace implemention using the gntdev interface. It uses "qdisk" asbackend name in xenstore so it doesn't interfere with the other existing...
xen: groundwork for xen support (Gerd Hoffmann)
- configure script and build system changes.- wind up new machine type.- add xen* command line options.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
added -numa cmdline parameter parser (Andre Przywara)
adds a -numa command line parameter and sets a QEMU global array withthe memory sizes. The CPU-to-node assignemnt is written into theCPUState. If no specific values for memory and CPUs are given,all resources will be split equally across all nodes....
slirp: Enhance host-guest redirection setup (Jan Kiszka)
Allow to establish a TCP/UDP connection redirection also via a monitorcommand 'host_net_redir'. Moreover, assume TCP as connection type ifthat parameter is omitted.
Allow empty params for check_params (Jan Kiszka)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7199 c046a42c-6fe2-441c-8c8c-71466251a162
kqemu: merge CONFIG_KQEMU and USE_KQEMU
Basically a recursive ":%s/USE_KQEMU/CONFIG_KQEMU/g".
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7189 c046a42c-6fe2-441c-8c8c-71466251a162
qemu: Add support for SMBIOS command line otions (Alex Williamson)
Create a new -smbios option (x86-only) to allow binary SMBIOS entriesto be passed through to the BIOS or modify the default values ofindividual fields of type 0 and 1 entries on the command line....
qemu: Add prototype and make qemu_uuid_parse() non-static (Alex Williamson)
SMBIOS parameters can also provide a UUID outside of vl.c.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7162 c046a42c-6fe2-441c-8c8c-71466251a162
kvm: Sync CPU state on reset (Jan Kiszka)
Make sure KVM gets informed about the reset CPU state.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7135 c046a42c-6fe2-441c-8c8c-71466251a162
Implement dynamic guest ram allocation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7088 c046a42c-6fe2-441c-8c8c-71466251a162
Remove code phys_ram_base uses.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7085 c046a42c-6fe2-441c-8c8c-71466251a162
Add --with-pkgversion.Allows distributors to identify their builds without needing to hack thesources.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7036 c046a42c-6fe2-441c-8c8c-71466251a162
Implement --version.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7035 c046a42c-6fe2-441c-8c8c-71466251a162
Add new command line option -singlestep for tcg single stepping.
This replaces a compile time option for some targets and addsthis feature to targets which did not have a compile time option.
Add monitor command to enable or disable single step mode.
Modify monitor command "info status" to display single step mode....
stop dirty tracking just at the end of migration (Glauber Costa)
If there is still work to do, it is not safe to assume wecan end the dirty tracking. Specifically, kvm can update the dirtytracking log inside ram_save_block(), leaving pages still out of sync...
gdbstub: Rework configuration via command line and monitor (Jan Kiszka)
Introduce a more canonical gdbstub configuration (system emulation only)via the new switch '-gdb dev'. Keep '-s' as shorthand for'-gdb tcp::1234'. Use the same syntax also for the corresponding monitor...
Fix some win32 compile warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6984 c046a42c-6fe2-441c-8c8c-71466251a162
Remove nodisk_ok machine feature (Jan Kiszka)
All archs have some kind of firmware to load and can be fine with italready. So there is not much use in enforcing the presence of a disk.If the system setup requires one, the user will notice it anyway once...
Fix warning in vl.c
vl.c calls dma_helper_init, so it needs to include dma.h to get adefinition for it, otherwise we get compiler warnings like:
/home/hch/work/qemu/vl.c: In function 'main':/home/hch/work/qemu/vl.c:5518: warning: implicit declaration of function 'dma_helper_init'...
Syncing documentation vs. -help vs. qemu_options table
Try to keep documentation about command line switches, -help text andqemu_options table synchronized.
In true Qemu tradition, an include file is generated from single .hx filecontaining all relevant information in one place. The include file is...
Implement cancellation method for dma async I/O (Avi Kivity)
Move the dma helpers to a private aio pool, and implement a cancellationmethod for them. Should prevent issues when cancelling I/O while dma isin progress.
Signed-off-by: Avi Kivity <avi@redhat.com>...
Delete some unused macros detected with -Wp,-Wunused-macros use
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6856 c046a42c-6fe2-441c-8c8c-71466251a162
DisplayAllocator interface (Stefano Stabellini)
Hi all,this patch adds a DisplayAllocator interface that allows displayfrontends (sdl in particular) to provide a preallocated display bufferfor the graphical backend to use.
Whenever a graphical backend cannot use...
Clean build: Add bt-host.h
Silence compiler warning by providing proper CONFIG_BLUEZ-independentheader for the bt-host API.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6809 c046a42c-6fe2-441c-8c8c-71466251a162