summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote branch 'amit/for-anthony' into stagingAnthony Liguori2011-03-248-27/+52
|\
| * char: Prevent multiple devices opening same chardevAmit Shah2011-03-213-1/+11
| | | | | | | | | | | | | | | | | | | | | | Prevent: -chardev socket,path=/tmp/foo,server,nowait,id=c0 \ -device virtserialport,chardev=c0,id=vs0 \ -device virtserialport,chardev=c0,id=vs1 Reported-by: Mike Cao <bcao@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com>
| * virtio-console: Keep chardev open for other users after hot-unplugAmit Shah2011-03-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | After a hot-unplug operation, the previous behaviour was to close the chardev. That meant the chardev couldn't be re-used. Also, since chardev hot-plug isn't possible so far, this means virtio-console hot-plug isn't feasible as well. With this change, the chardev is kept around. A new virtio-console channel can then be hot-plugged with the same chardev and things will continue to work. Signed-off-by: Amit Shah <amit.shah@redhat.com>
| * virtio-serial: Don't clear ->have_data() pointer after unplugAmit Shah2011-03-211-1/+0
| | | | | | | | | | | | | | | | | | After a port unplug operation, the port->info->have_data() pointer was set to NULL. The problem is, the ->info struct is shared by all ports, effectively disabling writes to other ports. Reported-by: juzhang <juzhang@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com>
| * virtio-serial-bus: Simplify handle_output() functionAmit Shah2011-03-211-9/+3
| | | | | | | | | | | | | | | | There's no code change, just re-arrangement to simplify the function after recent modifications. Reported-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com>
| * virtio-serial: Enable ioeventfdAmit Shah2011-03-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | Enable ioeventfd for virtio-serial devices by default. Commit 25db9ebe15125deb32958c6df74996f745edf1f9 lists the benefits of using ioeventfd. Copying a file from guest to host over a virtio-serial channel didn't show much difference in time or io_exit rate. Signed-off-by: Amit Shah <amit.shah@redhat.com>
| * virtio-serial: Disallow generic ports at id 0Amit Shah2011-03-211-0/+9
| | | | | | | | | | | | | | | | | | | | | | Port 0 is reserved for virtconsole devices for backward compatibility with the old -virtioconsole (from qemu 0.12) device type. libvirt prior to commit 8e28c5d40200b4c5d483bd585d237b9d870372e5 used port 0 for generic ports. libvirt will no longer do that, but disallow instantiating generic ports at id 0 from qemu as well. Signed-off-by: Amit Shah <amit.shah@redhat.com>
| * virtio-serial: Use a struct to pass config information from proxyAmit Shah2011-03-214-15/+21
| | | | | | | | | | | | | | | | Instead of using a single variable to pass to the virtio_serial_init function, use a struct so that expanding the number of variables to be passed on later is easier. Signed-off-by: Amit Shah <amit.shah@redhat.com>
* | tcg/arm: Support host code being compiled for ThumbPeter Maydell2011-03-241-9/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | Although the TCG generated code is always in ARM mode, it is possible that the host code was compiled by gcc in Thumb mode (this is often the default for Linux distributions targeting ARM v7 only). Handle this by using BLX imm when doing a call from ARM into Thumb mode. Since BLX imm is not a conditionalisable instruction, we make tcg_out_call() no longer take a condition code; we were only ever using it with COND_AL anyway. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
* | Revert "x86: Save/restore PAT MSR"Anthony Liguori2011-03-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit c995b495b9d6e60ab1e390bd398a22425d0b3c8c. From Jan Kiszka: Ouch, indeed. Moreover, CPU_SAVE_VERSION was not updated (likely the reason for the breakage). Thanks for debugging this! Anthony (or whoever), please revert this unneeded commit in qemu.git. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | vnc: fix build error from VNC_DIRTY_WORDSAnthony Liguori2011-03-221-1/+1
| | | | | | | | Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | fix vnc regressionWen Congyang2011-03-221-2/+6
| | | | | | | | | | | | | | | | This patch fix the following regression: 1. we should use bitmap_set() and bitmap_clear() to replace vnc_set_bits(). Signed-off-by: Wen Congyang <wency@cn.fujitsu.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | qmp-commands.hx: Clean up mess of client_migrate_infoJes Sorensen2011-03-221-34/+34
| | | | | | | | | | | | | | | | | | | | client_migrate_info was put into qmp-commands.hx in the middle of migrate_set_speed, between the command and it's description. In addition client_migrate_info put the description before the command itself, which is the wrong order. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Make VNC support optionalJes Sorensen2011-03-227-43/+104
| | | | | | | | | | | | | | Per default VNC is enabled. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | error message if user specifies curses on cmd line when curses is disabledJes Sorensen2011-03-222-4/+5
| | | | | | | | | | Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | error message if user specifies SDL cmd line option when SDL is disabledJes Sorensen2011-03-222-10/+8
| | | | | | | | | | Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Add support for -display vncJes Sorensen2011-03-222-1/+18
| | | | | | | | | | Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Introduce -display noneJes Sorensen2011-03-223-1/+10
| | | | | | | | | | | | | | | | | | New option -display none. This option differs from -nographic by not trying to take control of stdio etc. but instead behaves as if a graphics display is enabled, except that it doesn't show one. Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Introduce -display argumentJes Sorensen2011-03-222-0/+97
| | | | | | | | | | | | | | | | | | This patch introduces a -display argument which consolidates the setting of the display mode. Valid options are: sdl/curses/default Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Consolidate DisplaySurface allocation in qemu_alloc_display()Jes Sorensen2011-03-223-34/+34
| | | | | | | | | | | | | | This removes various code duplication from console.e and sdl.c Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | target-arm: use make_float32() to make constant floats for VRSQRTSPeter Maydell2011-03-221-6/+5
| | | | | | | | | | | | | | | | | | The preferred way to create a constant floating point value is to use make_float32() rather than doing a runtime int32_to_float32(). Convert the code in the VRSQRTS helper to work this way. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-arm: Fix VRECPS edge cases handlingPeter Maydell2011-03-221-3/+8
| | | | | | | | | | | | | | | | | | Correct the handling of edge cases for the VRECPS instruction: * this is a Neon instruction so uses the "standard FPSCR value" * (zero, inf) is a special case which returns 2.0 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-arm: Fix TCG temporary leaks for scalar VMULLPeter Maydell2011-03-221-0/+2
| | | | | | | | | | | | | | Fix a TCG temporary leak when translating 32-bit scalar VMULL. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-arm: Set Q bit for overflow in SMUAD and SMLADPeter Maydell2011-03-221-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | SMUAD and SMLAD are supposed to set the Q bit if the addition of the two 16x16 multiply products and optional accumulator overflows considered as a signed value. However we were only doing this check for the addition of the accumulator, not when adding the products, with the effect that we were mishandling the edge case where both inputs are 0x80008000. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-arm: Fix GE bits for v6media signed modulo arithmeticPeter Maydell2011-03-221-2/+2
| | | | | | | | | | | | | | | | | | | | Fix the signed modulo arithmetic helpers for the v6media instructions (SADD8, SSUB8, SADD16, SSUB16, SASX, SSAX) to set the GE bits correctly (based on the result of the add or subtract before it is truncated to 16 bits, not after). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-arm: Fix UNDEF cases in Thumb load/storePeter Maydell2011-03-221-11/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Decode of Thumb load/store was merging together the cases of 'bit 11==0' (reg+reg LSL imm) and 'bit 11==1' (reg+imm). This happens to work for valid instruction patterns but meant that we would not UNDEF for the cases the architecture mandates that we must. Make the decode actually look at bit 11 as well as [10..8] so that we UNDEF in the right places. This change also removes what was a spurious unreachable 'case 8', and correctly frees TCG temporaries on the illegal-insn codepaths. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | linux-user: Fix unlock_user() call in return from poll()Peter Maydell2011-03-221-3/+1
| | | | | | | | | | | | | | | | | | | | | | Correct the broken attempt to calculate the third argument to unlock_user() in the code path which unlocked the pollfd array on return from poll() and ppoll() emulation. (This only caused a problem if unlock_user() wasn't a no-op, eg if DEBUG_REMAP is defined.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | vmmouse: Register vmstate via qdevJan Kiszka2011-03-221-1/+1
| | | | | | | | | | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | vmmouse: Fix initializationJan Kiszka2011-03-221-0/+1
| | | | | | | | | | | | | | | | Latest refactorings left vmmouse nonfunctional behind. Fix it by adding the required device initialization. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | vmmouse: Fix typo preventing x86-64 buildJan Kiszka2011-03-221-1/+1
| | | | | | | | | | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | fix applesmc REV keyRené Rebe2011-03-221-1/+1
| | | | | | | | | | | | | | | | Fix applesmc REV key string literal hex encoding. Signed-off-by: René Rebe <rene@exactcode.de> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | enable kvm for ppc(32) on ppc64René Rebe2011-03-221-0/+2
| | | | | | | | | | | | | | | | ppc64 is backward compatible, likewise. Signed-off-by: René Rebe <rene@exactcode.de> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-ppc: add support for 6 SPE instructionsFabien Chouteau2011-03-221-4/+198
| | | | | | | | | | | | | | | | Add support for 6 SPE instructions: evmra, evmwsmi{a{a}}, evmwumi{a{a}} Signed-off-by: Fabien Chouteau <chouteau@adacore.com> Reviewed-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | pc-bios: update linuxboot.bin and multiboot.binAurelien Jarno2011-03-222-0/+0
| | | | | | | | Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | fix linuxboot.bin and multiboot.bin to not hijack int19Gleb Natapov2011-03-223-15/+29
| | | | | | | | | | | | | | | | | | | | | | Currently linuxboot.bin and multiboot.bin option roms override int19 vector to intercept boot process. No sane option rom should do that. Provide bev entry instead that will be called by BIOS if option rom is selected for booting. Signed-off-by: Gleb Natapov <gleb@redhat.com> Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | Merge remote branch 'qemu-kvm/uq/master' into stagingAnthony Liguori2011-03-2124-566/+618
|\ \
| * | Expose thread_id in info cpusJan Kiszka2011-03-168-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on patch by Glauber Costa: To allow management applications like libvirt to apply CPU affinities to the VCPU threads, expose their ID via info cpus. This patch provides the pre-existing and used interface from qemu-kvm. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: x86: Push kvm_arch_debug to kvm_arch_handle_exitJan Kiszka2011-03-163-22/+16
| | | | | | | | | | | | | | | | | | | | | | | | There are no generic bits remaining in the handling of KVM_EXIT_DEBUG. So push its logic completely into arch hands, i.e. only x86 so far. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: x86: Reorder functions in kvm.cJan Kiszka2011-03-161-54/+54
| | | | | | | | | | | | | | | | | | | | | | | | Required for next patch which will access guest debug services from kvm_arch_handle_exit. No functional changes. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: Align kvm_arch_handle_exit to kvm_cpu_exec changesJan Kiszka2011-03-164-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the return code of kvm_arch_handle_exit directly usable for kvm_cpu_exec. This is straightforward for x86 and ppc, just s390 would require more work. Avoid this for now by pushing the return code translation logic into s390's kvm_arch_handle_exit. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> CC: Alexander Graf <agraf@suse.de> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: Rework inner loop of kvm_cpu_execJan Kiszka2011-03-161-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let kvm_cpu_exec return EXCP_* values consistently and generate those codes already inside its inner loop. This means we will now re-enter the kernel while ret == 0. Update kvm_handle_internal_error accordingly, but keep kvm_arch_handle_exit untouched, it will be converted in a separate step. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: Reorder error handling of KVM_RUNJan Kiszka2011-03-161-6/+5
| | | | | | | | | | | | | | | | | | | | | Test for general errors first as this is the slower path. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: Keep KVM_RUN return value in separate variableJan Kiszka2011-03-161-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Avoid using 'ret' both for the return value of KVM_RUN as well as the code kvm_cpu_exec is supposed to return. Both have no direct relation. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: Consider EXIT_DEBUG unknown without CAP_SET_GUEST_DEBUGJan Kiszka2011-03-161-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Without KVM_CAP_SET_GUEST_DEBUG, we neither motivate the kernel to report KVM_EXIT_DEBUG nor do we expect such exits. So fall through to the arch code which will simply report an unknown exit reason. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: x86: Synchronize PAT MSR with the kernelJan Kiszka2011-03-161-0/+5
| | | | | | | | | | | | | | | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | x86: Save/restore PAT MSRJan Kiszka2011-03-161-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | x86: Properly reset PAT MSRJan Kiszka2011-03-163-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | Conforming to the Intel spec, set the power-on value of PAT also on reset, but save it across INIT. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: Mark VCPU state dirty on creationJan Kiszka2011-03-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids that early cpu_synchronize_state calls try to retrieve an uninitialized state from the kernel. That even causes a deadlock if io-thread is enabled. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: x86: Do not leave halt if interrupts are disabledJan Kiszka2011-03-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | When an external interrupt is pending but IF is cleared, we must not leave the halt state prematurely. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * | kvm: Add in-kernel irqchip awareness to cpu_thread_is_idleJan Kiszka2011-03-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | With in-kernel irqchip support enabled, the vcpu threads sleep in kernel space while halted. Account for this difference in cpu_thread_is_idle. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
OpenPOWER on IntegriCloud