Statistics
| Branch: | Revision:

root / target-mips @ e2134eb9

# Date Author Comment
bc3e45e1 10/31/2012 11:20 pm Aurelien Jarno

target-mips: fix TLBR wrt SEGMask

Like r4k_map_address(), r4k_helper_tlbp() should use SEGMask to mask the
address.

Signed-off-by: Aurelien Jarno <>

286d52eb 10/31/2012 11:20 pm Aurelien Jarno

target-mips: don't flush extra TLB on permissions upgrade

If the guest uses a TLBWI instruction for upgrading permissions, we
don't need to flush the extra TLBs. This improve boot time performance
by about 10%.

Signed-off-by: Aurelien Jarno <>

2d2826b9 10/31/2012 11:20 pm Aurelien Jarno

target-mips: don't use local temps for store conditional

Store conditional operations only need local temps in user mode. Fix
the code to use temp local only in user mode, this spares two memory
stores in system mode.

At the same time remove a wrong a wrong copied & pasted comment,...

acf12465 10/31/2012 11:20 pm Aurelien Jarno

target-mips: implement movn/movz using movcond

Avoid the branches in movn/movz implementation and replace them with
movcond. Also update a wrong command.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

51127181 10/31/2012 11:20 pm Aurelien Jarno

target-mips: optimize ddiv/ddivu/div/divu with movcond

The result of a division by 0, or a division of INT_MIN by -1 in the
signed case, is unpredictable. Just replace 0 by 1 in that case so that
it doesn't trigger a floating point exception on the host....

e0d002f1 10/31/2012 11:20 pm Aurelien Jarno

target-mips: use deposit instead of hardcoded version

Use the deposit op instead of and hardcoded bit field insertion. It
allows the host to emit the corresponding instruction if available.

At the same time remove the (lsb > msb) test. The MIPS64R2 instruction...

2910c6cb 10/31/2012 11:20 pm Aurelien Jarno

target-mips: cleanup load/store operations

Load/store operations use macros for historical reasons. Now that there
is no point in keeping them, replace them by direct calls to qemu_ld/st.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

3cee3050 10/31/2012 11:20 pm Aurelien Jarno

target-mips: optimize load operations

Only allocate t1 when needed.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

18bba4dc 10/31/2012 11:20 pm Aurelien Jarno

target-mips: simplify load/store microMIPS helpers

load/store microMIPS helpers are reinventing the wheel. Call do_lw,
do_ll, do_sw and do_sl instead of using a macro calling the cpu_*
load/store functions.

Reviewed-by: Richard Henderson <>...

fc40787a 10/31/2012 11:20 pm Aurelien Jarno

target-mips: implement unaligned loads using TCG

Load/store from helpers should be avoided as they are quite
inefficient. Rewrite unaligned loads instructions using TCG and
aligned loads. The number of actual loads operations to implement
an unaligned load instruction is reduced from up to 8 to 1....

4a587b2c 10/31/2012 11:20 pm Aurelien Jarno

target-mips: keep softfloat exception set to 0 between instructions

Instead of clearing the softfloat exception flags before each floating
point instruction, reset them to 0 in update_fcr31() when an exception
is detected.

Reviewed-by: Richard Henderson <>...

5dbe90bb 10/31/2012 11:20 pm Aurelien Jarno

target-mips: fix FPU exceptions

For each FPU instruction that can trigger an FPU exception, to call
call update_fcr31() after.

Remove the manual NaN assignment in case of float to float operation, as
softfloat is already taking care of that. However for float to int...

4cc2e5f9 10/31/2012 11:20 pm Aurelien Jarno

target-mips: cleanup float to int conversion helpers

Instead of accessing the flags from the floating point control
register after updating it, read the softfloat flags.

This is just code cleanup and should not change the behaviour.

Reviewed-by: Richard Henderson <>...

05993cd0 10/31/2012 11:20 pm Aurelien Jarno

target-mips: use softfloat constants when possible

