diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2016-01-25 10:42:51 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2016-01-25 10:42:52 +0000 |
commit | 6ee06cc3dc7e8eb238e2f60cfd04f094d5c6b948 (patch) | |
tree | 18098d760b4dc45db33e2bc29a191df5b68faea2 | |
parent | 047e363b05679724d6b784c6ec6310697fe48ba0 (diff) | |
parent | c684822ad29968af09735148f03a511bc514589d (diff) |
Merge remote-tracking branch 'remotes/lalrae/tags/mips-20160125' into staging
MIPS patches 2016-01-25
Changes:
* fixes and includes clean-up
# gpg: Signature made Mon 25 Jan 2016 09:29:51 GMT using RSA key ID 0B29DA6B
# gpg: Good signature from "Leon Alrae <leon.alrae@imgtec.com>"
* remotes/lalrae/tags/mips-20160125:
mips: Clean up includes
target-mips: Fix ALIGN instruction when bp=0
target-mips: silence NaNs for cvt.s.d and cvt.d.s
target-mips/cpu.h: Fix spell error
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | disas/mips.c | 1 | ||||
-rw-r--r-- | hw/mips/addr.c | 1 | ||||
-rw-r--r-- | hw/mips/cputimer.c | 1 | ||||
-rw-r--r-- | hw/mips/gt64xxx_pci.c | 1 | ||||
-rw-r--r-- | hw/mips/mips_fulong2e.c | 1 | ||||
-rw-r--r-- | hw/mips/mips_int.c | 1 | ||||
-rw-r--r-- | hw/mips/mips_jazz.c | 1 | ||||
-rw-r--r-- | hw/mips/mips_malta.c | 1 | ||||
-rw-r--r-- | hw/mips/mips_mipssim.c | 1 | ||||
-rw-r--r-- | hw/mips/mips_r4k.c | 1 | ||||
-rw-r--r-- | target-mips/cpu.c | 1 | ||||
-rw-r--r-- | target-mips/cpu.h | 2 | ||||
-rw-r--r-- | target-mips/dsp_helper.c | 1 | ||||
-rw-r--r-- | target-mips/gdbstub.c | 2 | ||||
-rw-r--r-- | target-mips/helper.c | 6 | ||||
-rw-r--r-- | target-mips/kvm.c | 2 | ||||
-rw-r--r-- | target-mips/lmi_helper.c | 1 | ||||
-rw-r--r-- | target-mips/machine.c | 1 | ||||
-rw-r--r-- | target-mips/mips-semi.c | 2 | ||||
-rw-r--r-- | target-mips/msa_helper.c | 1 | ||||
-rw-r--r-- | target-mips/op_helper.c | 4 | ||||
-rw-r--r-- | target-mips/translate.c | 12 |
22 files changed, 34 insertions, 11 deletions
diff --git a/disas/mips.c b/disas/mips.c index bf0bbaf86a..0e488d8578 100644 --- a/disas/mips.c +++ b/disas/mips.c @@ -19,6 +19,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. */ +#include "qemu/osdep.h" #include "disas/bfd.h" /* mips.h. Mips opcode list for GDB, the GNU debugger. diff --git a/hw/mips/addr.c b/hw/mips/addr.c index ff3b952600..e4e86b4a75 100644 --- a/hw/mips/addr.c +++ b/hw/mips/addr.c @@ -20,6 +20,7 @@ * THE SOFTWARE. */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/mips/cpudevs.h" diff --git a/hw/mips/cputimer.c b/hw/mips/cputimer.c index f046588ada..efb227d06e 100644 --- a/hw/mips/cputimer.c +++ b/hw/mips/cputimer.c @@ -20,6 +20,7 @@ * THE SOFTWARE. */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/mips/cpudevs.h" #include "qemu/timer.h" diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c index c1f3c9c3e9..3f4523df22 100644 --- a/hw/mips/gt64xxx_pci.c +++ b/hw/mips/gt64xxx_pci.c @@ -22,6 +22,7 @@ * THE SOFTWARE. */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/mips/mips.h" #include "hw/pci/pci.h" diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c index 5988a88c0b..6748d89478 100644 --- a/hw/mips/mips_fulong2e.c +++ b/hw/mips/mips_fulong2e.c @@ -18,6 +18,7 @@ * http://www.loongsondeveloper.com/doc/Loongson2EUserGuide.pdf */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/i386/pc.h" #include "hw/char/serial.h" diff --git a/hw/mips/mips_int.c b/hw/mips/mips_int.c index d740046ba1..59081f9d1e 100644 --- a/hw/mips/mips_int.c +++ b/hw/mips/mips_int.c @@ -20,6 +20,7 @@ * THE SOFTWARE. */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/mips/cpudevs.h" #include "cpu.h" diff --git a/hw/mips/mips_jazz.c b/hw/mips/mips_jazz.c index 1cfbaa605a..62527fdbe8 100644 --- a/hw/mips/mips_jazz.c +++ b/hw/mips/mips_jazz.c @@ -22,6 +22,7 @@ * THE SOFTWARE. */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/mips/mips.h" #include "hw/mips/cpudevs.h" diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index 91c36baa55..c5da83fde8 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -22,6 +22,7 @@ * THE SOFTWARE. */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/i386/pc.h" #include "hw/char/serial.h" diff --git a/hw/mips/mips_mipssim.c b/hw/mips/mips_mipssim.c index 23b35bea21..8951ae97d3 100644 --- a/hw/mips/mips_mipssim.c +++ b/hw/mips/mips_mipssim.c @@ -24,6 +24,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/mips/mips.h" #include "hw/mips/cpudevs.h" diff --git a/hw/mips/mips_r4k.c b/hw/mips/mips_r4k.c index 2d4e038673..b6625aeee4 100644 --- a/hw/mips/mips_r4k.c +++ b/hw/mips/mips_r4k.c @@ -7,6 +7,7 @@ * All peripherial devices are attached to this "bus" with * the standard PC ISA addresses. */ +#include "qemu/osdep.h" #include "hw/hw.h" #include "hw/mips/mips.h" #include "hw/mips/cpudevs.h" diff --git a/target-mips/cpu.c b/target-mips/cpu.c index 639a24b362..0b3f130cf2 100644 --- a/target-mips/cpu.c +++ b/target-mips/cpu.c @@ -18,6 +18,7 @@ * <http://www.gnu.org/licenses/lgpl-2.1.html> */ +#include "qemu/osdep.h" #include "cpu.h" #include "kvm_mips.h" #include "qemu-common.h" diff --git a/target-mips/cpu.h b/target-mips/cpu.h index 89c01f7a38..17817c3c57 100644 --- a/target-mips/cpu.h +++ b/target-mips/cpu.h @@ -358,7 +358,7 @@ struct CPUMIPSState { #define CP0St_IE 0 int32_t CP0_IntCtl; #define CP0IntCtl_IPTI 29 -#define CP0IntCtl_IPPC1 26 +#define CP0IntCtl_IPPCI 26 #define CP0IntCtl_VS 5 int32_t CP0_SRSCtl; #define CP0SRSCtl_HSS 26 diff --git a/target-mips/dsp_helper.c b/target-mips/dsp_helper.c index 46528de325..df7d2204b0 100644 --- a/target-mips/dsp_helper.c +++ b/target-mips/dsp_helper.c @@ -17,6 +17,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ +#include "qemu/osdep.h" #include "cpu.h" #include "exec/helper-proto.h" #include "qemu/bitops.h" diff --git a/target-mips/gdbstub.c b/target-mips/gdbstub.c index 9845d880ae..b0b4a32ec0 100644 --- a/target-mips/gdbstub.c +++ b/target-mips/gdbstub.c @@ -17,7 +17,7 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" +#include "qemu/osdep.h" #include "qemu-common.h" #include "exec/gdbstub.h" diff --git a/target-mips/helper.c b/target-mips/helper.c index 118072a9e7..f9c4c11eb9 100644 --- a/target-mips/helper.c +++ b/target-mips/helper.c @@ -16,11 +16,7 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ -#include <stdarg.h> -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <inttypes.h> +#include "qemu/osdep.h" #include "cpu.h" #include "sysemu/kvm.h" diff --git a/target-mips/kvm.c b/target-mips/kvm.c index ffc120d716..a8b8b32c26 100644 --- a/target-mips/kvm.c +++ b/target-mips/kvm.c @@ -9,7 +9,7 @@ * Authors: Sanjay Lal <sanjayl@kymasys.com> */ -#include <sys/types.h> +#include "qemu/osdep.h" #include <sys/ioctl.h> #include <sys/mman.h> diff --git a/target-mips/lmi_helper.c b/target-mips/lmi_helper.c index bbfcd59cdb..fb1245b39d 100644 --- a/target-mips/lmi_helper.c +++ b/target-mips/lmi_helper.c @@ -17,6 +17,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ +#include "qemu/osdep.h" #include "cpu.h" #include "exec/helper-proto.h" diff --git a/target-mips/machine.c b/target-mips/machine.c index b15c43a107..737f3c2f58 100644 --- a/target-mips/machine.c +++ b/target-mips/machine.c @@ -1,3 +1,4 @@ +#include "qemu/osdep.h" #include "hw/hw.h" #include "cpu.h" diff --git a/target-mips/mips-semi.c b/target-mips/mips-semi.c index 5050940c20..ed235de99d 100644 --- a/target-mips/mips-semi.c +++ b/target-mips/mips-semi.c @@ -17,7 +17,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ -#include <sys/stat.h> +#include "qemu/osdep.h" #include "cpu.h" #include "exec/helper-proto.h" #include "exec/softmmu-semi.h" diff --git a/target-mips/msa_helper.c b/target-mips/msa_helper.c index b8e2917e5e..654a0d2728 100644 --- a/target-mips/msa_helper.c +++ b/target-mips/msa_helper.c @@ -17,6 +17,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ +#include "qemu/osdep.h" #include "cpu.h" #include "exec/helper-proto.h" diff --git a/target-mips/op_helper.c b/target-mips/op_helper.c index d2c98c9688..684ec92c12 100644 --- a/target-mips/op_helper.c +++ b/target-mips/op_helper.c @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ -#include <stdlib.h> +#include "qemu/osdep.h" #include "cpu.h" #include "qemu/host-utils.h" #include "exec/helper-proto.h" @@ -2545,6 +2545,7 @@ uint64_t helper_float_cvtd_s(CPUMIPSState *env, uint32_t fst0) uint64_t fdt2; fdt2 = float32_to_float64(fst0, &env->active_fpu.fp_status); + fdt2 = float64_maybe_silence_nan(fdt2); update_fcr31(env, GETPC()); return fdt2; } @@ -2634,6 +2635,7 @@ uint32_t helper_float_cvts_d(CPUMIPSState *env, uint64_t fdt0) uint32_t fst2; fst2 = float64_to_float32(fdt0, &env->active_fpu.fp_status); + fst2 = float32_maybe_silence_nan(fst2); update_fcr31(env, GETPC()); return fst2; } diff --git a/target-mips/translate.c b/target-mips/translate.c index 56266471c1..383d4b5118 100644 --- a/target-mips/translate.c +++ b/target-mips/translate.c @@ -21,6 +21,7 @@ * License along with this library; if not, see <http://www.gnu.org/licenses/>. */ +#include "qemu/osdep.h" #include "cpu.h" #include "disas/disas.h" #include "tcg-op.h" @@ -4630,7 +4631,16 @@ static void gen_align(DisasContext *ctx, int opc, int rd, int rs, int rt, t0 = tcg_temp_new(); gen_load_gpr(t0, rt); if (bp == 0) { - tcg_gen_mov_tl(cpu_gpr[rd], t0); + switch (opc) { + case OPC_ALIGN: + tcg_gen_ext32s_tl(cpu_gpr[rd], t0); + break; +#if defined(TARGET_MIPS64) + case OPC_DALIGN: + tcg_gen_mov_tl(cpu_gpr[rd], t0); + break; +#endif + } } else { TCGv t1 = tcg_temp_new(); gen_load_gpr(t1, rs); |