qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] dff402: mips: Remove CONFIG_VT82C686 from non


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] dff402: mips: Remove CONFIG_VT82C686 from non-Fulong confi...
Date: Mon, 10 Nov 2014 07:00:09 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: dff4021730b112ca00522d4c98c24a15feeef5a0
      
https://github.com/qemu/qemu/commit/dff4021730b112ca00522d4c98c24a15feeef5a0
  Author: Maciej W. Rozycki <address@hidden>
  Date:   2014-11-07 (Fri, 07 Nov 2014)

  Changed paths:
    M default-configs/mips-softmmu.mak
    M default-configs/mips64-softmmu.mak
    M default-configs/mipsel-softmmu.mak

  Log Message:
  -----------
  mips: Remove CONFIG_VT82C686 from non-Fulong configs

Fix the regression introduced with commit
47934d0aadc075b05ce2d9e8a44fa6a46edd1afa [hw: move ISA bridges and
devices to hw/isa/, configure with default-configs/], by removing
CONFIG_VT82C686 from configurations that previously did not enable it.
That southbridge is only available on Fulong platforms (CONFIG_FULONG)
that are exclusively little-endian, 64-bit MIPS.  Previously vt82c686.o
was pulled explicitly with obj-$(CONFIG_FULONG).

Signed-off-by: Maciej W. Rozycki <address@hidden>
Reviewed-by: Leon Alrae <address@hidden>
Signed-off-by: Leon Alrae <address@hidden>


  Commit: 272f458dc8d860f30add3b6a3fff9ad9876aadc1
      
https://github.com/qemu/qemu/commit/272f458dc8d860f30add3b6a3fff9ad9876aadc1
  Author: Maciej W. Rozycki <address@hidden>
  Date:   2014-11-07 (Fri, 07 Nov 2014)

  Changed paths:
    M target-mips/translate.c

  Log Message:
  -----------
  mips: Respect CP0.Status.CU1 for microMIPS FP branches

Make microMIPS FP branches respect CP0.Status.CU1 and trap with a
Coprocessor Unusable exception if COP1 has been disabled; also trap if
no FPU is present at all.

Standard MIPS FP instruction encodings have a more regular structure and
branches are covered with a single umbrella along other instructions.
This is not the case with the microMIPS encoding, this case has to be
taken care of explicitly here.  Code to do so has been copied from the
standard MIPS code handler for OPC_CP1, in `decode_opc'.

Problems arising from this bug will generally only show up on user
context switches in operating systems making use of lazy FP context
switches, such as Linux.  It will also more readily trigger if software
FPU emulation is used, either implicitly on a non-float CPU, or forced
on a hard-float CPU such as with the "nofpu" Linux kernel command line
argument.

The problem may have been easily missed because we have no hard-float
microMIPS CPU configuration present; in fact we have no microMIPS CPU
configuration of any kind present.

Signed-off-by: Maciej W. Rozycki <address@hidden>
Reviewed-by: Leon Alrae <address@hidden>
Signed-off-by: Leon Alrae <address@hidden>


  Commit: 70409e6726aa6ece565c8732f6c5cb5cd5879716
      
https://github.com/qemu/qemu/commit/70409e6726aa6ece565c8732f6c5cb5cd5879716
  Author: Maciej W. Rozycki <address@hidden>
  Date:   2014-11-07 (Fri, 07 Nov 2014)

  Changed paths:
    M target-mips/cpu.h

  Log Message:
  -----------
  mips: Add macros for CP0.Config3 and CP0.Config4 bits

Define macros for CP0.Config3 and CP0.Config4 bits.  These used to be
exhaustive as at MIPS32r3, but more bits may have been added since.

Signed-off-by: Maciej W. Rozycki <address@hidden>
Signed-off-by: Leon Alrae <address@hidden>


  Commit: e30614d51780f27c53b196da793c3fb89f1f620f
      
https://github.com/qemu/qemu/commit/e30614d51780f27c53b196da793c3fb89f1f620f
  Author: Maciej W. Rozycki <address@hidden>
  Date:   2014-11-07 (Fri, 07 Nov 2014)

  Changed paths:
    M target-mips/translate_init.c

  Log Message:
  -----------
  mips: Set the CP0.Config3.DSP and CP0.Config3.DSP2P bits

Set the CP0.Config3.DSP2P bit for the 74kf processor and both that bit
and the CP0.Config3.DSP bit for the artificial mips32r5-generic and
mips64dspr2 processors.  They have the DSPr2 ASE enabled in `insn_flags'
and CPUs that implement that ASE need to have both CP0.Config3.DSP and
CP0.Config3.DSP2P set or software won't detect its presence.

Signed-off-by: Maciej W. Rozycki <address@hidden>
Reviewed-by: Leon Alrae <address@hidden>
address@hidden: remove DSP flags from mips32r5-generic]
Signed-off-by: Leon Alrae <address@hidden>


  Commit: 854795753c6efceda1d172851e2bae4b47a492be
      