softfloat already has a few constants defined, use them instead of
redefining them in target-mips.

Rename FLOAT_SNAN32 and FLOAT_SNAN64 to FP_TO_INT32_OVERFLOW and
FP_TO_INT64_OVERFLOW as even if they have the same value, they are...

5f7319cd 10/31/2012 11:20 pm Aurelien Jarno

target-mips: restore CPU state after an FPU exception

Rework raise_exception() functions so that they can be called from
other helpers, passing the return address as an argument.

Use do_raise_exception() function in update_fcr31() to correctly restore...

4636401d 10/31/2012 11:20 pm Aurelien Jarno

target-mips: correctly restore btarget upon exception

When the CPU state is restored through retranslation after an exception,
btarget should also be restored.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

1e0e239a 10/31/2012 11:20 pm Aurelien Jarno

target-mips: do not save CPU state when using retranslation

When the CPU state after a possible retranslation is going to be handled
through code retranslation, we don't need to save the CPU state before.

Reviewed-by: Richard Henderson <>...

b3d6cd44 10/31/2012 11:20 pm Aurelien Jarno

target-mips: use the softfloat floatXX_muladd functions

Use the new softfloat floatXX_muladd() functions to implement the madd,
msub, nmadd and nmsub instructions. At the same time replace the name of
the helpers by the name of the instruction, as the only reason for the...

40e3acc1 10/31/2012 11:20 pm Aurelien Jarno

target-mips: remove #if defined(TARGET_MIPS64) in opcode enums

All switch() decoding instruction have a default entry, so it is possible
to have unused enum entries. Remove conditional definitions of MIPS64
opcode enums, as it only makes the code less readable....

b30706dd 10/31/2012 10:37 pm Jia Liu

target-mips: Change TODO file

Change DSP r1 & DSP r2 into microMIPS DSP encodings in TODO file.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

b53371ed 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP accumulator instructions

Add MIPS ASE DSP Accumulator and DSPControl Access instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

af13ae03 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP processors

Add 74kf and mips64dspr2-generic-cpu model for test.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

26690560 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP compare-pick instructions

Add MIPS ASE DSP Compare-Pick instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

a22260ae 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP multiply instructions

Add MIPS ASE DSP Multiply instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

1cb6686c 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP bit/manipulation instructions

Add MIPS ASE DSP Bit/Manipulation instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

77c5fa8b 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP GPR-based shift instructions

Add MIPS ASE DSP GPR-Based Shift instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

461c08df 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP arithmetic instructions

Add MIPS ASE DSP Arithmetic instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

9b1a1d68 10/31/2012 10:33 pm Jia Liu

target-mips: Add ASE DSP load instructions

Add MIPS ASE DSP Load instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

e45a93e2 10/31/2012 09:24 pm Jia Liu

target-mips: Add ASE DSP branch instructions

Add MIPS ASE DSP Branch instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

4133498f 10/31/2012 09:24 pm Jia Liu

Use correct acc value to index cpu_HI/cpu_LO rather than using a fix number

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

853c3240 10/31/2012 09:24 pm Jia Liu

target-mips: Add ASE DSP resources access check

Add MIPS ASE DSP resources access check.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

235eb015 10/31/2012 09:24 pm Jia Liu

target-mips: Add ASE DSP internal functions

Add internal functions using by MIPS ASE DSP instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

d73ee8a2 10/28/2012 03:54 pm Richard Henderson

target-mips: Use TCG registers for the FPU.

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...

95bf787e 10/28/2012 03:54 pm Aurelien Jarno

target-mips: rename helper flags

Rename helper flags to the new ones. This is purely a mechanical change,
it's possible to use better flags by looking at the helpers.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

a8170e5e 10/23/2012 04:58 pm Avi Kivity

Rename target_phys_addr_t to hwaddr

target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
reserved) and its purpose doesn't match the name (most target_phys_addr_t
addresses are not target specific). Replace it with a finger-friendly,...

b35d77d7 10/17/2012 02:32 am Andreas Färber

