- Jan 07, 2021
-
-
Richard Henderson authored
Reviewed-by:
Joelle van Dyne <j@getutm.app> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
- Dec 18, 2020
-
-
Thomas Huth authored
For compiling with -Wimplicit-fallthrough we need to fix the fallthrough annotations in the libvixl code. This is based on the following upstream vixl commit by Martyn Capewell: https://git.linaro.org/arm/vixl.git/commit/?id=de326f850f736c3a337 "GCC 7 enables switch/case fallthrough checking, but this fails in VIXL, because the annotation we use is Clang specific. Also, fix a missing annotation in the disassembler." Signed-off-by:
Thomas Huth <thuth@redhat.com> Reviewed-by:
Peter Maydell <peter.maydell@linaro.org> Message-Id: <20201211152426.350966-2-thuth@redhat.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
- Nov 15, 2020
-
-
Chetan Pant authored
There is no "version 2" of the "Lesser" General Public License. It is either "GPL version 2.0" or "Lesser GPL version 2.1". This patch replaces all occurrences of "Lesser GPL version 2" with "Lesser GPL version 2.1" in comment section. This patch contains all the files, whose maintainer I could not get from ‘get_maintainer.pl’ script. Signed-off-by:
Chetan Pant <chetan4windows@gmail.com> Message-Id: <20201023124424.20177-1-chetan4windows@gmail.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> [thuth: Adapted exec.c and qdev-monitor.c to new location] Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
- Nov 02, 2020
-
-
Peter Maydell authored
If we're using the capstone disassembler, disassembly of a run of instructions more than 32 bytes long disassembles the wrong data for instructions beyond the 32 byte mark: (qemu) xp /16x 0x100 0000000000000100: 0x00000005 0x54410001 0x00000001 0x00001000 0000000000000110: 0x00000000 0x00000004 0x54410002 0x3c000000 0000000000000120: 0x00000000 0x00000004 0x54410009 0x74736574 0000000000000130: 0x00000000 0x00000000 0x00000000 0x00000000 (qemu) xp /16i 0x100 0x00000100: 00000005 andeq r0, r0, r5 0x00000104: 54410001 strbpl r0, [r1], #-1 0x00000108: 00000001 andeq r0, r0, r1 0x0000010c: 00001000 andeq r1, r0, r0 0x00000110: 00000000 andeq r0, r0, r0 0x00000114: 00000004 andeq r0, r0, r4 0x00000118: 54410002 strbpl r0, [r1], #-2 0x0000011c: 3c000000 .byte 0x00, 0x00, 0x00, 0x3c 0x00000120: 54410001 strbpl r0, [r1], #-1 0x00000124: 00000001 andeq r0, r0, r1 0x00000128: 00001000 andeq r1, r0, r0 0x0000012c: 00000000 andeq r0, r0, r0 0x00000130: 00000004 andeq r0, r0, r4 0x00000134: 54410002 strbpl r0, [r1], #-2 0x00000138: 3c000000 .byte 0x00, 0x00, 0x00, 0x3c 0x0000013c: 00000000 andeq r0, r0, r0 Here the disassembly of 0x120..0x13f is using the data that is in 0x104..0x123. This is caused by passing the wrong value to the read_memory_func(). The intention is that at this point in the loop the 'cap_buf' buffer already contains 'csize' bytes of data for the instruction at guest addr 'pc', and we want to read in an extra 'tsize' bytes. Those extra bytes are therefore at 'pc + csize', not 'pc'. On the first time through the loop 'csize' happens to be zero, so the initial read of 32 bytes into cap_buf is correct and as long as the disassembly never needs to read more data we return the correct information. Use the correct guest address in the call to read_memory_func(). Cc: qemu-stable@nongnu.org Fixes: https://bugs.launchpad.net/qemu/+bug/1900779 Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Message-id: 20201022132445.25039-1-peter.maydell@linaro.org
-
- Oct 03, 2020
-
-
Richard Henderson authored
It is always possible to tell the length of an insn, even if the actual insn is unknown. Skip the correct number of bytes, so that we stay in sync with the instruction stream. Acked-by:
Thomas Huth <thuth@redhat.com> Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
Richard Henderson authored
There is nothing target-specific about this code, so it can be added to common_ss. This also requires that the base capstone dependency be added to common_ss, so that we get the correct include paths added to CFLAGS. Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
- Sep 17, 2020
-
-
zhaolichang authored
I found that there are many spelling errors in the comments of qemu, so I used the spellcheck tool to check the spelling errors and finally found some spelling errors in the disas folder. Signed-off-by:
zhaolichang <zhaolichang@huawei.com> Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Message-Id: <20200917075029.313-9-zhaolichang@huawei.com> Signed-off-by:
Laurent Vivier <laurent@vivier.eu>
-
- Sep 08, 2020
-
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Aug 21, 2020
-
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Jul 13, 2020
-
-
Thomas Huth authored
Add fallthrough annotations to be able to compile the code without warnings with -Wimplicit-fallthrough. Looking at the code, it seems like the fallthrough is indeed intended here, so the comments should be appropriate. Message-Id: <20200630055953.9309-1-thuth@redhat.com> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
- Jan 29, 2020
-
-
Yongbok Kim authored
Implement emulation of GINVT instruction. As QEMU doesn't support caches and virtualization, this implementation covers only one instruction (GINVT - Global Invalidate TLB) among all TLB-related MIPS instructions. Reviewed-by:
Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com> Signed-off-by:
Yongbok Kim <yongbok.kim@mips.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com> Message-Id: <1579883929-1517-5-git-send-email-aleksandar.markovic@rt-rk.com>
-
- Dec 17, 2019
-
-
Paolo Bonzini authored
We are already including -D__STDC_LIMIT_MACROS in the global CXXFLAGS, so it makes sense to do the same for -D__STDC_CONSTANT_MACROS and -D__STDC_FORMAT_MACROS instead of limiting that to libvixl. The -Wno-sign-compare option can also be removed since GCC 4.6 is not supported anymore. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Oct 04, 2019
-
-
Paolo Bonzini authored
Use a stack-allocated struct to avoid a memory leak. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Aug 21, 2019
-
-
Paul A. Clarke authored
ISA 3.0B added a set of Floating-Point Status and Control Register (FPSCR) instructions: mffsce, mffscdrn, mffscdrni, mffscrn, mffscrni, mffsl. This patch adds support for 'mffsl'. 'mffsl' is identical to 'mffs', except it only returns mode, status, and enable bits from the FPSCR. On CPUs without support for 'mffsl' (below ISA 3.0), the 'mffsl' instruction will execute identically to 'mffs'. Note: I renamed FPSCR_RN to FPSCR_RN0 so I could create an FPSCR_RN mask which is both bits of the FPSCR rounding mode, as defined in the ISA. I also fixed a typo in the definition of FPSCR_FR. Signed-off-by:
Paul A. Clarke <pc@us.ibm.com> v4: - nit: added some braces to resolve a checkpatch complaint. v3: - Changed tcg_gen_and_i64 to tcg_gen_andi_i64, eliminating the need for a temporary, per review from Richard Henderson. v2: - I found that I copied too much of the 'mffs' implementation. The 'Rc' condition code bits are not needed for 'mffsl'. Removed. - I now free the (renamed) 'tmask' temporary. - I now bail early for older ISA to the original 'mffs' implementation. Message-Id: <1565982203-11048-1-git-send-email-pc@us.ibm.com> Signed-off-by:
David Gibson <david@gibson.dropbear.id.au>
-
- Jun 27, 2019
-
-
Wladimir J. van der Laan authored
The constraint for `rdinstreth` was comparing the csr number to 0xc80, which is `cycleh` instead. Fix this. Signed-off-by:
Wladimir J. van der Laan <laanwj@gmail.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Reviewed-by:
Palmer Dabbelt <palmer@sifive.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
Michael Clark authored
Due to the design of the disassembler, the immediate is not known during decoding of the opcode; so to handle compressed encodings with reserved immediate values (non-zero), we need to add an additional check during decompression to match reserved encodings with zero immediates and translate them into the illegal instruction. The following compressed opcodes have reserved encodings with zero immediates: c.addi4spn, c.addi, c.lui, c.addi16sp, c.srli, c.srai, c.andi and c.slli Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> [Palmer: Broke long lines] Reviewed-by:
Palmer Dabbelt <palmer@sifive.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
- Jun 12, 2019
-
-
Markus Armbruster authored
No header includes qemu-common.h after this commit, as prescribed by qemu-common.h's file comment. Signed-off-by:
Markus Armbruster <armbru@redhat.com> Message-Id: <20190523143508.25387-5-armbru@redhat.com> [Rebased with conflicts resolved automatically, except for include/hw/arm/xlnx-zynqmp.h hw/arm/nrf51_soc.c hw/arm/msf2-soc.c block/qcow2-refcount.c block/qcow2-cluster.c block/qcow2-cache.c target/arm/cpu.h target/lm32/cpu.h target/m68k/cpu.h target/mips/cpu.h target/moxie/cpu.h target/nios2/cpu.h target/openrisc/cpu.h target/riscv/cpu.h target/tilegx/cpu.h target/tricore/cpu.h target/unicore32/cpu.h target/xtensa/cpu.h; bsd-user/main.c and net/tap-bsd.c fixed up]
-
- May 13, 2019
-
-
Markus Armbruster authored
Header guard symbols should match their file name to make guard collisions less likely. Cleaned up with scripts/clean-header-guards.pl, followed by some renaming of new guard symbols picked by the script to better ones. Signed-off-by:
Markus Armbruster <armbru@redhat.com> Message-Id: <20190315145123.28030-6-armbru@redhat.com> [Rebase to master: update include/hw/net/ne2000-isa.h]
-
- Apr 18, 2019
-
-
Markus Armbruster authored
Commit dc99065b (v0.1.0) added dis-asm.h from binutils. Commit 43d4145a (v0.1.5) inlined bfd.h into dis-asm.h to remove the dependency on binutils. Commit 76cad711 (v1.4.0) moved dis-asm.h to include/disas/bfd.h. The new name is confusing when you try to match against (pre GPLv3+) binutils. Rename it back. Keep it in the same directory, of course. Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Markus Armbruster <armbru@redhat.com> Message-Id: <20190417191805.28198-17-armbru@redhat.com> Reviewed-by:
Dr. David Alan Gilbert <dgilbert@redhat.com>
-
- Mar 19, 2019
-
-
Michael Clark authored
Remove machine generated constraints that are not referenced by the pseudo-instruction constraints. Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Sagar Karandikar <sagark@eecs.berkeley.edu> Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by:
Michael Clark <mjc@sifive.com> Signed-off-by:
Alistair Francis <alistair.francis@wdc.com> Signed-off-by:
Palmer Dabbelt <palmer@sifive.com>
-
- Mar 05, 2019
-
-
Aleksandar Markovic authored
Add graphical description of nanoMIPS instruction pool organization. Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Message-Id: <1551800076-8104-3-git-send-email-aleksandar.markovic@rt-rk.com>
-
Aleksandar Markovic authored
Correct comments to handlers of some DSP instructions. Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Message-Id: <1551800076-8104-2-git-send-email-aleksandar.markovic@rt-rk.com>
-
- Feb 27, 2019
-
-
Aleksandar Markovic authored
Rename function extract_ac_13_12() to extract_ac_15_14(). Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Message-Id: <1551185735-17154-3-git-send-email-aleksandar.markovic@rt-rk.com>
-
- Jan 24, 2019
-
-
Aleksandar Markovic authored
Amend some DSP instructions related comments. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
- Jan 11, 2019
-
-
Paolo Bonzini authored
There are not many, and they are all simple mistakes that ended up being committed. Remove them. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20181213223737.11793-2-pbonzini@redhat.com> Reviewed-by:
Wainer dos Santos Moschetta <wainersm@redhat.com> Acked-by:
Richard Henderson <richard.henderson@linaro.org> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Jan 03, 2019
-
-
Aleksandar Markovic authored
Add "nanoMIPS32 Instruction Set Technical Reference Manual" as a reference. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Reorder declarations and definitions of gpr decoders by number of input bits of corresponding encoding type. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Comment the decoder of 'gpr1' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Rename the decoder of 'gpr1' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Comment the decoder of 'gpr2.reg2' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Rename the decoder of 'gpr2.reg2' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Comment the decoder of 'gpr2.reg1' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Rename the decoder of 'gpr2.reg1' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Comment the decoder of 'gpr4.zero' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Rename the decoder of 'gpr4.zero' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Comment the decoder of 'gpr4' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Rename the decoder of 'gpr4' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Comment the decoder of 'gpr3.src.store' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Rename the decoder of 'gpr3.src.store' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-
Aleksandar Markovic authored
Comment the decoder of 'gpr3' gpr encoding type in nanoMIPS disassembler. Reviewed-by:
Aleksandar Rikalo <arikalo@wavecomp.com> Signed-off-by:
Aleksandar Markovic <amarkovic@wavecomp.com>
-