summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* vga: fix indentionGerd Hoffmann2012-10-201-14/+14
| | | | | Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* tests/tcg: fix buildCatalin Patulea2012-10-194-14/+22
| | | | | | | | | | | | | | This broke when the tests were moved from tests/ to tests/tcg/. On x86_64 host/i386-linux-user non-kvm guest, test-i386 and test-mmap are broken, but at least they build. To build/run the tests: $ cd $BUILD_PATH/tests/tcg $ SRC_PATH=path/to/qemu make <target> Signed-off-by: Catalin Patulea <catalinp@google.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* allow make {dist, }clean work w/out configureMike Frysinger2012-10-191-0/+4
| | | | | | | | There's no reason to require configure to run before running a clean target, so check MAKECMDGOALS before. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* tci: fix build breakage for target-sparcMichael Roth2012-10-191-1/+2
| | | | | | | | | | commit c28ae41 introduced GETPC() usage for sparc, which is currently not defined when building with --enable-tcg-interpreter. Add sparc to the list of targets we selectively define GETPC() for. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> Reviewed-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* MAINTAINERS: Update email address for Stefan HajnocziStefan Hajnoczi2012-10-191-2/+2
| | | | | | | Switch to my new work email address from which I am contributing. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* configure: Fix CONFIG_QEMU_HELPERDIR generationJan Kiszka2012-10-191-1/+1
| | | | | | | | | We need to evaluate $libexecdir in configure, otherwise we literally end up with "${prefix}/libexec" instead of the absolute path as CONFIG_QEMU_HELPERDIR. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* qemu-options.hx: Change from recommending '?' to 'help'Peter Maydell2012-10-191-21/+17
| | | | | | | | | | | | | | | | Update the -help output and documentation so that it recommends 'help' rather than '?' for the various "list valid values for this option" cases. '?' is deprecated (as it can fail confusingly if not quoted), so it's better to steer users towards 'help'. ('?' still works, for backwards compatibility.) This is the -help option part of the change otherwise done in commit c8057f9, since we are now past release 1.2 and free to change our help text without worrying about breaking libvirt. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* Merge branch 'linux-user-for-upstream' of ↵Aurelien Jarno2012-10-1918-146/+190
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.linaro.org/people/rikuvoipio/qemu * 'linux-user-for-upstream' of git://git.linaro.org/people/rikuvoipio/qemu: linux-user: register align p{read, write}64 linux-user: ppc: mark as long long aligned tcg: Remove TCG_TARGET_HAS_GUEST_BASE define configure: Remove unnecessary host_guest_base code linux-user: If loading fails, print error as string, not number linux-user: Fix siginfo handling alpha-linux-user: Fix sigaltstack structure definition linux-user: Implement gethostname linux-user: Perform more checks on iovec lists linux-user: fix multi-threaded /proc/self/maps linux-user: fix statfs
| * linux-user: register align p{read, write}64Alexander Graf2012-10-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | pread64 and pwrite64 pass 64bit parameters which for some architectures need to be aligned to special argument pairs, creating a gap argument. Handle this special case the same way we handle it in other places of the code. Reported-by: Alex Barcelo <abarcelo@ac.upc.edu> Signed-off-by: Alexander Graf <agraf@suse.de> Tested-by: Alex Barcelo <abarcelo@ac.upc.edu> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * linux-user: ppc: mark as long long alignedAlexander Graf2012-10-121-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | The SysV PPC32 ABI dictates that long long (64bit) parameters are pass in odd/even register pairs. Because unlike ARM and MIPS we start at an odd register number, we can reuse the same aligning code that ARM and MIPS use. Clarified inline comment that it is SysV ABI that requires long long aligned parameters - Riku Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * tcg: Remove TCG_TARGET_HAS_GUEST_BASE definePeter Maydell2012-10-1211-26/+0
| | | | | | | | | | | | | | | | | | | | GUEST_BASE support is now supported by all TCG backends, and is now mandatory. Drop the now-pointless TCG_TARGET_HAS_GUEST_BASE define (set by every backend) and the error if it is unset. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * configure: Remove unnecessary host_guest_base codePeter Maydell2012-10-121-29/+2
| | | | | | | | | | | | | | | | | | | | | | All TCG hosts now support guest-base functionality, so we can remove the setting of host_guest_base to 'yes' in every arm of the case "$cpu" statement, and simply set guest_base to default to 'yes'. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * linux-user: If loading fails, print error as string, not numberPeter Maydell2012-10-122-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the attempt to load the guest executable fails, print the error message as a string, not a number. This requires us to fix a couple of places in loader_exec() where we were returning -1 instead of a valid negative errno. The change allows us to drop the "Unknown binary format" message because the strerror-enhanced message is now a more self-explanatory "Error while loading $guest-binary: Exec format error". Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * linux-user: Fix siginfo handlingRichard Henderson2012-10-123-20/+44
| | | | | | | | | | | | | | | | Compare signal numbers in the proper domain. Convert all of the fields for SIGIO and SIGCHLD. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * alpha-linux-user: Fix sigaltstack structure definitionRichard Henderson2012-10-121-3/+4
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * linux-user: Implement gethostnameRichard Henderson2012-10-121-0/+13
| | | | | | | | | | | | Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * linux-user: Perform more checks on iovec listsRichard Henderson2012-10-121-60/+102
| | | | | | | | | | | | | | | | Validate count between 0 and IOV_MAX. Limit total length of operation in the same way the kernel does. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * linux-user: fix multi-threaded /proc/self/mapsAlexander Graf2012-10-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | When reading our faked /proc/self/maps from a secondary thread, we get an invalid stack entry. This is because ts->stack_base is not initialized in non-primary threads. However, ts->info is, and the stack layout information we're looking for is there too. So let's use that one instead! Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
| * linux-user: fix statfsAlexander Graf2012-10-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | The statfs syscall should always memset(0) its full struct extent before writing to it. Newer versions of the syscall use one of the reserved fields for flags, which would otherwise get stale values from uncleaned memory. This fixes libarchive for me, which got confused about the return value of pathconf("/", _PC_REC_XFER_ALIGN) otherwise, as it some times gave old pointers as return value. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
* | Merge branch 'trivial-patches' of git://github.com/stefanha/qemuAurelien Jarno2012-10-196-11/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'trivial-patches' of git://github.com/stefanha/qemu: ui/vnc-jobs.c: Fix minor typos in comments net/tap-win32: Fix compiler warning caused by missing include statement configure: Remove unused parameters from main function target-arm/neon_helper: Remove obsolete FIXME comment targphys.h: Don't define target_phys_addr_t for user-mode emulators ui/vnc: Only report/use TIGHT_PNG encoding if enabled.
| * | ui/vnc-jobs.c: Fix minor typos in commentsPeter Maydell2012-10-191-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | Fix some minor typos/grammar errors in comments. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | net/tap-win32: Fix compiler warning caused by missing include statementStefan Weil2012-10-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The include file for net_init_tap was missing: net/tap-win32.c:703: warning: no previous prototype for ‘net_init_tap’ Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | configure: Remove unused parameters from main functionStefan Weil2012-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | | This modification is required if compiler option -Wunused-parameter is activated. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | target-arm/neon_helper: Remove obsolete FIXME commentPeter Maydell2012-10-191-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Commit 33ebc29 fixed the bugs in the implementation of VQRSHL, but forgot to remove the FIXME comment... Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | targphys.h: Don't define target_phys_addr_t for user-mode emulatorsPeter Maydell2012-10-191-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 4be403c accidentally defined the target_phys_addr_t type when building user-mode emulators. Since the type doesn't really make any sense except for system emulators, avoid defining it when building in user mode. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
| * | ui/vnc: Only report/use TIGHT_PNG encoding if enabled.Joel Martin2012-10-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If TIGHT_PNG is not enabled by the --enable-vnc-png configure flag then do not report to the client that it is supported. Also, since TIGHT_PNG is the same as the TIGHT encoding but with the filter/copy replaced with PNG data, adding it to the supported encodings list when it is disabled will cause the TIGHT encoding to be used even though the client requested TIGHT_PNG. Signed-off-by: Joel Martin <github@martintribe.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
* | | microblaze: Update PC before simulating syscallEdgar E. Iglesias2012-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | Fixes a clone() emulation bug were the new thread starts at the point of the syscall and thus clones in a loop. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* | | microblaze: Support setting of TLS ptrEdgar E. Iglesias2012-10-192-0/+3
|/ / | | | | | | Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
* | target-arm/translate: Fix RRX operandsPeter Crosthwaite2012-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instructions that both use the RRX second operand and update CS were incorrect, as the Carry flag was updated too early. An example of such an instruction would be: ands r12,r13,RRX Ands, because of the "s" flag will update the carry flag. But the RRX second operand rotates through the C flag which should happen before the update. Fixed the ordering of the two, the old carry is read by "r13,RRX" before being updated. Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Reported-by: Vinesh Peringat <vineshp@xilinx.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Optimize mulu2Richard Henderson2012-10-173-0/+47
| | | | | | | | | | | | | | | | | | Like add2, do operand ordering, constant folding, and dead operand elimination. The latter happens about 15% of all mulu2 during an x86_64 bios boot. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Optimize half-dead add2/sub2Richard Henderson2012-10-171-1/+33
| | | | | | | | | | | | | | | | | | When x86_64 guest is not in 64-bit mode, the high-part of the 64-bit add is dead. When the host is 32-bit, we can simplify to 32-bit arithmetic. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Constant fold add2 and sub2Richard Henderson2012-10-172-0/+44
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Do constant folding on double-word comparisonsRichard Henderson2012-10-171-21/+72
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Split out subroutines from do_constant_folding_condRichard Henderson2012-10-171-71/+81
| | | | | | | | | | | | | | We can re-use these for implementing double-word folding. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Optimize double-word comparisons against zeroRichard Henderson2012-10-171-0/+39
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Use common code when failing to optimizeRichard Henderson2012-10-171-59/+32
| | | | | | | | | | | | | | This saves a whole lot of repetitive code sequences. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Swap commutative double-word comparisonsRichard Henderson2012-10-171-0/+26
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Canonicalize add2 operand orderingRichard Henderson2012-10-171-0/+5
| | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg: Split out swap_commutative as a subroutineRichard Henderson2012-10-171-32/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduces code duplication and prefers movcond d, c1, c2, const, s to movcond d, c1, c2, s, const It also prefers add r, r, c over add r, c, r when both inputs are known constants. This doesn't matter for true add, as we will fully constant fold that. But it matters for a follow-on patch using this routine for add2 which may not be fully foldable. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-mips: Pass MIPSCPU to mips_vpe_sleep()Andreas Färber2012-10-171-3/+7
| | | | | | | | | | | | | | Needed for moving halted field to CPUState. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-mips: Pass MIPSCPU to mips_tc_sleep()Andreas Färber2012-10-171-3/+5
| | | | | | | | | | | | | | Needed for changing mips_vpe_sleep() argument type to MIPSCPU. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-mips: Pass MIPSCPU to mips_vpe_is_wfi()Andreas Färber2012-10-171-4/+8
| | | | | | | | | | | | | | | | | | | | Needed for moving halted field to CPUState. The variable name "c" is retained for MIPSCPU to leave "cpu" for CPUState. Also change return type to bool while at it. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-mips: Pass MIPSCPU to mips_tc_wake()Andreas Färber2012-10-171-3/+8
| | | | | | | | | | | | | | Needed for changing mips_vpe_is_wfi() argument type to MIPSCPU. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | target-mips: Clean up other_cpu in helper_{d,e}vpe()Andreas Färber2012-10-171-14/+14
| | | | | | | | | | | | | | | | | | Free the variable name "other_cpu" for later use for MIPSCPU. Fix off-by-one indentation while at it. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg-ia64: Implement depositRichard Henderson2012-10-172-2/+58
| | | | | | | | | | | | | | | | | | | | Note that in the general reg=reg,reg case we're restricted to 16-bit insertions. This makes it easy to allow "any" constant as input, as post-truncation it will fit into the constant load insn for which we have room in the bundle. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg/ia64: slightly optimize TLB access codeAurelien Jarno2012-10-171-5/+17
| | | | | | | | | | | | | | | | It is possible to slightly optimize the TLB access code, by replacing the movi + and instructions by a deposit instruction. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg/ia64: remove suboptimal register shifting in qemu_ld/st opsAurelien Jarno2012-10-171-39/+37
| | | | | | | | | | | | | | | | | | | | | | Remove suboptimal register shifting in qemu_ld/st ops, introduced at the CONFIG_TCG_PASS_AREG0 time. As mem_idx is now loaded in register R58/R59 for the slow path, we have to make sure to do it last, to not add additional register constraints. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg/ia64: implement movcond_i32/64Aurelien Jarno2012-10-172-2/+40
| | | | | | | | | | | | | | | | | | Implement movcond_i32/64 on ia64 hosts. It is not possible to have immediate compare arguments without adding a new bundle, but it is possible to have 22-bit immediate value arguments. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg/ia64: use stack for TCG tempsBlue Swirl2012-10-171-3/+4
| | | | | | | | | | | | | | Use stack instead of temp_buf array in CPUState for TCG temps. Signed-off-by: Blue Swirl <blauwirbel@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* | tcg/arm: Implement movcond_i32Peter Maydell2012-10-172-1/+11
| | | | | | | | | | | | | | | | | | | | Implement movcond_i32 for ARM, as the sequence mov dst, v2 (implicitly done by the tcg common code) cmp c1, c2 movCC dst, v1 Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
OpenPOWER on IntegriCloud