target-mips: Pass MIPSCPU to mips_vpe_is_wfi()

Needed for moving halted field to CPUState.
The variable name "c" is retained for MIPSCPU to leave "cpu" for CPUState.

Also change return type to bool while at it.

Signed-off-by: Andreas Färber <>...

c6679e90 10/17/2012 02:32 am Andreas Färber

target-mips: Pass MIPSCPU to mips_tc_sleep()

Needed for changing mips_vpe_sleep() argument type to MIPSCPU.

Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

6f4d6b09 10/17/2012 02:32 am Andreas Färber

target-mips: Pass MIPSCPU to mips_vpe_sleep()

Needed for moving halted field to CPUState.

Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

81bad50e 10/17/2012 02:32 am Andreas Färber

target-mips: Clean up other_cpu in helper_{d,e}vpe()

Free the variable name "other_cpu" for later use for MIPSCPU.

Fix off-by-one indentation while at it.

Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

135dd63a 10/17/2012 02:32 am Andreas Färber

target-mips: Pass MIPSCPU to mips_tc_wake()

Needed for changing mips_vpe_is_wfi() argument type to MIPSCPU.

Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

fdefe51c 09/27/2012 10:38 pm Richard Henderson

Emit debug_insn for CPU_LOG_TB_OP_OPT as well.

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....

bd277fa1 09/19/2012 10:40 pm Richard Henderson

target-mips: Implement Loongson Multimedia Instructions

Implements all of the COP2 instructions except for the S<cond>
family of comparisons. The documentation is unclear for those.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

e1050a76 09/19/2012 10:40 pm Richard Henderson

target-mips: Set opn in gen_ldst_multiple.

Used by MIPS_DEBUG, when enabled.

Signed-off-by: Richard Henderson <>
Acked-by: Aurelien Jarno <>
Signed-off-by: Aurelien Jarno <>

9fa77488 09/19/2012 10:40 pm Richard Henderson

target-mips: Fix MIPS_DEBUG.

The macro uses the DisasContext. Pass it around as needed.

Signed-off-by: Richard Henderson <>
Acked-by: Aurelien Jarno <>
Signed-off-by: Aurelien Jarno <>

fb7729e2 09/19/2012 10:40 pm Richard Henderson

target-mips: Always evaluate debugging macro arguments

this will prevent some of the compilation errors with debugging
enabled from creeping back in.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

895c2d04 09/15/2012 08:51 pm Blue Swirl

target-mips: switch to AREG0 free mode

Add an explicit CPUState parameter instead of relying on AREG0
and switch to AREG0 free mode.

Signed-off-by: Blue Swirl <>
Acked-by: Aurelien Jarno <>

03e6e501 09/08/2012 02:37 am Maciej W. Rozycki

MIPS/user: Fix reset CPU state initialization

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...
36c6711b 08/27/2012 11:18 pm Eric Johnson

target-mips: allow microMIPS SWP and SDP to have RD equal to BASE

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...

2e15497c 08/27/2012 11:17 pm Eric Johnson

target-mips: add privilege level check to several Cop0 instructions

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: Eric Johnson <>...

b3167288 08/27/2012 01:17 pm Richard Henderson

mips-linux-user: Always support rdhwr.

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: Richard Henderson <>
Cc: Riku Voipio <>...

05168674 08/27/2012 01:17 pm Richard Henderson

target-mips: Streamline indexed cp1 memory addressing.

We've already eliminated both base and index being zero.

Signed-off-by: Aurelien Jarno <>

13d24f49 08/27/2012 01:03 pm Richard Sandiford

Fix order of CVT.PS.S operands

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: Richard Sandiford <>
Signed-off-by: Aurelien Jarno <>

d22d7289 08/27/2012 01:03 pm Richard Sandiford

Fix operands of RECIP2.S and RECIP2.PS

Read the second input operand of RECIP2.S and RECIP2.PS from FT rather
than FD. RECIP2.D is already correct.

