- 01 11月, 2012 5 次提交
-
-
由 Jia Liu 提交于
Add MIPS ASE DSP Arithmetic instructions. Signed-off-by: NJia Liu <proljc@gmail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Jia Liu 提交于
Add MIPS ASE DSP Load instructions. Signed-off-by: NJia Liu <proljc@gmail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Jia Liu 提交于
Add MIPS ASE DSP Branch instructions. Signed-off-by: NJia Liu <proljc@gmail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Jia Liu 提交于
Signed-off-by: NJia Liu <proljc@gmail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Jia Liu 提交于
Add MIPS ASE DSP resources access check. Signed-off-by: NJia Liu <proljc@gmail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 28 10月, 2012 1 次提交
-
-
由 Richard Henderson 提交于
With normal FP, this doesn't have much affect on the generated code, because most of the FP operations are not CONST/PURE, and so we spill registers in about the same frequency as the explicit load/stores. But with Loongson multimedia instructions, which are all integral and whose helpers are in fact CONST+PURE, this greatly improves the code. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 28 9月, 2012 1 次提交
-
-
由 Richard Henderson 提交于
For all targets that currently call tcg_gen_debug_insn_start, add CPU_LOG_TB_OP_OPT to the condition that gates it. This is useful for comparing optimization dumps, when the pre-optimization dump is merely noise. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 20 9月, 2012 4 次提交
-
-
由 Richard Henderson 提交于
Implements all of the COP2 instructions except for the S<cond> family of comparisons. The documentation is unclear for those. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Richard Henderson 提交于
this will prevent some of the compilation errors with debugging enabled from creeping back in. Signed-off-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Richard Henderson 提交于
The macro uses the DisasContext. Pass it around as needed. Signed-off-by: NRichard Henderson <rth@twiddle.net> Acked-by: NAurelien Jarno <aurelien@aurel32.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Richard Henderson 提交于
Used by MIPS_DEBUG, when enabled. Signed-off-by: NRichard Henderson <rth@twiddle.net> Acked-by: NAurelien Jarno <aurelien@aurel32.net> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 16 9月, 2012 1 次提交
-
-
由 Blue Swirl 提交于
Add an explicit CPUState parameter instead of relying on AREG0 and switch to AREG0 free mode. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com> Acked-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 08 9月, 2012 1 次提交
-
-
由 Maciej W. Rozycki 提交于
This change updates the CPU reset sequence to use a common piece of code that figures out CPU state flags, fixing the problem with MIPS_HFLAG_COP1X not being set where applicable that causes floating-point MADD family instructions (and other instructions from the MIPS IV FP subset) to trap. As compute_hflags is now shared between op_helper.c and translate.c, the function is now moved to a common header. There are no changes to this function. The problem was seen with the 24Kf MIPS32r2 processor in user emulation. The new approach prevents system and user emulation from diverging -- all the hflags state is initialized in one place now. Signed-off-by: NMaciej W. Rozycki <macro@codesourcery.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 28 8月, 2012 2 次提交
-
-
由 Eric Johnson 提交于
The microMIPS SWP and SDP instructions do not modify GPRs. So their behavior is well defined when RD equals BASE. The MIPS Architecture Verification Programs (AVPs) check that they work as expected. This is required for AVPs to pass. Signed-off-by: NEric Johnson <ericj@mips.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Eric Johnson 提交于
The MIPS Architecture Verification Programs (AVPs) check privileged instructions for the required privilege level. These changes are needed to pass the AVP suite. Signed-off-by: NEric Johnson <ericj@mips.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 27 8月, 2012 4 次提交
-
-
由 Richard Henderson 提交于
The kernel will emulate this instruction if it's not supported natively. This insn is used for TLS, among other things, and so is required by modern glibc. Signed-off-by: NRichard Henderson <rth@twiddle.net> Cc: Riku Voipio <riku.voipio@iki.fi> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Richard Henderson 提交于
We've already eliminated both base and index being zero. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Richard Sandiford 提交于
The FS input to CVT.PS.S is the high half and FT is the low half. tcg_gen_concat_i32_i64 takes the low half first, so the operands were in the wrong order. Signed-off-by: NRichard Sandiford <rdsandiford@googlemail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
由 Richard Sandiford 提交于
Read the second input operand of RECIP2.S and RECIP2.PS from FT rather than FD. RECIP2.D is already correct. Signed-off-by: NRichard Sandiford <rdsandiford@googlemail.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 23 8月, 2012 1 次提交
-
-
由 Meador Inge 提交于
While running in the usermode emulator all of the required* MIPS32r2 RDHWR hardware registers should be accessible (the Linux kernel enables access to these same registers). Note that these registers are still enabled when the MIPS ISA is not release 2. This is OK since the Linux kernel emulates access to them when they are not available in hardware. * There is also the ULR register which is only recommended for full release 2 compliance. Incidentally, accessing this register in the current implementation works fine without flipping its access bit. Signed-off-by: NMeador Inge <meadori@codesourcery.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 10 8月, 2012 1 次提交
-
-
由 Nathan Froyd 提交于
This change addresses a problem where QEMU incorrectly traps on floating-point MADD group instructions with SIGILL, at least while emulating MIPS32r2 processors. These instructions use the COP1X major opcode and include ones like: madd.d $f2,$f4,$f2,$f6 Here's Nathan's original analysis of the problem: "QEMU essentially does: d = find_cpu (cpu_string) // get CPU definition fpu_init (env, d) // initialize fpu state (init FCR0, basically) cpu_reset (env) ...and the cpu_reset call clears all interesting state that fpu_init setup, then proceeds to reinitialize all the CP0 registers...but not FCR0." I have verified this change with system emulation running the GDB test suite for the mips-sde-elf target (o32, big endian, 24Kf CPU emulated), there were 55 progressions and no regressions. Signed-off-by: NMaciej W. Rozycki <macro@codesourcery.com> Reviewed-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 05 6月, 2012 2 次提交
-
-
由 Andreas Färber 提交于
Turn cpu_init macro into a static inline function returning CPUMIPSState for backwards compatibility. Signed-off-by: NAndreas Färber <afaerber@suse.de>
-
由 Andreas Färber 提交于
Commit 0f71a709 (target-mips: QOM'ify CPU) hooked up cpu_state_reset() to CPUClass::reset(). Dropping the introduction of subclasses for 1.1, due to mips_def_t the reset code could not be QOM'ified yet, i.e. cpu_state_reset() will not forward to CPUClass::reset(). Update cpu_mips_init() with cpu_reset() nontheless, indirectly calling cpu_state_reset(), so that generic code can be converted to call cpu_reset(). Signed-off-by: NAndreas Färber <afaerber@suse.de>
-
- 19 5月, 2012 1 次提交
-
-
由 Richard Sandiford 提交于
There's some dodgy application of De Morgan's law in the emulation of the MIPS BC1ANY[24]F instructions: they end up branching only if all CCs are false, rather than if one CC is. Tested on mips64-linux-gnu, where it fixes the GCC MIPS3D tests. Signed-off-by: NRichard Sandiford <rdsandiford@googlemail.com> Reviewed-by: NRichard Henderson <rth@twiddle.net> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 30 4月, 2012 2 次提交
-
-
由 Andreas Färber 提交于
Move code not dependent on mips_def_t from cpu_mips_init() into a QOM initfn, as a start. Signed-off-by: NAndreas Färber <afaerber@suse.de> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
由 Andreas Färber 提交于
Embed CPUMIPSState as first member of QOM MIPSCPU. Let CPUClass::reset() call cpu_state_reset() for now. Signed-off-by: NAndreas Färber <afaerber@suse.de> Reviewed-by: NRichard Henderson <rth@twiddle.net>
-
- 15 3月, 2012 2 次提交
-
-
由 Andreas Färber 提交于
Scripted conversion: sed -i "s/CPUState/CPUMIPSState/g" target-mips/*.[hc] sed -i "s/#define CPUMIPSState/#define CPUState/" target-mips/cpu.h Signed-off-by: NAndreas Färber <afaerber@suse.de> Acked-by: NAnthony Liguori <aliguori@us.ibm.com>
-
由 Andreas Färber 提交于
Frees the identifier cpu_reset for QOM CPUs (manual rename). Don't hide the parameter type behind explicit casts, use static functions with strongly typed argument to indirect. Signed-off-by: NAndreas Färber <afaerber@suse.de> Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 29 2月, 2012 1 次提交
-
-
由 Stefan Weil 提交于
Remove some include statements which are not needed. Cc: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: NStefan Weil <sw@weilnetz.de>
-
- 06 9月, 2011 2 次提交
-
-
由 Edgar E. Iglesias 提交于
Only TC0 on VPE0 is active after reset. All other VPEs and TCs start in sleep. Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
-
由 Edgar E. Iglesias 提交于
Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
-
- 21 8月, 2011 1 次提交
-
-
由 Anthony Liguori 提交于
qemu_malloc/qemu_free no longer exist after this commit. Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
-
- 27 6月, 2011 1 次提交
-
-
由 Blue Swirl 提交于
Most exec-all.h include directives are now useless, remove them. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 20 4月, 2011 1 次提交
-
-
由 Stefan Weil 提交于
Function gen_pc_load was introduced in commit d2856f1a. The only reason for parameter searched_pc was a debug statement in target-i386/translate.c. Parameter puc was needed by target-sparc until commit d7da2a10. Remove searched_pc from the debug statement and remove both parameters from the parameter list of gen_pc_load. As the function name gen_pc_load was also misleading, it is now called restore_state_to_opc. This new name was suggested by Peter Maydell, thanks. v2: Remove last parameter, too, and rename the function. v3: Fix [] typo in target-arm/translate.c. Fix wrong SHA1 object name in commit message (copy+paste error). Cc: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: NPeter Maydell <peter.maydell@linaro.org> Signed-off-by: NStefan Weil <weil@mail.berlios.de>
-
- 10 4月, 2011 1 次提交
-
-
由 Stefan Weil 提交于
tcg_gen_exit_tb takes a parameter of type tcg_target_long, so the type casts of pointer to long should be replaced by type casts of pointer to tcg_target_long (suggested by Blue Swirl). These changes are needed for build environments where sizeof(long) != sizeof(void *), especially for w64. Signed-off-by: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 25 1月, 2011 1 次提交
-
-
由 Aurelien Jarno 提交于
The rule is: - don't save PC if the exception is only triggered by softmmu. - save PC if the exception can be triggered by an helper. Fix a 64-bit kernel crash when loading modules. Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 18 1月, 2011 1 次提交
-
-
由 Edgar E. Iglesias 提交于
Break the TB after reading the count register. This makes it possible to take timer interrupts immediately after a read of a possibly expired timer. Signed-off-by: NEdgar E. Iglesias <edgar.iglesias@gmail.com>
-
- 22 12月, 2010 1 次提交
-
-
由 Nathan Froyd 提交于
The translation of dmt/emt/dvpe/evpe was doing the moral equivalent of: int x; ... /* no initialization of x */ x = f (x); which confused later bits of TCG rather badly, leading to crashes. Fix the helpers to only return results (those instructions have no inputs), and fix the translation code accordingly. Signed-off-by: NNathan Froyd <froydnj@codesourcery.com> Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
-
- 30 10月, 2010 1 次提交
-
-
由 Stefan Weil 提交于
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: NStefan Weil <weil@mail.berlios.de> Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-
- 14 10月, 2010 1 次提交
-
-
由 Blue Swirl 提交于
Compiling with GCC 4.6.0 20100925 produced a lot of warnings like: /src/qemu/target-mips/translate.c: In function 'gen_ld': /src/qemu/target-mips/translate.c:1039:17: error: variable 'opn' set but not used [-Werror=unused-but-set-variable] Fix by adding a dummy cast so that the variable is not unused. Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
-