aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-10-27target-arm: add support for neon vld1.64/vst1.64 instructionsJuha Riihimäki1-52/+81
Add support for NEON vld1.64 and vst1.64 instructions. This patch is revised to follow more closely the specification and raises undefined exception if 64bit element size is used for vld2/vst2 or vld4/vst4 instructions. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-27target-arm: fix neon vshrn/vrshrn opsJuha Riihimäki1-9/+3
In the existing code shift value is clobbered during the pass loop. This patch changes the code so that it stores the intermediate result in the target neon register directly and eliminates the need to use a temporary to hold the intermediate value thus leaving the shift value in the temporary variable intact. This is a new patch in this version of the patch series. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-26target-arm: fix incorrect temporary variable freeingJuha Riihimäki1-2/+2
tmp4 and tmp5 temporary variables are allocated using tcg_const_i32 but incorrectly released using dead_tmp which will cause resource leak tracking to report false leaks. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-25sparc32: tcx: remove unused include directiveBlue Swirl1-1/+0
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert sbi to VMState, vmsd and vmstate resetBlue Swirl1-31/+15
Also remove unused include directive. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert Sun4c interrupt controller to reset + vmsdBlue Swirl1-5/+7
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert interrupt controller to reset + vmsdBlue Swirl1-5/+7
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert IOMMU to reset + vmsdBlue Swirl1-5/+6
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert DMA controller to reset + vmsd, fix reset on initBlue Swirl1-5/+6
Add a missing call to reset on device init. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24m48t59: convert to vmstate resetBlue Swirl1-4/+19
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert slavio_timer to reset + vmsdBlue Swirl1-5/+6
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24fdc: convert to reset + vmsdBlue Swirl1-8/+29
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24esp: convert to reset + vmsdBlue Swirl1-8/+16
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert cs4231 to VMState, vmsd and resetBlue Swirl1-33/+19
Also remove unused include directive. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24escc: add chipset docsBlue Swirl1-0/+4
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24escc: convert to VMState, vmsd and resetBlue Swirl1-62/+38
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: add chipset docs for eccmemctlBlue Swirl1-0/+4
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert slavio_misc to reset + vmsdBlue Swirl1-6/+6
Also remove unused include directive. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc32: convert eccmemctl to reset + vmsdBlue Swirl1-6/+6
Also remove unused include directive. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-24sparc64: remove unused variablesBlue Swirl1-3/+0
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-23target-arm: optimize thumb 32-bit multiplyJuha.Riihimaki@nokia.com1-17/+1
Current implementation of thumb mul instruction is implemented as a 32x32->64 multiply which then uses only 32 least significant bits of the result. Replace that with a simple 32x32->32 multiply. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-23target-arm: cleanup internal resource leaksJuha Riihimäki1-27/+89
Revised patch for getting rid of tcg temporary variable leaks in target-arm/translate.c. This version also includes the leak patch for gen_set_cpsr macro, now converted as a static inline function, which I sent earlier as a separate patch on top of this patch. Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-23target-i386: implement lzcnt emulationAndre Przywara3-14/+38
lzcnt is a AMD Phenom/Barcelona added instruction returning the number of leading zero bits in a word. As this is similar to the "bsr" instruction, reuse the existing code. There need to be some more changes, though, as lzcnt always returns a valid value (in opposite to bsr, which has a special case when the operand is 0). lzcnt is guarded by the ABM CPUID bit (Fn8000_0001:ECX_5). Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-23target-ppc: move often used CPU fields at the top of the structureAurelien Jarno1-4/+4
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-23target-arm: fix sdiv helperAurelien Jarno1-0/+2
(INT32_MIN / -1) triggers an overflow, and the result depends on the host architecture (INT32_MIN on arm, -1 on ppc, SIGFPE on x86). Use a test to output the correct value. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com>
2009-10-23target-arm: use clz32() instead of a for loopAurelien Jarno1-4/+2
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com>
2009-10-21Merge commit 'linux-user/linux-user-for-upstream' into stagingAnthony Liguori7-6/+145
2009-10-21qdev: add string property.Gerd Hoffmann2-0/+32
Patchworks-ID: 35755 Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-21char: emit the OPENED event only when a new char connection is openedAmit Shah2-1/+8
The OPENED event gets sent also when qemu resets its state initially. The consumers of the event aren't interested in receiving this event on reset. Patchworks-ID: 35288 Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-21char: rename CHR_EVENT_RESET to CHR_EVENT_OPENEDAmit Shah6-6/+6
The char event RESET is emitted when a char device is opened. Give it a better name. Patchworks-ID: 35287 Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-21char: check for initial_reset_issued unnecessaryAmit Shah1-4/+1
At init, qemu_chr_reset is always called with initial_reset_issued set to 1. So checking for it to be set is not necessary. Patchworks-ID: 35286 Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-10-18bsd-user: fix breakage by 78cfb07fe0dc556cae662a0fab5fe1bd33daabdbBlue Swirl1-0/+1
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-18Suppress warnings about 'warn_unused_result' attribute directiveBlue Swirl3-1/+26
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-18bsd-user: FreeBSD updateJuergen Lock9-31/+462
basic FreeBSD sysarch(2) handling fixed syscall errno return Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-18x86: add 'static' to please SparseBlue Swirl1-5/+5
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-10-18target-ppc: simpler definitions for microcontrollers based on e300Thomas Monjalon1-68/+44
No need to alias e300 core for each CPU package. Differences between microcontrollers have to be implemented in a higher layer than translate_init.c Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-18target-ppc: add declarations of microcontrollers based on e300Thomas Monjalon1-8/+40
Add CPU declarations of MPC8343, MPC8343E, MPC8347 and MPC8347E. Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-18target-ppc: better support of e300 CPU coreThomas Monjalon1-2/+8
Declare HID2 register. Use high BATs for e300 (8 instead of 4). Fix index of high BATs registers. Before the fix, IBAT4-7 were overwriting IBAT0-3. Signed-off-by: François Armand <francois.armand@os4i.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-18target-arm: fix bugs introduced by 1b2b1e547bd912b7d3c4863d0a0f75f6f38330edAurelien Jarno1-5/+7
Use load_reg_var() instead of accessing cpu_R[rn] directly to generate correct code when rn = 15. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-18target-arm: fix bugs introduced by 3174f8e91fecf8756e861d1febb049f3c619a2c7Aurelien Jarno1-3/+3
Use load_reg_var() instead of accessing cpu_R[rn] directly to generate correct code when rn = 15. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: remove T0 and T1Aurelien Jarno1-2/+0
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: remove cpu_T for ARM once and for allFilip Navara2-35/+0
Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: convert VFP not to use cpu_TFilip Navara1-28/+22
Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: convert disas_iwmmxt_insn not to use cpu_TFilip Navara1-252/+219
Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: convert disas_dsp_insn not use cpu_TFilip Navara1-39/+20
Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: convert disas_neon_ls_insn not to use cpu_TFilip Navara1-33/+34
Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: convert disas_neon_data_insn and helpers not to use cpu_TFilip Navara1-296/+271
Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: convert rest of disas_arm_insn / disas_thumb2_insn not to use cpu_TFilip Navara1-41/+56
Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: replace thumb usage of cpu_T registers by proper register ↵Filip Navara1-129/+139
allocations The goal is eventually to get rid of all cpu_T register usage and to use just short-lived tmp/tmp2 registers. This patch converts all the places where cpu_T was used in the Thumb code and replaces it with explicit TCG register allocation. Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2009-10-17target-arm: fix TANDC and TORC instructionsFilip Navara1-0/+2
Uninitialized register was used instead of proper TCG variable. Signed-off-by: Filip Navara <filip.navara@gmail.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>