- Feb 26, 2016
-
-
Yongbok Kim authored
MIPS Release 6 provides multi-threading features which replace pre-R6 MT Module. CP0.Config3.MT is always 0 in R6, instead there is new CP0.Config5.VP (Virtual Processor) bit which indicates presence of multi-threading support which includes CP0.GlobalNumber register and DVP/EVP instructions. Signed-off-by:
Yongbok Kim <yongbok.kim@imgtec.com> Signed-off-by:
Leon Alrae <leon.alrae@imgtec.com>
-
- Feb 23, 2016
-
-
Peter Maydell authored
Rearrange include directives so that we include osdep.h first. This has to be done manually because clean-includes doesn't handle C++. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Eric Blake <eblake@redhat.com>
-
- Feb 04, 2016
-
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1454089805-5470-7-git-send-email-peter.maydell@linaro.org
-
- Feb 03, 2016
-
-
Peter Maydell authored
The std::abs() function did not get a version that works on 'long long' until C++11. Avoid it, so that we can compile on 32-bit platforms (where int64_t is 'long long') with older compilers (which don't support C++11). Reported-by:
Franz-Josef Haider <Franz-Josef.Haider@student.uibk.ac.at> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1453739429-31477-1-git-send-email-peter.maydell@linaro.org
-
- Jan 29, 2016
-
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1453832250-766-33-git-send-email-peter.maydell@linaro.org
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1453832250-766-32-git-send-email-peter.maydell@linaro.org
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1453832250-766-28-git-send-email-peter.maydell@linaro.org
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1453832250-766-13-git-send-email-peter.maydell@linaro.org
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1453832250-766-12-git-send-email-peter.maydell@linaro.org
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1453832250-766-6-git-send-email-peter.maydell@linaro.org
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1453832250-766-5-git-send-email-peter.maydell@linaro.org
-
- Jan 28, 2016
-
-
Peter Maydell authored
Don't define TRUE and FALSE locally or manually include stdio.h; instead use osdep.h which provides them. This is a necessary prerequisite for moving to "everywhere includes osdep.h", because otherwise there is a compile error due to the redefinition of TRUE and FALSE. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Eric Blake <eblake@redhat.com> Acked-by:
Edgar E. Iglesias <edgar.iglesias@xilinx.com> Message-id: 1453831531-667-2-git-send-email-peter.maydell@linaro.org
-
- Jan 23, 2016
-
-
Peter Maydell authored
Clean up includes so that osdep.h is included first and headers which it implies are not included manually. This commit was created with scripts/clean-includes. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Leon Alrae <leon.alrae@imgtec.com> Signed-off-by:
Leon Alrae <leon.alrae@imgtec.com>
-
- Jan 14, 2016
-
-
Peter Maydell authored
Commit 8acc216b attempted to silence some sign-compare warnings in libvixl by adding -Wno-sign-compare to the CFLAGS for the relevant objects. Unfortunately it was ineffective because it was placed before $(QEMU_CFLAGS), so the -Wall in the general flags overrode -Wno-sign-compare rather than vice-versa. Reorder the flags so the warning suppression works. Thanks to Franz-Josef Haider <Franz-Josef.Haider@student.uibk.ac.at> for pointing out what was wrong with the original patch. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Tested-by:
Alex Bennée <alex.bennee@linaro.org> Message-id: 1452783202-576-1-git-send-email-peter.maydell@linaro.org
-
- Jan 12, 2016
-
-
Peter Maydell authored
The VIXL code includes some equality comparisons between signed and unsigned types. Modern gcc and clang do not complain about these, but older versions of gcc such as gcc 4.6.3 do. Since libvixl is an upstream library, the simplest approach is to suppress the warnings by applying -Wno-sign-compare to the relevant files. (GCC 4.6 is not quite yet irrelevant for us; it is the gcc shipped with Ubuntu Precise, for example, which is an LTS release not yet out of its support period.) Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1452604204-27202-1-git-send-email-peter.maydell@linaro.org Reviewed-by:
Alex Bennée <alex.bennee@linaro.org>
-
- Jan 11, 2016
-
-
Peter Maydell authored
Update our copy of libvixl to upstream's 1.12 release. The major benefit from QEMU's point of view is that some instructions previously disassembled as "unimplemented (System)" are now displayed as something more useful. It also fixes some warnings about format strings that newer w64-mingw32 compilers were emitting. We didn't have any local changes to libvixl so nothing needed to be forward-ported. Although this is a large commit (due to upstream renaming most of the files), only a few of the files changed in this commit are not just straight copies of upstream libvixl files: disas/arm-a64.cc disas/libvixl/Makefile.objs disas/libvixl/README Note that this commit introduces some signed-unsigned comparison warnings on the old mingw compilers. Those compilers have broken TLS support anyway so have only ever been much use for compile tests; anybody still using them should add -Wno-sign-compare to their --extra-cflags. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
- Nov 17, 2015
-
-
Stefan Hajnoczi authored
clang 3.7.0 on x86_64 warns about the following: disas/arm.c:1782:17: warning: shifting a negative signed value is undefined [-Wshift-negative-value] imm |= (-1 << 7); ~~ ^ Note that this patch preserves the tab indent in this source file because the surrounding code still uses tabs. Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
- Oct 19, 2015
-
-
James Hogan authored
MIPS r6 encodes jr as jalr zero, and jr.hb as jalr.hb zero, so add these encodings to the MIPS disassembly table. Reviewed-by:
Aurelien Jarno <aurelien@aurel32.net> Reviewed-by:
Leon Alrae <leon.alrae@imgtec.com> Signed-off-by:
James Hogan <james.hogan@imgtec.com> Signed-off-by:
Richard Henderson <rth@twiddle.net> Message-Id: <1443788657-14537-3-git-send-email-james.hogan@imgtec.com>
-
- Oct 02, 2015
-
-
Stefan Weil authored
Signed-off-by:
Stefan Weil <sw@weilnetz.de> Reviewed-by:
Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by:
Edgar E. Iglesias <edgar.iglesias@xilinx.com>
-
- Sep 11, 2015
-
-
Veres Lajos authored
Signed-off-by:
Veres Lajos <vlajos@gmail.com> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
Stefan Weil authored
Signed-off-by:
Stefan Weil <sw@weilnetz.de> Reviewed-by:
Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
Daniel P. Berrangé authored
The free() and g_free() functions both happily accept NULL on any platform QEMU builds on. As such putting a conditional 'if (foo)' check before calls to 'free(foo)' merely serves to bloat the lines of code. Signed-off-by:
Daniel P. Berrange <berrange@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
Daniel P. Berrangé authored
A number of files were including strings.h but not using any of the functions it provides Signed-off-by:
Daniel P. Berrange <berrange@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
Daniel P. Berrangé authored
A number of files were including assert.h but not using any of the functions it provides Signed-off-by:
Daniel P. Berrange <berrange@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
- Jul 21, 2015
-
-
Stefan Weil authored
Type fprintf_function which fits here was defined with this attribute. Signed-off-by:
Stefan Weil <sw@weilnetz.de> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1437208027-14584-1-git-send-email-sw@weilnetz.de Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
- Jul 15, 2015
-
-
Yongbok Kim authored
In the Release 6 of the MIPS Architecture, LL, SC, LLD, SCD, PREF and CACHE instructions have 9 bits offsets. Signed-off-by:
Yongbok Kim <yongbok.kim@imgtec.com> Reviewed-by:
Aurelien Jarno <aurelien@aurel32.net> Reviewed-by:
Leon Alrae <leon.alrae@imgtec.com> Signed-off-by:
Leon Alrae <leon.alrae@imgtec.com>
-
- Jul 09, 2015
-
-
Peter Maydell authored
Compilation of TCI was accidentally broken by the recent disassembler changes: CC x86_64-softmmu/arch_init.o In file included from target-i386/cpu-qom.h:23:0, from target-i386/cpu.h:986, from include/qemu-common.h:122, from include/disas/bfd.h:12, from disas/tci.c:20: include/qom/cpu.h:178:43: error: unknown type name ‘disassemble_info’ void (*disas_set_info)(CPUState *cpu, disassemble_info *info); ^ include/qom/cpu.h:179:1: error: no semicolon at end of struct or union [-Werror] } CPUClass; ^ cc1: all warnings being treated as errors The underlying cause of this is an include loop: bfd.h -> qemu-common.h -> target-arm/cpu.h -> target-arm/cpu-qom.h -> qom/cpu.h -> bfd.h which means that if bfd.h is included first then qom/cpu.h doesn't get the definition of the disassemble_info type that it wanted. The easiest fix for this is to include qemu-common.h from tci.c before including disas/bfd.h. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Peter Crosthwaite authored
Cris has the complication of variable length instructions and has a check in place to clamp memory reads in case the disas request doesn't have enough bytes for the instruction being disas'd. This breaks down in the case where disassembling for the monitor where the buffer length is defaulted to 0. The buffer length should never be zero for a regular target_disas, so we can safely assume the 0 case is for the monitor in which case consider the buffer length to be the max for cris instructions. Reviewed-by:
Edgar E. Iglesias <edgar.iglesias@xilinx.com> Signed-off-by:
Peter Crosthwaite <crosthwaite.peter@gmail.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
Peter Crosthwaite authored
In a normal disassembly flow, the printf() and stream being used varies from disas job to job. In particular it varies if mixing monitor_disas and target_disas. Make both the printf() function and target stream settable in the QEMUDisassmbler class. Reviewed-by:
Claudio Fontana <claudio.fontana@huawei.com> Tested-by:
Claudio Fontana <claudio.fontana@huawei.com> Reviewed-by:
Richard Henderson <rth@twiddle.net> Signed-off-by:
Peter Crosthwaite <crosthwaite.peter@gmail.com> Signed-off-by:
Andreas Färber <afaerber@suse.de>
-
- Jun 12, 2015
-
-
Leon Alrae authored
Implement MTHC0 and MFHC0 instructions. In MIPS32 they are used to access upper word of extended to 64-bits CP0 registers. In MIPS64, when CP0 destination register specified is the EntryLo0 or EntryLo1, bits 1:0 of the GPR appear at bits 31:30 of EntryLo0 or EntryLo1. This is to compensate for RI and XI, which were shifted to bits 63:62 by MTC0 to EntryLo0 or EntryLo1. Therefore creating separate functions for EntryLo0 and EntryLo1. Signed-off-by:
Leon Alrae <leon.alrae@imgtec.com> Reviewed-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- Jun 11, 2015
-
-
Leon Alrae authored
ERETNC is identical to ERET except that an ERETNC will not clear the LLbit that is set by execution of an LL instruction, and thus when placed between an LL and SC sequence, will never cause the SC to fail. Presence of ERETNC is denoted by the Config5.LLB. Signed-off-by:
Leon Alrae <leon.alrae@imgtec.com> Reviewed-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- Mar 19, 2015
-
-
Michael Tokarev authored
Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru> Reviewed-by:
Stefan Weil <sw@weilnetz.de>
-
- Mar 10, 2015
-
-
Stefan Weil authored
Warnings from the Sparse static analysis tool: disas/microblaze.c:289:3: warning: symbol 'opcodes' was not declared. Should it be static? disas/microblaze.c:570:6: warning: symbol 'register_prefix' was not declared. Should it be static? disas/microblaze.c:571:6: warning: symbol 'special_register_prefix' was not declared. Should it be static? disas/microblaze.c:572:6: warning: symbol 'fsl_register_prefix' was not declared. Should it be static? disas/microblaze.c:573:6: warning: symbol 'pvr_register_prefix' was not declared. Should it be static? Remove the unused variable special_register_prefix. The variable pvr_register_prefix was unused, too, but can be used. Add also 'const' where possible. Signed-off-by:
Stefan Weil <sw@weilnetz.de> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
Stefan Weil authored
Warnings from the Sparse static analysis tool: disas/arm.c:1552:15: warning: symbol 'last_type' was not declared. Should it be static? disas/arm.c:1553:5: warning: symbol 'last_mapping_sym' was not declared. Should it be static? disas/arm.c:1554:9: warning: symbol 'last_mapping_addr' was not declared. Should it be static? Instead of adding 'static', the unused variables and the unused code which refers to those variables (which was deactivated a long time ago in commit 4b0f1a8b) are removed. Signed-off-by:
Stefan Weil <sw@weilnetz.de> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
- Feb 10, 2015
-
-
Stefan Weil authored
Warning from the Sparse static analysis tool: disas/sh4.c:335:22: warning: symbol 'sh_table' was not declared. Should it be static? Signed-off-by:
Stefan Weil <sw@weilnetz.de> Signed-off-by:
Michael Tokarev <mjt@tls.msk.ru>
-
- Feb 05, 2015
-
-
Peter Maydell authored
disassembling relative branches in code which doesn't reside at what the guest CPU would think its execution address is. Use the new MapCodeAddress() API to tell libvixl where the code is from the guest CPU's point of view so it can get the target addresses right. Previous disassembly: 0x0000000040000000: 580000c0 ldr x0, pc+24 (addr 0x7f6cb7020434) 0x0000000040000004: aa1f03e1 mov x1, xzr 0x0000000040000008: aa1f03e2 mov x2, xzr 0x000000004000000c: aa1f03e3 mov x3, xzr 0x0000000040000010: 58000084 ldr x4, pc+16 (addr 0x7f6cb702042c) 0x0000000040000014: d61f0080 br x4 Fixed disassembly: 0x0000000040000000: 580000c0 ldr x0, pc+24 (addr 0x40000018) 0x0000000040000004: aa1f03e1 mov x1, xzr 0x0000000040000008: aa1f03e2 mov x2, xzr 0x000000004000000c: aa1f03e3 mov x3, xzr 0x0000000040000010: 58000084 ldr x4, pc+16 (addr 0x40000020) 0x0000000040000014: d61f0080 br x4 Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1422274779-13359-3-git-send-email-peter.maydell@linaro.org
-
Peter Maydell authored
Update our copy of libvixl to upstream's 1.7 release. This includes upstream's fix for the issue we had a local patch for in commit 94cc44a9. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Message-id: 1422274779-13359-2-git-send-email-peter.maydell@linaro.org
-
- Feb 03, 2015
-
-
Peter Maydell authored
The variables s390_opformats and s390_num_opformats are unused and provoke clang warnings: disas/s390.c:849:33: warning: variable 's390_opformats' is not needed and will not be emitted [-Wunneeded-internal-declaration] static const struct s390_opcode s390_opformats[] = ^ disas/s390.c:875:18: warning: unused variable 's390_num_opformats' [-Wunused-const-variable] static const int s390_num_opformats = ^ Delete them, since QEMU doesn't use them. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Stefan Weil <sw@weilnetz.de> Message-id: 1419373100-17690-3-git-send-email-peter.maydell@linaro.org Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
- Jan 21, 2015
-
-
Peter Maydell authored
Remove sparc_opcode_archs and the macros which use it, because we don't use them in QEMU and they provoke clang warnings: disas/sparc.c:307:39: warning: unused variable 'sparc_opcode_archs' [-Wunused-const-variable] static const struct sparc_opcode_arch sparc_opcode_archs[] = ^ Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
-
- Dec 16, 2014
-
-
Leon Alrae authored
This array is used by print_mips16_insn_arg() which is guarded by #if 0. Therefore doing the same with the array as it generates clang warnings. Signed-off-by:
Leon Alrae <leon.alrae@imgtec.com>
-