Signed-off-by: Richard Sandiford <>
Signed-off-by: Aurelien Jarno <>

6fc97faf 08/24/2012 02:03 am Stefan Weil

target-mips: Fix some helper functions (VR54xx multiplication)

Commits b5dc7732e1cc2fb549e48b7b5d664f2c79628e2e and
be24bb4f3007c3e07cbf1934f7e781493d876ab7 optimized the code
and removed the correct setting of t0. Fix this.

gcc-4.7 detected this bug because parameter arg1 was unused...

94159135 08/23/2012 06:21 pm Meador Inge

target-mips: Enable access to required RDHWR hardware registers

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...

f1cb0951 08/09/2012 09:36 pm Nathan Froyd

MIPS: Correct FCR0 initialization

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:...
fbe37ef3 06/07/2012 10:21 am Paolo Bonzini

build: move other target-*/ objects to nested Makefile.objs

Signed-off-by: Paolo Bonzini <>

9cdc8df3 06/07/2012 08:19 am Paolo Bonzini

build: move libobj-y variable to nested Makefile.objs

Signed-off-by: Paolo Bonzini <>

5e8861a0 06/07/2012 08:17 am Paolo Bonzini

build: move obj-TARGET-y variables to nested Makefile.objs

Also drop duplicate occurrence of device-hotplug.o.

Signed-off-by: Paolo Bonzini <>

b7e516ce 06/05/2012 12:00 am Andreas Färber

Kill off cpu_state_reset()

In commit 1bba0dc932e8826a7d030df3767daf0bc339f9a2 cpu_reset()
was renamed to cpu_state_reset(), to allow introducing a new cpu_reset()
that would operate on QOM objects.

All callers have been updated except for one in target-mips, so drop all...

3bd4122e 06/05/2012 12:00 am Andreas Färber

target-mips: Use cpu_reset() in cpu_mips_init()