https://github.com/qemu/qemu/commit/854795753c6efceda1d172851e2bae4b47a492be
  Author: Leon Alrae <address@hidden>
  Date:   2014-11-07 (Fri, 07 Nov 2014)

  Changed paths:
    M target-mips/translate.c

  Log Message:
  -----------
  target-mips: fix for missing delay slot in BC1EQZ and BC1NEZ

New R6 COP1 conditional branches currently don't have delay slot. Fixing this
by setting MIPS_HFLAG_BDS32 flag which is required for branches having 4-byte
delay slot.

Signed-off-by: Leon Alrae <address@hidden>
Reviewed-by: Yongbok Kim <address@hidden>


  Commit: 342368aff7d61a32b5853068b92039a2b15507c5
      
https://github.com/qemu/qemu/commit/342368aff7d61a32b5853068b92039a2b15507c5
  Author: Maciej W. Rozycki <address@hidden>
  Date:   2014-11-07 (Fri, 07 Nov 2014)

  Changed paths:
    M target-mips/translate.c

  Log Message:
  -----------
  mips: Ensure PC update with MTC0 single-stepping

Correct the way PC is updated when single-stepping instructions, by
keeping the old PC only for the BS_EXCP (exception condition) state.

Some MTC0 (and possibly other) instructions switch to the BS_STOP state
to terminate the current translation block, so that the state transition
of the simulated CPU resulting from the CP0 operation takes effect with
the following instruction.  This happens with `mtc0 <reg>,c0_config' for
example, typically used to set KSEG0 cacheability.

While single-stepping this has a side-effect of not advancing the PC
past the instruction just executed; subsequent single-step traps will
stop at the same instruction repeatedly.  Example:

(gdb) stepi
0x80004d24 in _start ()
5: x/i $pc
=> 0x80004d24 <_start+364>:     mfc0    t1,c0_config
(gdb)
0x80004d28 in _start ()
5: x/i $pc
=> 0x80004d28 <_start+368>:     li      at,-8
(gdb)
0x80004d2c in _start ()
5: x/i $pc
=> 0x80004d2c <_start+372>:     and     t1,t1,at
(gdb)
0x80004d30 in _start ()
5: x/i $pc
=> 0x80004d30 <_start+376>:     ori     t1,t1,0x3
(gdb)
0x80004d34 in _start ()
5: x/i $pc
=> 0x80004d34 <_start+380>:     mtc0    t1,c0_config
(gdb)
0x80004d34 in _start ()
5: x/i $pc
=> 0x80004d34 <_start+380>:     mtc0    t1,c0_config
(gdb)
0x80004d34 in _start ()
5: x/i $pc
=> 0x80004d34 <_start+380>:     mtc0    t1,c0_config
(gdb)
0x80004d34 in _start ()
5: x/i $pc
=> 0x80004d34 <_start+380>:     mtc0    t1,c0_config
(gdb)

-- oops!

Signed-off-by: Maciej W. Rozycki <address@hidden>
Reviewed-by: Leon Alrae <address@hidden>
Signed-off-by: Leon Alrae <address@hidden>


  Commit: cb269f273fdbdb26ddb1cba4a0fe2249418a8e77
      
https://github.com/qemu/qemu/commit/cb269f273fdbdb26ddb1cba4a0fe2249418a8e77
  Author: Yongbok Kim <address@hidden>
  Date:   2014-11-07 (Fri, 07 Nov 2014)

  Changed paths:
    M target-mips/translate.c

  Log Message:
  -----------
  target-mips: fix multiple TCG registers covering same data

Avoid to allocate different TCG registers for the FPU registers
that are mapped on the MSA vectore registers.

Signed-off-by: Yongbok Kim <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Leon Alrae <address@hidden>


  Commit: 2d9177588bde9881c6602284d1b0b08e4dfe361e
      
https://github.com/qemu/qemu/commit/2d9177588bde9881c6602284d1b0b08e4dfe361e
  Author: Peter Maydell <address@hidden>
  Date:   2014-11-10 (Mon, 10 Nov 2014)

  Changed paths:
    M default-configs/mips-softmmu.mak
    M default-configs/mips64-softmmu.mak
    M default-configs/mipsel-softmmu.mak
    M target-mips/cpu.h
    M target-mips/translate.c
    M target-mips/translate_init.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/lalrae/tags/mips-20141107' into staging

* remotes/lalrae/tags/mips-20141107:
  target-mips: fix multiple TCG registers covering same data
  mips: Ensure PC update with MTC0 single-stepping
  target-mips: fix for missing delay slot in BC1EQZ and BC1NEZ
  mips: Set the CP0.Config3.DSP and CP0.Config3.DSP2P bits
  mips: Add macros for CP0.Config3 and CP0.Config4 bits
  mips: Respect CP0.Status.CU1 for microMIPS FP branches
  mips: Remove CONFIG_VT82C686 from non-Fulong configs

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/7b4b7c5fc7f2...2d9177588bde

reply via email to

[Prev in Thread] Current Thread [Next in Thread]