summaryrefslogtreecommitdiffstats
path: root/disas
Commit message (Collapse)AuthorAgeFilesLines
* tcg-arm: Implement division instructionsRichard Henderson2013-04-271-0/+4
| | | | | | | An armv7 extension implements division, present on Cortex A15. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-i386: add AES-NI instructionsAurelien Jarno2013-04-131-2/+2
| | | | | | Reviewed-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* disas/i386.c: disassemble aes-ni instructionsAurelien Jarno2013-04-131-6/+61
| | | | | Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* disas/i386.c: disassemble pclmulqdq instructionAurelien Jarno2013-04-131-2/+11
| | | | | Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* Add moxie disassemblerAnthony Green2013-03-232-0/+361
| | | | | Signed-off-by: Anthony Green <green@moxielogic.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* lm32-dis: fix NULL pointer dereferenceMichael Walle2013-03-181-4/+4
| | | | Signed-off-by: Michael Walle <michael@walle.cc>
* Replace all setjmp()/longjmp() with sigsetjmp()/siglongjmp()Peter Maydell2013-02-232-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The setjmp() function doesn't specify whether signal masks are saved and restored; on Linux they are not, but on BSD (including MacOSX) they are. We want to have consistent behaviour across platforms, so we should always use "don't save/restore signal mask" (this is also generally going to be faster). This also works around a bug in MacOSX where the signal-restoration on longjmp() affects the signal mask for a completely different thread, not just the mask for the thread which did the longjmp. The most visible effect of this was that ctrl-C was ignored on MacOSX because the CPU thread did a longjmp which resulted in its signal mask being applied to every thread, so that all threads had SIGINT and SIGTERM blocked. The POSIX-sanctioned portable way to do a jump without affecting signal masks is to siglongjmp() to a sigjmp_buf which was created by calling sigsetjmp() with a zero savemask parameter, so change all uses of setjmp()/longjmp() accordingly. [Technically POSIX allows sigsetjmp(buf, 0) to save the signal mask; however the following siglongjmp() must not restore the signal mask, so the pair can be effectively considered as "sigjmp/longjmp which don't touch the mask".] For Windows we provide a trivial sigsetjmp/siglongjmp in terms of setjmp/longjmp -- this is OK because no user will ever pass a non-zero savemask. The setjmp() uses in tests/tcg/test-i386.c and tests/tcg/linux-test.c are left untouched because these are self-contained singlethreaded test programs intended to be run under QEMU's Linux emulation, so they have neither the portability nor the multithreading issues to deal with. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net> Tested-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* disas/i386.c: Add explicit braces round empty for-loop bodyPeter Maydell2013-02-231-1/+2
| | | | | | | | | | | | | | Add explicit braces round an empty for-loop body; this fits QEMU style and is easier to read than an inconspicuous semicolon at the end of the line. It also silences a clang warning: disas/i386.c:4723:49: warning: for loop has empty body [-Wempty-body] for (i = 0; tmp[i] == '0' && tmp[i + 1]; i++); ^ disas/i386.c:4723:49: note: put the semicolon on a separate line to silence this warning [-Wempty-body] Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* build: remove universal-obj-yPaolo Bonzini2013-01-261-15/+15
| | | | | | | | | | All of universal-obj-y, user-obj-y (right now unused) and common-obj-y can be unified into common-obj-y if we take care of defining CONFIG_SOFTMMU and CONFIG_USER_ONLY in the toplevel makefile. This is similar to how we define symbols for hardware components. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* target-s390: Fix disassembly of cpsdrRichard Henderson2013-01-051-1/+3
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Disassemble more z10 and z196 opcodesRichard Henderson2013-01-051-18/+151
| | | | | | | Also fix disassembly for COMPARE AND BRANCH. The table must be sorted by primary opcode, and several were out of place. Signed-off-by: Richard Henderson <rth@twiddle.net>
* tci: Fix broken builds with TCG interpreterStefan Weil2013-01-021-1/+3
| | | | | | | | | | TCI no longer compiled after commit 76cad71136b7eb371cf2a2a4e1621cfe8d9c769a. The TCI disassembler depends on data structures which are different for each QEMU target, so it cannot be compiled as a universal-obj today. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* build: kill libdis, move disassemblers to disas/Paolo Bonzini2012-12-1916-0/+52938
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>