summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * target-ppc: use float32_is_any_nan()Aurelien Jarno2011-01-061-3/+2
| | | | | | | | | | | | | | | | Use the new function float32_is_any_nan() instead of float32_is_quiet_nan() || float32_is_signaling_nan(). Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * target-ppc: fix default qNaNAurelien Jarno2011-01-061-2/+2
| | | | | | | | | | | | | | On PPC the default qNaN doesn't have the sign bit set. Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * target-ppc: remove PRECISE_EMULATION defineAurelien Jarno2011-01-062-50/+11
| | | | | | | | | | | | | | | | | | | | The PRECISE_EMULATION is "hardcoded" to one in target-ppc/exec.h and not something easily tunable. Remove it and non-precise emulation code as it doesn't make a noticeable difference in speed. People wanting speed improvement should use softfloat-native instead. Acked-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * microblaze: Use more TB chainingEdgar E. Iglesias2011-01-051-5/+23
| | | | | | | | | | | | | | For some workloads with tight loops this ~doubles the emulation speed. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
| * cirrus_vga: fix division by 0 for color expansion ropAurelien Jarno2011-01-041-32/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d85d0d3883f5a567fa2969a0396e42e0a662b3fa introduces a regression with Windows ME that leads to a division by 0 and a crash. It uses the color expansion rop with the source pitch set to 0. This is something allowed, as the manual explicitely says "When the source of color-expand data is display memory, the source pitch is ignored.". This patch fixes this regression by computing sx, sy and others variables only if they are going to be used later, that is for a plain copy ROP. It basically consists in moving code. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * Fix curses on big endian hostsAurelien Jarno2011-01-042-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On big endian hosts, the curses interface is unusable: the emulated graphic card only displays garbage, while the monitor interface displays nothing (or rather only spaces). The curses interface is waiting for data in native endianness, so console_write_ch() should not do any conversion. The conversion should be done when reading the video buffer in hw/vga.c. I supposed this buffer is in little endian mode, though it's not impossible that the data is actually in guest endianness. I currently have no big endian guest to way (they all switch to graphic mode immediately). Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * noaudio: correctly account acquired samplesMichael Walle2011-01-041-0/+3
| | | | | | | | | | | | | | | | | | This will fix the return value of the function which otherwise returns too many samples because sw->total_hw_samples_acquired isn't correctly accounted. Signed-off-by: Michael Walle <michael@walle.cc> Signed-off-by: malc <av1474@comtv.ru>
| * target-arm: Implement correct NaN propagation rulesPeter Maydell2011-01-021-0/+23
| | | | | | | | | | | | | | | | Implement the correct NaN propagation rules for ARM targets by providing an appropriate pickNaN function. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * softfloat: abstract out target-specific NaN propagation rulesPeter Maydell2011-01-021-60/+100
| | | | | | | | | | | | | | | | | | | | | | IEEE754 doesn't specify precisely what NaN should be returned as the result of an operation on two input NaNs. This is therefore target-specific. Abstract out the code in propagateFloat*NaN() which was implementing the x87 propagation rules, so that it can be easily replaced on a per-target basis. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * softfloat: Rename float*_is_nan() functions to float*_is_quiet_nan()Peter Maydell2011-01-0210-67/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The softfloat functions float*_is_nan() were badly misnamed, because they return true only for quiet NaNs, not for all NaNs. Rename them to float*_is_quiet_nan() to more accurately reflect what they do. This change was produced by: perl -p -i -e 's/_is_nan/_is_quiet_nan/g' $(git grep -l is_nan) (with the results manually checked.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Nathan Froyd <froydnj@codesourcery.com> Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * TCG: Improve tb_phys_hash_func()Aurelien Jarno2010-12-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Most of emulated CPU have instructions aligned on 16 or 32 bits, while on others GCC tries to align the target jump location. This means that 1/2 or 3/4 of tb_phys_hash entries are never used. Update the hash function tb_phys_hash_func() to ignore the two lowest bits of the address. This brings a 6% speed-up when booting a MIPS image. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * target-arm: fix UMAAL instructionAurelien Jarno2010-12-311-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UMAAL should use unsigned multiply instead of signed. This patch fixes this issue by handling UMAAL separately from UMULL/UMLAL/SMULL/SMLAL as these instructions are different enough. It also explicitly list instructions in case and catch nonexistent instruction as illegal. Also fixes a few style issues. This fixes the issues reported in https://bugs.launchpad.net/qemu/+bug/696015 Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * Fix translation of unary PPC/SPE instructions (efdneg etc.).Mike Pall2010-12-311-18/+21
| | | | | | | | | | Signed-off-by: Mike Pall <mike-lp10@luajit.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * target-sparc: fix udiv(cc) and sdiv(cc)Aurelien Jarno2010-12-283-18/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 5a4bb580cdb10b066f9fd67658b31cac4a4ea5e5, Xorg crashes on a Debian Etch image. The commit itself is fine, but it triggers a bug due to wrong computation of flags for udiv(cc) and sdiv(cc). This patch only compute cc_src2 for the cc version of udiv/sdiv. It also moves the update of cc_dst and cc_op to the helper, as it is faster doing it here when there is already an helper. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * Merge branch 'spice.v23.pull' of git://anongit.freedesktop.org/spice/qemuAurelien Jarno2010-12-2724-22/+2887
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'spice.v23.pull' of git://anongit.freedesktop.org/spice/qemu: vnc/spice: add set_passwd monitor command. vnc: support password expire vnc: auth reject cleanup spice: add qmp 'query-spice' and hmp 'info spice' commands. spice: connection events. spice: add qxl device spice: add qxl vgabios binary.
| | * vnc/spice: add set_passwd monitor command.Gerd Hoffmann2010-12-095-0/+251
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds new set_password and expire_password monitor commands which allows to change and expire the password for spice and vnc connections. See the doc update patch chunk for details. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| | * vnc: support password expireGerd Hoffmann2010-12-094-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for expiring passwords to vnc. It adds a new vnc_display_pw_expire() function which specifies the time when the password will expire. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| | * vnc: auth reject cleanupGerd Hoffmann2010-12-091-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | protocol_client_auth_vnc() has two places where the auth can fail, with identical code sending the reject message to the client. Move the common code to the end of the function and make both error paths jump there. No functional change. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| | * spice: add qmp 'query-spice' and hmp 'info spice' commands.Gerd Hoffmann2010-12-094-0/+229
| | | | | | | | | | | | | | | | | | | | | | | | The patch adds a 'query-spice' monitor command which returns informations about the spice server configuration and also a list of channel connections. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| | * spice: connection events.Gerd Hoffmann2010-12-094-0/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for connection events to spice. The events are quite simliar to the vnc events. Unlike vnc spice uses multiple tcp channels though. qemu will report every single tcp connection (aka spice channel). If you want track spice sessions only you can filter for the main channel (channel-type == 1). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| | * spice: add qxl deviceGerd Hoffmann2010-12-0912-4/+2222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qxl is a paravirtual graphics card. The qxl device is the bridge between the guest and the spice server (aka libspice-server). The spice server will send the rendering commands to the spice client, which will actually render them. The spice server is also able to render locally, which is done in case the guest wants read something from video memory. Local rendering is also used to support display over vnc and sdl. qxl is activated using "-vga qxl". qxl supports multihead, additional cards can be added via '-device qxl". [ v2: add copyright to files ] [ v2: use qemu-common.h for standard includes ] [ v2: create separate qxl-vga device for primary ] Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| | * spice: add qxl vgabios binary.Gerd Hoffmann2010-12-092-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Just compiled from vgabios git repo @ git.qemu.org, copyed over and committed. Also added to the list of blobs in the Makefile. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
| * | x86: Filter out garbage from segment flags dumpJan Kiszka2010-12-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Only bits 8..23 of the segment flags contain valid data, so only dump those when printing the CPU state. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | Fix migrate set speed doc argLuiz Capitulino2010-12-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to ignore any fractional part in 0.13, but due to recent changes (started with 9f9b17a4f0865286391e4d3a0a735230122a2289) migrate_set_speed will reject the fractional part. We don't expect existing clients to be relying on this, but we need to update the documentation to reflect the change. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: correct cp15 c1_sys reset value for arm1136 and cortex-a9Juha Riihimäki2010-12-271-0/+2
| | | | | | | | | | | | | | | Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: correct cp15 c1_sys reset value for cortex-a8Mattias Holm2010-12-271-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: fix vmsav6 access controlJuha Riihimäki2010-12-271-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | Override access control checks (including execute) for mmu translation table descriptors assigned to manager domains. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: Correct result in saturating cases for VQSHL of s8/16/32Peter Maydell2010-12-271-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | Where VQSHL of a signed 8/16/32 bit value saturated, the result value was not being calculated correctly (it should be either the minimum or maximum value for the size of the signed type). Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: remove pointless else clause in VQSHL of u64Juha Riihimäki2010-12-271-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove a pointless else clause in the neon_qshl_u64 helper. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: Fix VQSHL of signed 64 bit values by shift counts >= 64Peter Maydell2010-12-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | VQSHL of a signed 64 bit non-zero value by a shift count >= 64 should saturate; return the correct value in this case. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: Fix VQSHL of signed 64 bit valuesJuha Riihimäki2010-12-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a missing '-' which meant that we were misinterpreting the shift argument for VQSHL of 64 bit signed values and treating almost every shift value as if it were an extremely large right shift. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: Fix arguments passed to VQSHL helpersJuha Riihimäki2010-12-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Correct the arguments passed when generating neon qshl_{u,s}64() helpers so that we use the correct registers. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-arm: fix bug in translation of REVSHAurelien Jarno2010-12-271-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | The translation of REVSH shifted the low byte 8 steps left before performing an 8-bit sign extend, causing this part of the expression to alwas be 0. Reported-by: Johan Bengtsson <teofrastius@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | Fix a missing trailing newlineAurelien Jarno2010-12-271-1/+1
| | | | | | | | | | | | Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-mips: fix host CPU consumption when guest is idleAurelien Jarno2010-12-273-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the CPU is in wait state, do not wake-up if an interrupt can't be taken. This avoid host CPU running at 100% if a device (e.g. timer) has an interrupt line left enabled. Also factorize code to check if interrupts are enabled in cpu_mips_hw_interrupts_pending(). Based on a patch from Edgar E. Iglesias <edgar.iglesias@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
| * | s390: compile fixesAlexander Graf2010-12-264-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | The s390 target doesn't compile out of the box anymore. This patch fixes all the obvious glitches that got introduced in the last few weeks. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | target-mips: fix translation of MT instructionsNathan Froyd2010-12-223-28/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The translation of dmt/emt/dvpe/evpe was doing the moral equivalent of: int x; ... /* no initialization of x */ x = f (x); which confused later bits of TCG rather badly, leading to crashes. Fix the helpers to only return results (those instructions have no inputs), and fix the translation code accordingly. Signed-off-by: Nathan Froyd <froydnj@codesourcery.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | Use mmap() within code_gen_alloc() for OpenBSD.Brad2010-12-211-1/+2
| | | | | | | | | | | | | | | Signed-off-by: Brad Smith <brad@comstyle.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * | Add OpenBSD to ifdef list since it has CLOCK_MONOTONIC.Brad2010-12-211-1/+2
| | | | | | | | | | | | | | | Signed-off-by: Brad Smith <brad@comstyle.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * | Add support for OpenBSD to QEMU's tap driver.Brad2010-12-211-2/+6
| | | | | | | | | | | | | | | Signed-off-by: Brad Smith <brad@comstyle.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * | tcg-arm: fix __clear_cache() warningAurelien Jarno2010-12-211-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use __builtin___clear_cache() instead of __clear_cache() to avoid having to define the function as extern. Fix the following warning: | In file included from qemu/cpus.c:34: | qemu/exec-all.h: In function 'tb_set_jmp_target1': | qemu/exec-all.h:208: error: nested extern declaration of '__clear_cache' | make[1]: *** [cpus.o] Error 1 | make: *** [subdir-i386-softmmu] Error 2 Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | qdev: sysbus_get_default must not return a NULL pointer (fix regression)Stefan Weil2010-12-211-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Every system should have some sort of main system bus, so sysbus_get_default should always return a valid bus. Without this patch, at least mipssim and malta no longer start but raise a null pointer access exception (caused by commit ec990eb622ad46df5ddcb1e94c418c271894d416). Cc: Anthony Liguori <anthony@codemonkey.ws> Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
| * | sparc32: ledma extra registers need tracing tooBob Breuer2010-12-201-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | Also trace the extra registers, and update the comments with new info from Artyom Tarasenko. Signed-off-by: Bob Breuer <breuerr@mc.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * | target-i386: Fix accidental use of SoftFloat uint64 typeAndreas Färber2010-12-201-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | softfloat.h's uint64 type has least-width semantics. Use uint64_t instead since that is used in helpers. v4: * Summary change. v3: * Split off. Signed-off-by: Andreas Färber <andreas.faerber@web.de> Acked-by: Huang Ying <ying.huang@intel.com> Acked-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * | wdt_ib700: Fix accidental use of SoftFloat int64 typeAndreas Färber2010-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | softfloat.h's int64 type has least-width semantics. Since we're assigning an int64_t, use plain int64_t. v4: * Summary change. v3: * Split off. Signed-off-by: Andreas Färber <andreas.faerber@web.de> Acked-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * | apic: Fix accidental use of SoftFloat uint32 typeAndreas Färber2010-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | softfloat.h's uint32 type has least-width semantics. Surrounding code uses uint32_t, so use uint32_t here, too. v4: * Summary change. v3: * Split off. Signed-off-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * | Avoid a warning from OpenBSD linkerBlue Swirl2010-12-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Avoid the warning below by using snprintf: ../libhw64/vl.o(.text+0x78d4): In function `get_boot_devices_list': /src/qemu/vl.c:763: warning: sprintf() is often misused, please use snprintf() Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
| * | Sparc: implement monitor command 'info tlb'Blue Swirl2010-12-195-57/+66
| | | | | | | | | | | | | | | | | | Use existing dump_mmu() to implement monitor command 'info tlb'. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | vga: tag as not hotplugable.Gerd Hoffmann2011-01-103-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch tags all vga cards as not hotpluggable. The qemu standard vga will never ever be hotpluggable. For cirrus + vmware it might be possible to get that work some day. Todays we can't handle that for a number of reasons though. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* | | piix: tag as not hotpluggable.Gerd Hoffmann2011-01-104-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch tags all pci devices which belong to the piix3/4 chipsets as not hotpluggable (Host bridge, ISA bridge, IDE controller, ACPI bridge). Acked-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
OpenPOWER on IntegriCloud