- 07 Dec, 2010 6 commits
-
-
Peter Maydell authored
Fix errors in the decoding of the Neon forms of fixed-point VCVT: * fixed-point VCVT is op 14 and 15, not 15 and 16 * the fbits immediate field was being misinterpreted * the sense of the to_fixed bit was inverted Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Nathan Froyd <froydnj@codesourcery.com>
-
Peter Maydell authored
Correct the decoding of source and destination registers for the VFP forms of the VCVT instructions which convert between floating point and integer or fixed-point. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Nathan Froyd <froydnj@codesourcery.com>
-
Peter Maydell authored
Correct ldrexd and strexd code to always read and write the high word of the 64-bit value from addr+4. Also make ldrexd and strexd agree that for a 64 bit value the address in env->exclusive_addr is that of the low word. This fixes the issues reported in https://bugs.launchpad.net/qemu/+bug/670883 Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Nathan Froyd <froydnj@codesourcery.com>
-
Adam Lackorzynski authored
Refine check on bkpt so that smc and undefined instruction encodings are handled as an undefined instruction and trap. Signed-off-by:
Adam Lackorzynski <adam@os.inf.tu-dresden.de> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Nathan Froyd <froydnj@codesourcery.com>
-
Johan Bengtsson authored
The thumb2 decoder contained a mixup between the bit controlling doubling and the bit controlling if the operation was an add or a sub. Signed-off-by:
Johan Bengtsson <teofrastius@gmail.com> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Nathan Froyd <froydnj@codesourcery.com>
-
Johan Bengtsson authored
The PKHxx instructions were not recognized by the thumb2 decoder. The solution provided in this changeset is identical to the arm-mode implementation. Signed-off-by:
Johan Bengtsson <teofrastius@gmail.com> Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Reviewed-by:
Nathan Froyd <froydnj@codesourcery.com>
-
- 03 Dec, 2010 3 commits
-
-
Peter Maydell authored
Expose the vfp_get_fpscr() and vfp_set_fpscr() functions to C code as well as generated code, so we can use them to read and write the FPSCR when saving and restoring VFP registers across signal handlers in linux-user mode. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org> Signed-off-by:
Riku Voipio <riku.voipio@nokia.com>
-
Peter Maydell authored
In linux-user mode, the XScale/iWMMXT coprocessors must be enabled at reset so that we can run code that uses these instructions. Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Peter Maydell authored
Signed-off-by:
Riku Voipio <riku.voipio@nokia.com>
-
- 30 Oct, 2010 1 commit
-
-
Stefan Weil authored
fprintf_function uses format checking with GCC_FMT_ATTR. Format errors were fixed in * target-i386/helper.c * target-mips/translate.c * target-ppc/translate.c Cc: Blue Swirl <blauwirbel@gmail.com> Signed-off-by:
Stefan Weil <weil@mail.berlios.de> Signed-off-by:
Blue Swirl <blauwirbel@gmail.com>
-
- 03 Jul, 2010 2 commits
-
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Blue Swirl <blauwirbel@gmail.com>
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Blue Swirl <blauwirbel@gmail.com>
-
- 01 Jul, 2010 3 commits
-
-
Chih-Min Chao authored
Signed-off-by:
Chih-Min Chao <cmchao@gmail.com> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
Chih-Min Chao authored
Signed-off-by:
Chih-Min Chao <cmchao@gmail.com> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
Chih-Min Chao authored
Signed-off-by:
Chih-Min Chao <cmchao@gmail.com> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 11 Jun, 2010 1 commit
-
-
Paul Brook authored
When combining multiple values as part of a NEON array load, do explcit shift/or rather than using gen_bfi. This voids redundant mask operations. Signed-off-by:
Paul Brook <paul@codesourcery.com>
-
- 31 May, 2010 1 commit
-
-
Lars Munch authored
Booting an arm kernel has been broken a while when booting from non zero start address. This is due to the order of events: board init loads the kernel and sets register 15 to the start address and then qemu_system_reset reset the cpu making register 15 zero again. This patch fixes the usage of the register 15 start address trick in combination with arm_load_kernel. Signed-off-by:
Lars Munch <lars@segv.dk> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 28 May, 2010 1 commit
-
-
Lars Munch authored
This prevent coprocessor IO structure from being reset on cpu reset. This was a problem for PXA which uses coprocessor 6 and 14. Signed-off-by:
Lars Munch <lars@segv.dk> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 25 Apr, 2010 1 commit
-
-
Blue Swirl authored
Value stored is never read. Signed-off-by:
Blue Swirl <blauwirbel@gmail.com>
-
- 08 Apr, 2010 2 commits
-
-
Juha Riihimäki authored
Signed-Off-By:
Riku Voipio <riku.voipio@nokia.com> Signed-off-by:
Juha Riihimäki <juha.riihimaki@nokia.com> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
Lars Munch authored
This patch fixes few resource leaks in the iwmmxt disassemble. Signed-off-by:
Lars Munch <lars@segv.dk> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 05 Apr, 2010 2 commits
-
-
Paul Brook authored
Only include hw/loader.h from target-arm/helper.c when building for system emulation. Signed-off-by:
Paul Brook <paul@codesourcery.com>
-
Paul Brook authored
Move ARMv7-M PC/SP initialization to the CPU reset routine. Add a board reset routine to call this. Also load values directly from ROM as images have not been copied yet. Avoid clearing the NVIC pointer on cpu reset. Signed-off-by:
Paul Brook <paul@codesourcery.com>
-
- 27 Mar, 2010 1 commit
-
-
Rabin Vincent authored
Don't set PAGE_EXEC for XN pages, to avoid a bypass of XN protection checking if the page is already in the TLB. Signed-off-by:
Rabin Vincent <rabin@rab.in> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 23 Mar, 2010 1 commit
-
-
Johan Bengtsson authored
Do not try to insert a conditional jump over next instruction when the condition code is AL as this will trigger an internal error. Signed-off-by:
Johan Bengtsson <teofrastius@gmail.com> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 16 Mar, 2010 1 commit
-
-
Paul Brook authored
QEMU uses a fixed page size for the CPU TLB. If the guest uses large pages then we effectively split these into multiple smaller pages, and populate the corresponding TLB entries on demand. When the guest invalidates the TLB by virtual address we must invalidate all entries covered by the large page. However the address used to invalidate the entry may not be present in the QEMU TLB, so we do not know which regions to clear. Implementing a full vaiable size TLB is hard and slow, so just keep a simple address/mask pair to record which addresses may have been mapped by large pages. If the guest invalidates this region then flush the whole TLB. Signed-off-by:
Paul Brook <paul@codesourcery.com>
-
- 13 Mar, 2010 1 commit
-
-
Adam Lackorzynski authored
The rfe instruction can be used with any register, not just sp. Adjust the condition check accordingly. Signed-off-by:
Adam Lackorzynski <adam@os.inf.tu-dresden.de> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 12 Mar, 2010 2 commits
-
-
Paul Brook authored
cpu_get_phys_page_debug makes no sense for userspace emulation, so remove it. Signed-off-by:
Paul Brook <paul@codesourcery.com>
-
Richard Henderson authored
Removes a set of ifdefs from exec.c. Introduce TARGET_VIRT_ADDR_SPACE_BITS for all targets other than Alpha. This will be used for page_find_alloc, which is supposed to be using virtual addresses in the first place. Signed-off-by:
Richard Henderson <rth@twiddle.net>
-
- 06 Mar, 2010 1 commit
-
-
Adam Lackorzynski authored
There's a return missing in the srs handling which leads to srs always being treated an an invalid op. Signed-off-by:
Adam Lackorzynski <adam@os.inf.tu-dresden.de> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 28 Feb, 2010 2 commits
-
-
Juha Riihimäki authored
implementation only widened the 32bit source vector elements into a 64bit destination vector but forgot to perform the actual shifting operation. Signed-off-by:
Juha Riihimäki <juha.riihimaki@nokia.com> Signed-off-by:
Riku Voipio <riku.voipio@nokia.com> Acked-by:
Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
Riku Voipio authored
The rounding/truncating options were inverted. truncating was done when rounding was meant and vice verse. Signed-off-by:
Riku Voipio <riku.voipio@nokia.com> Acked-by:
Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-
- 23 Feb, 2010 1 commit
-
-
Paul Brook authored
Fix temporary handling in cp15 tls register load/store. Signed-off-by:
Paul Brook <paul@codesourcery.com>
-
- 19 Feb, 2010 3 commits
-
-
Rabin Vincent authored
When handling an exception, switch to the correct mode based on the Thumb Exception (TE) bit in the SCTLR. Signed-off-by:
Rabin Vincent <rabin@rab.in>
-
Rabin Vincent authored
Support the "subs pc, lr" Thumb-2 exception return instruction. Signed-off-by:
Rabin Vincent <rabin@rab.in> Signed-off-by:
Paul Brook <paul@codesourcery.com>
-
Rabin Vincent authored
The Thumb CPS currently does not work correctly: CPSID touches more bits than the instruction wants to, and CPSIE does nothing. Fix it by passing the correct mask (the "affect" bits) and value. Signed-off-by:
Rabin Vincent <rabin@rab.in>
-
- 06 Feb, 2010 1 commit
-
-
Riku Voipio authored
Access the cp15.c13 TLS registers directly with TCG ops instead of with a slow helper. If the the cp15 read/write was not TLS register access, fall back to the cp15 helper. This makes accessing __thread variables in linux-user when apps are compiled with -mtp=cp15 possible. legal cp15 register to acces from linux-user are already checked in cp15_user_ok. While at it, make the cp15.c13 Thread ID registers available only on ARMv6K and newer. Signed-off-by:
Riku Voipio <riku.voipio@nokia.com>
-
- 05 Feb, 2010 1 commit
-
-
Riku Voipio authored
Access the cp15.c13 TLS registers directly with TCG ops instead of with a slow helper. If the the cp15 read/write was not TLS register access, fall back to the cp15 helper. This makes accessing __thread variables in linux-user when apps are compiled with -mtp=cp15 possible. legal cp15 register to acces from linux-user are already checked in cp15_user_ok. While at it, make the cp15.c13 Thread ID registers available only on ARMv6K and newer. Signed-off-by:
Riku Voipio <riku.voipio@nokia.com>
-
- 19 Jan, 2010 1 commit
-
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Anthony Liguori <aliguori@us.ibm.com>
-
- 23 Dec, 2009 1 commit
-
-
Aurelien Jarno authored
Signed-off-by:
Aurelien Jarno <aurelien@aurel32.net>
-