History | View | Annotate | Download (122.9 kB)
kvm: Add a new machine option kvm-type
Targets like ppc64 support different types of KVM, one which usehypervisor mode and the other which doesn't. Add a new machineoption kvm-type that helps in selecting the respective onesWe also add a new QEMUMachine callback get_vm_type that helps...
Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-2014-03-04' into staging
trivial patches for 2014-03-04
vl: Remove unneeded include file
This file does not depend on windows.h.
Cc: Anthony Liguori <aliguori@amazon.com>Signed-off-by: Stefan Weil <sw@weilnetz.de>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Andreas Färber <afaerber@suse.de>...
sun4m: Add Sun CG3 framebuffer initialisation function
In order to allow the user to choose the framebuffer for sparc-softmmu, add-vga tcx and -vga cg3 options to the QEMU command line. If no option isspecified, the default TCX framebuffer is used.
Since proprietary FCode ROMs use a resolution of 1152x900, slightly relax the...
Merge remote-tracking branch 'remotes/bonzini/configure' into staging
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-peter' into staging
QOM infrastructure fixes and device conversions
util: Split out exec_dir from os_find_datadir
With this change, main() calls qemu_init_exec_dir and uses argv0 toinit exec_dir. The saved value can be retrieved withqemu_get_exec_dir later. It will be reused by module loading.
Signed-off-by: Fam Zheng <famz@redhat.com>...
Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging
Use error_is_set() only when necessary
error_is_set(&var) is the same as var != NULL, but it takeswhole-program analysis to figure that out. Unnecessarily hard foroptimizers, static checkers, and human readers. Dumb it down toobvious.
Gets rid of several dozen Coverity false positives....
vl: remove old, long-unused defines
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
vl: trim includes
Over time, lots of stuff moved from vl.c into separatefiles. But include statements has never been cleaned,and they continue to carry lots of anymore-unused stuff.
Remove includes which are not relevant for vl.c anymore.Apparently there are more includes like this, because...
block: Handle "rechs" and "large" translation options
Sure, CHS translation is an obscure topic, and legacy options forhard-disk geometries are obscure as well. But since QEMU does nothingwith it except telling the BIOS, and since there "large" and "rechs"...
qtest: Don't segfault with invalid -qtest option
This prints an error message, instead of core dump, when "-qtest" option value is invalid, e.g.:
$ ./x86_64-softmmu/qemu-system-x86_64 -qtest unknown qemu-system-x86_64: Failed to initialize device for qtest:...
qtest: don't report signals if qtest driver enabled
qtest driver always uses signals to kill qemuno need to report it, whatever the accelerator state.
Add API to detect qtest driver, and suppress reportingsignals in this case.
Reported-by: Andreas Färber <afaerber@suse.de>...
Merge remote-tracking branch 'qmp-unstable/queue/qmp' into staging
Merge remote-tracking branch 'stefanha/tags/tracing-pull-request' into staging
Tracing pull request
add optional 2nd stage initialization to -object/object-add commands
Introduces USER_CREATABLE interface that must be implemented byobjects which are designed to created with -object CLI option orobject-add QMP command.
Interface provides an ability to do an optional second stage...
vl.c: -object: don't ignore duplicate 'id'
object_property_add_child() may fail if 'id' matchesan already existing object. Which means an incorrectcommand line.So instead of silently ignoring error, report it andterminate QEMU.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>...
tracing: start trace processing thread in final child process
When running with trace backend e.g. "simple" the writer thread needs to beimplemented in the same process context as the trace points that will beprocessed. Under libvirtd control, qemu gets first started in daemonized...
vl: Add a blank space between the variable and '='
Signed-off-by: Kewei Yu <keweihk@gmail.com>Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Merge remote branch 'luiz/queue/qmp' into qmpq
qemu-option: Remove qemu_opts_create_nofail
This is a boiler-plate _nofail variant of qemu_opts_create. Remove anduse error_abort in call sites.
null/0 arguments needs to be added for the id and fail_if_exists fieldsin affected callsites due to argument inconsistency between the normal and...
qom: fix leak for objects created with -object
The object must be unref-ed when its variable goes out of scope.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Igor Mammedov <imammedo@redhat.com>Tested-by: Igor Mammedov <imammedo@redhat.com>...
vl: add missing transition debug->finish_migrate
This fixes an abort if you invoke the "migrate" command while theguest is being debugged.
Cc: qemu-stable@nongnu.orgCc: lcapitulino@redhat.comSigned-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
vl: make boot_strict variable static (not used outside vl.c)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>Reviewed-by: Amos Kong <akong@redhat.com>
fix -boot strict regressed in commit 6ef4716
Commit 6ef4716 cleaned up parsing of -boot option argument, butaccidentally dropped parameter strict. It should have been updatedexactly like parameter menu. Do that.
Signed-off-by: Amos Kong <akong@redhat.com>...
qemu_opts_parse(): always check return value
qemu_opts_parse() can always return NULL, even if the QemuOptsList.desc inquestion would be trivial to satisfy (eg. because it's empty). Forexample:
qemu_opts_parse() opts_parse() qemu_opts_create() id_wellformed()...
hw: Pass QEMUMachine to its init() method
Put it in QEMUMachineInitArgs, so I don't have to touch every board.
Reviewed-by: Andreas Färber <afaerber@suse.de>Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>Reviewed-by: Michael S. Tsirkin <mst@redhat.com>...
qtest: split configuration of qtest accelerator and chardev
qtest uses the icount infrastructure to implement a test-driven vm_clock. Thishowever is not necessary when using qtest as a "probe" together with a normalTCG, KVM- or Xen-based virtual machine. Hence, split out the call to...
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
Merge remote-tracking branch 'kraxel/tags/pull-seabios-31b8b4e-1' into staging
Update seabios to master snapshot (pre-1.7.4).Update vgabios, switch from lgplvgabios to seavgabios.Update build process to build both 128k and 256k bios versions.Use 256k bios for pc-*-2.0+ machine types....
add firmware to machine options
This patch adds firmware to the machine options. -bios <file> becomes ashortcut for -machine firmware=<file>. Advantage is that the firmwarecan be specified via config file as -machine is parsed using QemuOptsand it is also possible to use different defaults for different...
util: Use qemu_getauxval in linux qemu_cache_utils_init
With this we no longer pass down envp, and thus all systems can havethe same void prototype. So also eliminate a useless thunk.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Richard Henderson <rth@twiddle.net>
osdep: Create qemu_getauxval and qemu_init_auxval
Abstract away dependence on a system implementation of getauxval.
Signed-off-by: Richard Henderson <rth@twiddle.net>
qemu: mempath: prefault pages manually (v4)
v4: s/fail/failed/ (Peter Maydell)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Merge remote-tracking branch 'mjt/trivial-patches' into staging
qmp: access the local QemuOptsLists for drive option
Currently we have three QemuOptsList (qemu_common_drive_opts,qemu_legacy_drive_opts, and qemu_drive_opts), only qemu_drive_optsis added to vm_config_groups[].
This patch changes query-command-line-options to access three local...
vl: fix build when configured with no graphic support
The following error occurs when building with no graphic output support:
vl.c: In function ‘main’: vl.c:2829:19: error: variable ‘ds’ set but not used [-Werror=unused-but-set-variable] DisplayState *ds;...
vl: allow "cont" from panicked state
After reporting the GUEST_PANICKED monitor event, QEMU stops the VM.The reason for this is that events are edge-triggered, and can be lost ifmanagement dies at the wrong time. Stopping a panicked VM lets management...
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pci, pc, acpi fixes, enhancements
This includes some pretty big changes:- pci master abort support by Marcel- pci IRQ API rework by Marcel- acpi generation support by myself
Everything has gone through several revisions, latest versions have been on...
spice: fix multihead support
This patch fixes spice display initialization to handlemultihead properly.
spice-core now keeps track of which QemuConsole has a spicedisplay channel attached to it and which has not. It alsomanages display channel ids....
loader: allow adding ROMs in done callbacks
Don't abort if machine done callbacks add ROMs.
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>Tested-by: Gerd Hoffmann <kraxel@redhat.com>Reviewed-by: Igor Mammedov <imammedo@redhat.com>Tested-by: Igor Mammedov <imammedo@redhat.com>...
vl: Clean up unnecessary boot_order complications
Messed up in commit 8281abd.
Signed-off-by: Markus Armbruster <armbru@redhat.com>Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
pc,pci,virtio fixes and cleanups
This includes pc and pci cleanups and enhancements,and a virtio-net bugfix related to softmac programming.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>...
smbios: Make multiple -smbios type= accumulate sanely
Currently, -smbios type=T,NAME=VAL,... adds one field (T,NAME) withvalue VAL to fw_cfg for each unique NAME. If NAME occurs multipletimes, the last one's VAL is used (before the QemuOpts conversion, the...
smbios: Convert to QemuOpts
So that it can be set in config file for -readconfig.
This tightens parsing of -smbios, and makes it more consistent withother options: unknown parameters are rejected, numbers with trailingjunk are rejected, when a parameter is given multiple times, last...
qemu: Adjust qemu wakeup
Currently Xen hvm s3 has a bug coming from the difference betweenqemu-traditioanl and qemu-xen. For qemu-traditional, the way toresume from hvm s3 is via 'xl trigger' command. However, forqemu-xen, the way to resume from hvm s3 inherited from standard...
Remove dev-bluetooth.c dependency from vl.c
Use usb_legacy_register handling to create bt-dongle device and remove codedependency from vl.c so CONFIG_USB_BLUETOOTH can be disabled.
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Preparation for usb-bt-dongle conditional build
To allow disable usb-bt-dongle device using CONFIG_BLUETOOTH option, some offunctions in vl.c file has to be made accessible in dev-bluetooth.c. This ispure code moving.
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>...
This includes pc and pci cleanups and enhancements,and a virtio bugfix for level interrupts.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw: Clean up bogus default boot order
We set default boot order "cad" in every single machine definitionexcept "pseries" and "moxiesim", even though very few boards actuallycare for boot order, and "cad" makes sense for even fewer.
Machines that care:...
Merge remote-tracking branch 'stefanha/block' into staging
aio / timers: Convert rtc_clock to be a QEMUClockType
Convert rtc_clock to be a QEMUClockType
Move rtc_clock users to use the new API
Signed-off-by: Alex Bligh <alex@alex.org.uk>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
aio / timers: Remove alarm timers
Remove alarm timers from qemu-timers.c now we use g_poll / ppollinstead.
Convert stderr message calling error_get_pretty() to error_report()
Convert stderr messages calling error_get_pretty()to error_report().
Timestamp is prepended by -msg timstamp option with it.
Per Markus's comment below, A conversion from fprintf() to...
spice: fix display initialization
Spice has two display interface implementations: One integrated intothe qxl graphics card, and one generic which can operate with everyqemu-emulated graphics card.
The generic one is activated in case spice is used without qxl. The...
add timestamp to error_report()
[Issue]When we offer a customer support service and a problem happensin a customer's system, we try to understand the problem bycomparing what the customer reports with message logs of thecustomer's system.
In this case, we often need to know when the problem happens....
Fix -machine options accel, kernel_irqchip, kvm_shadow_mem
Multiple -machine options with the same ID are merged. All but theone without an ID are to be silently ignored.
In most places, we query these options with a null ID. This iscorrect.
In some places, we instead query whatever options come first in the...
Simplify -machine option queries with qemu_get_machine_opts()
The previous two commits fixed bugs in -machine option queries. Ican't find fault with the remaining queries, but let's useqemu_get_machine_opts() everywhere, for consistency, simplicity and...
vl: Tighten parsing of -machine option phandle_start
Make it QEMU_OPT_NUMBER, so it gets parsed by generic code, whichactually bothers to check for errors, rather than its user, whichdoesn't.
Cc: Alexander Graf <agraf@suse.de>Signed-off-by: Markus Armbruster <armbru@redhat.com>...
vl: New qemu_get_machine_opts()
To be used in the next few commits to fix or clean up queries of"machine" options (-machine and its sugared forms).
Signed-off-by: Markus Armbruster <armbru@redhat.com>Message-id: 1372943363-24081-4-git-send-email-armbru@redhat.com...
vl: convert -smp to qemu_opts_parse()
This also introduces a new suboption, "cpus=",which is the default. So after this patch,
-smp n,sockets=y
is the same as
-smp cpus=n,sockets=y
(with "cpu" being some generic thing, referring toeither cores, or threads, or sockets, as before)....
vl: reformat SDL ifdeffery a bit
This reformats #ifdef..#endif and case statement a bit,to make it a bit shorter and matching other cases like that(no code changes).
vl: Fix -boot order and once regressions, and related bugs
Option "once" sets up a different boot order just for the initialboot. Boot order reverts back to normal on reset. Option "order" changes the normal boot order.
The reversal is implemented by reset handler restore_boot_devices(),...
vl: Rename *boot_devices to *boot_order, for consistency
Signed-off-by: Markus Armbruster <armbru@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1371208516-7857-5-git-send-email-armbru@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
vl: Clean up parsing of -boot option argument
Commit 3d3b8303 threw in some QemuOpts parsing without replacing theexisting ad hoc parser, resulting in a confusing mess. Clean it up.
Two user-visible changes:
1. Invalid options are reported more nicely. Before:...
vl: always define no_frame
Commit 047d4e151dd46 "Unbreak -no-quit for GTK, validate SDL options" brokebuild of qemu without sdl, by referencing `no_frame' variable which is definedinside #if SDL block. Fix that by defining that variable unconditionally....
gtk: implement -full-screen
Aiming for GTK as replacement for SDL, a feature like -full-screen should alsobe implemented.
Bringing the window into full-screen mode is done by activating the "Fullscreen" menu item. This is done after showing the windows to make the cursor and menu...
Unbreak -no-quit for GTK, validate SDL options
Certain options (-no-frame, -alt-grab, -ctrl-grab) only make sense with SDL.When compiling without SDL, these options (and -no-quit) print an error messageand exit qemu.
In case QEMU is compiled with SDL support, the three aforementioned options...
gdbstub: let the debugger resume from guest panicked state
While in general we forbid a "continue" from the guest panickedstate, it makes sense to have an exception for that when continuingin the debugger. Perhaps the guest entered that state due to a bug,...
main_loop: do not set nonblocking if xen_enabled()
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>CC: qemu-stable@nongnu.org
monitor: allow to disable the default monitor
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
vl: new runstate transition: RUN_STATE_GUEST_PANICKED -> RUN_STATE_FINISH_MIGRATE
This fixes a problem that after guest panic happens, virsh dump without--memory-only fails:
ERROR: invalid runstate transition: 'guest-panicked' -> 'finish-migrate'
Reported-by: Christian Borntraeger <borntraeger@de.ibm.com>...
clean unnecessary code: don't check g_strdup arg for NULL
Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com>Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Drop redundant resume_all_vcpus() from main()
VCPUs are either resumed directly via vm_start(), after the incomingmigration is done, or when a continue command is issued. We don't needthe explicit resume before entering main_loop().
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
cpu: Call cpu_synchronize_post_init() from DeviceClass::realize()
If hotplugged, synchronize CPU state to KVM.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
add a new runstate: RUN_STATE_GUEST_PANICKED
The guest will be in this state when it is panicked.
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>Reviewed-by: Markus Armbruster <armbru@redhat.com>Message-id: 0255f263ffdc2a3716f73e89098b96fd79a235b3.1366945969.git.hutao@cn.fujitsu.com...
audio: enable PCI audio cards for all PCI-enabled targets
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Message-id: 1366303444-24620-9-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
audio: remove HAS_AUDIO
Several targets can have wavcapture/-soundhw support via PCI cards.HAS_AUDIO is a useless limitation, remove it.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Message-id: 1366303444-24620-4-git-send-email-pbonzini@redhat.com...
Common: Add quick access to first boot device
Instead of manually parsing the boot_list as character stream,we can access the nth boot device, specified by the position in theboot order.
Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>...
Move TPM passthrough specific command line options to backend structure
Move the TPM passthrough specific command line options to the passthroughbackend implementation and attach them to the backend's interface structure.
Add code to tpm.c for validating the TPM command line options....
Add option to mlock qemu and guest memory
In certain scenario, latency induced by paging is significant andmemory locking is needed. Also, in the scenario with untrustedguests, latency improvement due to mlock is desired.
This patch introduces a following new option to mlock guest and...
console: move gui_update+gui_setup_refresh from vl.c into console.c
Pure code motion, no functional changes.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
console: displaystate init revamp
We have only one DisplayState, so there is no need for the "next" linking, rip it. Also consolidate all displaystate initializationinto init_displaystate(). This function is called by vl.c aftercreating the devices (and thus all QemuConsoles) and before...
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
Allow qtest to be used together with a virtual CPU
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>Message-id: 1366054097-14132-1-git-send-email-edgar.iglesias@gmail.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
tpm: reorganize headers and split hardware part
The TPM subsystem does not have a full front-end/back-end separation.The sole available backend, tpm_passthrough, depends on the datastructures of the sole available frontend, tpm_tis.
However, we can at least try to split the user interface (tpm.c) from the...
sysemu: avoid proliferation of include/ subdirectories
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Revert "New QMP command query-cpu-max and HMP command cpu_max"
This reverts commit 4d700430a20b3d53b7b15bc5f6666f7e570e3f2c as asked byLuiz. The patch has been obsoleted by extending MachineInfo structureby cpu-max field.
Signed-off-by: Michal Novotny <minovotn@redhat.com>...
New cpu-max field in query-machines QMP command output
Alter the query-machines QMP command to output information aboutmaximum number of CPUs for each machine type with default valueset to 1 in case the number of max_cpus is not set.
hw: move headers to include/
Many of these should be cleaned up with proper qdev-/QOM-ification.Right now there are many catch-all headers in include/hw/ARCH dependingon cpu.h, and this makes it necessary to compile these files per-target.However, fixing this does not belong in these patches....
strip some whitespace
Signed-off-by: Laszlo Ersek <lersek@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1363821803-3380-2-git-send-email-lersek@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
acpi_table_add(): accept QemuOpts and parse it with OptsVisitor
As one consequence, strtok() -- which modifies its argument -- is replacedwith g_strsplit().
Signed-off-by: Laszlo Ersek <lersek@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>...
qemu-char: Call fe_claim / fe_release when not using qdev chr properties
chardev-frontends need to explictly check, increase and decrement theavail_connections "property" of the chardev when they are not using aqdev-chardev-property for the chardev.
This fixes things like:...
append the terminating '\0' to bootorder string
Problem was introduced in commit c8a6ae8b. The last terminating'\0' was lost, use the right length 5 ("HALT\0").
Reported-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Amos Kong <akong@redhat.com>Message-id: 1363774594-21001-1-git-send-email-akong@redhat.com...
vl: add runstate_set tracepoint
This patch enables us to know RunState transition. It will be userfulfor investigation when the trouble occured in special event such likelive migration, shutdown, suspend, and so on.
Signed-off-by: Kazuya Saito <saito.kazuya@jp.fujitsu.com>...
vl.c: call bdrv_init_with_whitelist() before cmdline parsing
commit 4d454574 "qemu-option: move standard option definitionsout of qemu-config.c" broke support for commandline optiongroups that where registered during bdrv_init(). In particularsupport for -iscsi options was broken since that commit....
New QMP command query-cpu-max and HMP command cpu_max
These commands return the maximum number of CPUs supported by thecurrently running emulator instance, as defined in its QEMUMachinestruct.
Signed-off-by: Michal Novotny <minovotn@redhat.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>