aboutsummaryrefslogtreecommitdiff
path: root/vl.c
AgeCommit message (Collapse)Author
2010-05-27Make cache=unsafe the default for -snapshotAlexander Graf
When using -snapshot we don't care about data integrity of the cow file at all, so let's disable flushing there and squeeze out the last drop of performance we could possibly get. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-05-26Add cache=unsafe parameter to -driveAlexander Graf
Usually the guest can tell the host to flush data to disk. In some cases we don't want to flush though, but try to keep everything in cache. So let's add a new cache value to -drive that allows us to set the cache policy to most aggressive, disabling flushes. We call this mode "unsafe", as guest data is not guaranteed to survive host crashes anymore. This patch also adds a noop function for aio, so we can do nothing in AIO fashion. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-05-24Fix error handling in qemu_read_config_fileKevin Wolf
We need to close the file even in error case. While at it, make the callers catch all kind of errors. ENOENT is allowed for default config files, they are optional. Reported-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-05-19Revert "Monitor: Return before exiting with 'quit'"Luiz Capitulino
This reverts commit 0e8d2b5575938b8876a3c4bb66ee13c5d306fb6d. Next commits will do the same thing in a better way. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-05-18fix chardev_init for win32TeLeMan
chardev_init functions use socket,so socket_init() shoud be placed at the front of chardev_init on win32. Signed-off-by: TeLeMan <geleman@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-05-04Fix cpu list("-cpu ?") breakage, spotted by TeLeManBlue Swirl
Fix breakage by 04c9a0cbc2bf496889cef6da2d61bf00ef190a4f. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-05-03QMP: Introduce RESUME eventLuiz Capitulino
It's emitted when the Virtual Machine resumes execution. We currently have the STOP event but don't have the matching RESUME one, this means that clients are notified when the VM is stopped but don't get anything when it resumes. Let's fix that as it's already causing some trouble to libvirt. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-05-03virtio-9p: Create a syntactic shortcut for the file-system pass-thruGautham R Shenoy
Currently the commandline to create a virtual-filesystem pass-through between the guest and the host is as follows: #qemu -fsdev fstype,id=ID,path=path/to/share \ -device virtio-9p-pci,fsdev=ID,mount_tag=tag \ This patch provides a syntactic short-cut to achieve the same as follows: #qemu -virtfs fstype,path=path/to/share,mount_tag=tag This will be internally expanded as: #qemu -fsdev fstype,id=tag,path=path/to/share, \ -device virtio-9p-pci,fsdev=tag,mount_tag=tag \ Signed-off-by: Gautham R Shenoy <ego@in.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-05-03virtio-9p: Create a commandline option -fsdevGautham R Shenoy
This patch creates a new command line option named -fsdev to hold any file system specific information. The option will currently hold the following attributes: -fsdev fstype id=id,path=path_to_share where fstype: Type of the file system. id: Identifier used to refer to this fsdev path: The path on the host that is identified by this fsdev. [aneesh.kumar@linux.vnet.ibm.com: Abstraction using FsContext] Signed-off-by: Gautham R Shenoy <ego@in.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-05-03Fix boot once optionAlex Williamson
The boot once options seems to have gotten broken since it originally went in. We need to wait until the second time restore_boot_devices() gets called before restoring the standard boot order and removing itself from the reset list. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> -- Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-05-01fix old typos in help headerThomas Monjalon
1) Qemu is not only a PC emulator. 2) "image image" has already been changed to "disk image" in qemu-doc.texi Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-04-26monitor: Reorder intialization to drop initial mux focusJan Kiszka
So far a multiplexed monitor started disabled. Restore this property for the new way of configuring by moving the monitor initialization before all devices (the last one to attach to a char-mux will gain the focus). Once we have a real use case for that, we may also consider assigning the initial focus explicitly. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-04-26monitor: Cleanup ID assignment for compat switchJan Kiszka
Canonicalize the ID assignment when creating monitor devices via the legacy switch and use less easily colliding names. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-04-26Monitor: Return before exiting with 'quit'Luiz Capitulino
The 'quit' Monitor command (implemented by do_quit()) calls exit() directly, this is problematic under QMP because QEMU exits before having a chance to send the ok response. Clients don't know if QEMU exited because of a problem or because the 'quit' command has been executed. This commit fixes that by moving the exit() call to the main loop, so that do_quit() requests the system to quit, instead of calling exit() directly. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-04-23cleanup block driver option handling in vl.cChristoph Hellwig
Assign directly to the bdrv_flags variable instead of using magic numbers before translating to the BDRV_O_* options. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2010-04-23Replace calls of old bdrv_openKevin Wolf
What is known today as bdrv_open2 becomes the new bdrv_open. All remaining callers of the old function are converted to the new one. In some places they even know the right format, so they should have used bdrv_open2 from the beginning. Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2010-04-23qemu-config: qemu_read_config_file() reads the normal config fileKevin Wolf
Introduce a new function qemu_read_config_file which reads the VM configuration from a config file. Unlike qemu_config_parse it doesn't take a open file but a filename and reduces code duplication as a side effect. Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2010-04-19provide a stub version of kvm-all.c if !CONFIG_KVMPaolo Bonzini
This allows limited use of kvm functions (which will return ENOSYS) even in once-compiled modules. The patch also improves a bit the error messages for KVM initialization. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> [blauwirbel@gmail.com: fixed Win32 build] Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-04-18error: Drop extra messages after qemu_opts_set() and qemu_opts_parse()Markus Armbruster
Both functions report errors nicely enough now, no need for additional messages. Signed-off-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2010-04-12Fix build when configured with --enable-io-threadBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-04-10boot: remove unused boot_devices_bitmap variableEduardo Habkost
In addition to removing the variable, this also renames the parse_bootdevices() function to validate_bootdevices(), as we don't need its return value anymore. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Acked-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-04-10net: remove broken net_set_boot_mask() boot device validationEduardo Habkost
There are many problems with net_set_boot_mask(): 1) It is broken when using the device model instead of "-net nic". Example: $ qemu-system-x86_64 -device rtl8139,vlan=0,id=net0,mac=52:54:00:82:41:fd,bus=pci.0,addr=0x4 -net user,vlan=0,name=hostnet0 -vnc 0.0.0.0:0 -boot n Cannot boot from non-existent NIC $ 2) The mask was previously used to set which boot ROMs were supposed to be loaded, but this was changed long time ago. Now all ROM images are loaded, and SeaBIOS takes care of jumping to the right boot entry point depending on the boot settings. 3) Interpretation and validation of the boot parameter letters is done on the machine type code. Examples: PC accepts only a,b,c,d,n as valid boot device letters. mac99 accepts only a,b,c,d,e,f. As a side-effect of this change, qemu-kvm won't abort anymore if using "-boot n" on a machine with no network devices. Checking if the requested boot device is valid is now a task for the BIOS or the machine-type code. Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Acked-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-04-09move balloon handling to balloon.cPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-04-09move two variable declarations out of vl.cPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-04-09move socket_init to qemu-sockets.cPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-04-08read-only: allow read-only CDROM with any interfaceNaphtali Sprei
Signed-off-by: Naphtali Sprei <nsprei@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-03-30Use sysctl instead of /proc to find executable path on FreeBSDJuergen Lock
..since /proc usually isn't mounted on FreeBSD. Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Refactor target specific handling, compile vl.c only onceBlue Swirl
Move target specific functions and RAM handling to arch_init.c. Add a flag to QEMUOptions structure to indicate for which architectures the option is allowed, check the flag in run time and remove conditional code in option handling. Now that no target dependencies remain, compile vl.c only once for all targets. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Refactor CPUState handling out of vl.cBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Refactor a few architecture dependent pieces in vl.cBlue Swirl
These will be moved later. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Move KVM and Xen global flags to vl.cBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-29Adjust debug handlingBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27Fix driftfix optionBlue Swirl
Based on patch by Zachary Amsden. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27Refactor numa mode settingBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-27Compile ide/core only onceBlue Swirl
Make win2k install hack unconditional as it is still restricted to x86 only in vl.c. Replace TARGET_PAGE_SIZE and 4096 with PAGE_SIZE. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-21Revert "Introduce a default qmp session"Anthony Liguori
This reverts commit 3290c4aac5b97bb1e3b2b28d94669f2c611ce84a. Conflicts: vl.c
2010-03-21Revert "qmp: don't make -qmp disable the default monitor"Anthony Liguori
This reverts commit d49f626ed00cecc90fb1ff88da9bdf11e57094d1.
2010-03-21Revert "Convert atexit users to exit_notifier"Anthony Liguori
This reverts commit d7234f4d7e373a708e1df9ab565a71b71b189025. Conflicts: hw/xen_machine_pv.c This should have never been committed. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-21Revert "Add exit notifiers"Anthony Liguori
This reverts commit 3b6304f706ef7eebc0b3b3f3a5093ec75448ee19. This was mistakenly committed. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-20Fix mingw32 buildBlue Swirl
mkdir() only takes path argument on mingw32: CC i386-softmmu/vl.o /src/qemu/vl.c: In function 'qmp_add_default': /src/qemu/vl.c:3763: error: too many arguments to function 'mkdir' /src/qemu/vl.c:3769: error: too many arguments to function 'mkdir' Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2010-03-19Introduce a default qmp sessionAnthony Liguori
Basically, -qmp unix:%{home}/.qemu/qmp/%{uuid}.sock,server,nowait %{uuid} will be -uuid if it's specified, otherwise, if libuuid is available, we generate a uuid. If it's not available, we don't create one. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-19qmp: don't make -qmp disable the default monitorAnthony Liguori
Instead, we introduce a default_qmp flag. We don't use it yet, but will in the next patch. This has a user-visible impact as specifying just -qmp will now also show a monitor on the 'vc'. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-19Convert atexit users to exit_notifierAnthony Liguori
All of these users have global state so we really don't see a benefit from exit_notifier. However, using exit_notifier means that there's one less justification for having global state in the first place. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-19Add exit notifiersAnthony Liguori
Like atexit() but with state Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-19Handle deleted IOHandlers in a single bufferJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-19rename IOCanRWHandler to IOCanReadHandlerJuan Quintela
It was always only used for reads Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-19Convert io handlers to QLISTJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-17split out qemu-timer.cPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-17disentangle tcg and deadline calculationPaolo Bonzini
Just tell main_loop_wait whether to be blocking or nonblocking, so that there is no need to call qemu_cpus_have_work from the timer subsystem. Instead, tcg_cpu_exec can say "we want the main loop not to block because we have stuff to do". Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2010-03-17place together more #ifdef CONFIG_IOTHREAD blocksPaolo Bonzini
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>