Commit 0f71a7095db6bc055bc5bb520d85ea650cca8a33 (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...

fca1be7c 06/05/2012 12:00 am Andreas Färber

target-mips: Use cpu_reset() in do_interrupt()

Signed-off-by: Andreas Färber <>

30bf942d 06/05/2012 12:00 am Andreas Färber

target-mips: Let cpu_mips_init() return MIPSCPU

Turn cpu_init macro into a static inline function returning CPUMIPSState
for backwards compatibility.

Signed-off-by: Andreas Färber <>

d7f66b52 05/19/2012 06:51 pm Richard Sandiford

mips: Fix BC1ANY24F instructions

There's some dodgy application of De Morgan's law in the emulation
of the MIPS BC1ANY24F 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....

bed38e42 05/12/2012 03:17 pm Andreas Färber

target-mips: Remove commented-out function declaration

There is no function cpu_mips_get_clock(), so drop it.

Signed-off-by: Andreas Färber <>
Acked-by: Stefan Weil <>

b3412b09 05/03/2012 08:04 am Stefan Weil

target-mips: Remove unused inline function

Function set_HILO is not needed anywhere.

Signed-off-by: Stefan Weil <>

61d25e15 05/01/2012 12:27 pm Blue Swirl

Merge branch 'qom-cpu-rest.v1' of git://github.com/afaerber/qemu-cpu

  • 'qom-cpu-rest.v1' of git://github.com/afaerber/qemu-cpu:
    Makefile: Simplify compilation of target-*/cpu.c
    target-mips: Start QOM'ifying CPU init
    target-mips: QOM'ify CPU
    target-m68k: Add QOM CPU subclasses...
0f71a709 04/30/2012 12:32 pm Andreas Färber

target-mips: QOM'ify CPU

Embed CPUMIPSState as first member of QOM MIPSCPU.

Let CPUClass::reset() call cpu_state_reset() for now.

Signed-off-by: Andreas Färber <>
Reviewed-by: Richard Henderson <>

5b0c40f7 04/30/2012 12:32 pm Andreas Färber

target-mips: Start QOM'ifying CPU init

Move code not dependent on mips_def_t from cpu_mips_init() into a
QOM initfn, as a start.

Signed-off-by: Andreas Färber <>
Reviewed-by: Richard Henderson <>

dda3c2ee 04/28/2012 12:12 pm Andreas Färber

target-mips: Move definition of uint_fast{8, 16}_t to osdep.h

osdep.h is included via qemu-common.h.

Prepares for use of [u]int_fast*_t types in softfloat code.

Signed-off-by: Andreas Färber <>
Cc: Ben Taylor <>...

b69e48a8 04/15/2012 10:25 pm Stefan Weil

target-mips: Fix type cast for w64 (uintptr_t)

This changes nothing for other hosts.

Signed-off-by: Stefan Weil <>

20503968 04/14/2012 05:23 pm Blue Swirl

Use uintptr_t for various op related functions

Use uintptr_t instead of void * or unsigned long in
several op related functions, env->mem_io_pc and
GETPC macro.

Reviewed-by: Stefan Weil <>
Signed-off-by: Blue Swirl <>

5cbdb3a3 04/07/2012 05:00 pm Stefan Weil

Replace Qemu by QEMU in comments

The official spelling is QEMU.

Signed-off-by: Stefan Weil <>
Reviewed-by: Andreas Färber <>
[: fixed comment style in hw/sun4m.c]
Signed-off-by: Blue Swirl <>

6576b74b 04/07/2012 04:58 pm Stefan Weil

Replace Qemu by QEMU in internal documentation

The official spelling is QEMU.

Signed-off-by: Stefan Weil <>
Reviewed-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

59821ae8 03/24/2012 03:02 pm Stefan Weil

target-mips: Add compiler attribute to some functions which don't return

helper_raise_exception_err does not return, nor do helper_raise_exception
and do_unaligned_access.

Cc: Aurelien Jarno <>
Signed-off-by: Stefan Weil <>...

9349b4f9 03/14/2012 11:20 pm Andreas Färber

Rename CPUState -> CPUArchState

Scripted conversion:
for file in .[hc] hw/.[hc] hw/kvm/*.[hc] linux-user/*.[hc] linux-user/m68k/*.[hc] bsd-user/*.[hc] darwin-user/*.[hc] tcg/*/*.[hc] target-*/cpu.h; do
sed -i "s/CPUState/CPUArchState/g" $file
done...

7db13fae 03/14/2012 11:20 pm Andreas Färber

target-mips: Don't overuse CPUState

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: Andreas Färber <>
Acked-by: Anthony Liguori <>

1bba0dc9 03/14/2012 11:20 pm Andreas Färber

Rename cpu_reset() to cpu_state_reset()

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: Andreas Färber <>...

93148aa5 03/08/2012 05:22 pm Stefan Weil

Spelling fixes in comments (it's -> its)

  • it's -> its (fixed for all files)
  • dont -> don't (only fixed in a line which was touched by the previous fix)
  • distrub -> disturb (fixed in the same line)

Reviewed-by: Andreas Färber <>
Signed-off-by: Stefan Weil <>...

0056c093 02/28/2012 11:33 pm Stefan Weil

target-mips: Clean includes

Remove some include statements which are not needed.

Cc: Aurelien Jarno <>
Signed-off-by: Stefan Weil <>

e7d81004 12/14/2011 01:09 pm Stefan Weil

Fix spelling in comments, documentation and messages

accidently->accidentally
annother->another
choosen->chosen
consideres->considers
decriptor->descriptor
developement->development
paramter->parameter
preceed->precede
preceeding->preceding
priviledge->privilege...

4abf79a4 12/02/2011 12:50 pm Dong Xu Wang

fix spelling in target sub directory

Cc: Richard Henderson <>
Cc: Edgar E. Iglesias <>
Cc: Aurelien Jarno <>
Cc: Alexander Graf <>
Cc: Aurelien Jarno <>
Cc: Blue Swirl <>...

bccd9ec5 10/01/2011 12:31 pm Blue Swirl

softmmu_header: pass CPUState to tlb_fill

Pass CPUState pointer to tlb_fill() instead of architecture local
cpu_single_env hacks.

Signed-off-by: Blue Swirl <>

1dab005a 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Default to using one VPE and one TC.

Boards can override the setup if needed.

Signed-off-by: Edgar E. Iglesias <>

9e56e756 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Initialize MT state at reset

Only TC0 on VPE0 is active after reset. All other VPEs and
TCs start in sleep.

Signed-off-by: Edgar E. Iglesias <>

f249412c 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Add MT halting and waking of VPEs

+ some partial support for TC's.

Signed-off-by: Edgar E. Iglesias <>

344eecf6 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Support the MT TCStatus IXMT irq disable flag

Signed-off-by: Edgar E. Iglesias <>

b93bbdcd 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Handle TC indexing of other VPEs

Introduce mips_cpu_map_tc() to map a global TC index into a VPE nr
and local tc index.

Signed-off-by: Edgar E. Iglesias <>

fe8dca8c 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Synchronize CP0 TCSTatus, Status and EntryHi

These registers share some of their fields. Writes to these fields
should be visible through the corresponding mirror fields.

Signed-off-by: Edgar E. Iglesias <>

5a25ce94 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Hook in more reg accesses via mttr/mftr

Signed-off-by: Edgar E. Iglesias <>

bc45a67a 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Correct IntCtl write mask for VInt

Signed-off-by: Edgar E. Iglesias <>

e4280973 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Correct VInt vector generation

1. The pending need to pass the Status IM gating.
2. The priority is from seven (highest prio) down to zero.
QEMU was doing the opposite.

Signed-off-by: Edgar E. Iglesias <>

ded40088 09/06/2011 12:09 pm Edgar E. Iglesias

mips: Enable VInt interrupt mode for the 34Kf

Signed-off-by: Edgar E. Iglesias <>

7267c094 08/21/2011 07:01 am Anthony Liguori

Use glib memory allocation and free functions

qemu_malloc/qemu_free no longer exist after this commit.

Signed-off-by: Anthony Liguori <>

97b348e7 08/07/2011 12:32 pm Blue Swirl

Remove unused is_softmmu parameter from cpu_handle_mmu_fault

Parameter is_softmmu (and its evil mutant twin brother is_softmuu)
is not used in cpu_*_handle_mmu_fault() functions, remove them
and adjust callers.

Acked-by: Richard Henderson <>...

3e457172 07/30/2011 12:41 pm Blue Swirl

exec.h cleanup

Move softmmu_exec.h include directives from target-*/exec.h to
target-*/op_helper.c. Move also various other stuff only used in
op_helper.c there.

Define global env in dyngen-exec.h.

For i386, move wrappers for segment and FPU helpers from user-exec.c...

b14ef7c9 07/21/2011 12:28 am Blue Swirl

Fix unassigned memory access handling

cea5f9a28faa528b6b1b117c9ab2d8828f473fef exposed bugs in unassigned memory
access handling. Fix them by always passing CPUState to the handlers.

Reported-by: Hervé Poussineau <>
Signed-off-by: Blue Swirl <>

2b41f10e 06/26/2011 09:25 pm Blue Swirl

Remove exec-all.h include directives

Most exec-all.h include directives are now useless, remove them.

Signed-off-by: Blue Swirl <>

f081c76c 06/26/2011 09:25 pm Blue Swirl

Move cpu_has_work and cpu_pc_from_tb to cpu.h

Move functions cpu_has_work() and cpu_pc_from_tb() from exec.h to cpu.h. This is
needed by later patches.

Signed-off-by: Blue Swirl <>

f3e27037 06/26/2011 09:25 pm Blue Swirl

exec.h: fix coding style and change cpu_has_work to return bool

Before the next patch, fix coding style of the areas affected.

Change the type of the return value from cpu_has_work() and
qemu_cpu_has_work() to bool.

Signed-off-by: Blue Swirl <>