xqemu/target-mips
Leon Alrae ba5c79f262 target-mips: indicate presence of IEEE 754-2008 FPU in R6/R5+MSA CPUs
MIPS Release 6 and MIPS SIMD Architecture make it mandatory to have IEEE
754-2008 FPU which is indicated by CP1 FIR.HAS2008, FCSR.ABS2008 and
FCSR.NAN2008 bits set to 1.

In QEMU we still keep these bits cleared as there is no 2008-NaN support.
However, this now causes problems preventing from running R6 Linux with
the v4.5 kernel. Kernel refuses to execute 2008-NaN ELFs on a CPU
whose FPU does not support 2008-NaN encoding:

  (...)
  VFS: Mounted root (ext4 filesystem) readonly on device 8:0.
  devtmpfs: mounted
  Freeing unused kernel memory: 256K (ffffffff806f0000 - ffffffff80730000)
  request_module: runaway loop modprobe binfmt-464c
  Starting init: /sbin/init exists but couldn't execute it (error -8)
  request_module: runaway loop modprobe binfmt-464c
  Starting init: /bin/sh exists but couldn't execute it (error -8)
  Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.

Therefore always indicate presence of 2008-NaN support in R6 as well as in
R5+MSA CPUs, even though this feature is not yet supported by MIPS in QEMU.

Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
2016-03-23 13:36:55 +00:00
..
Makefile.objs target-mips: add Unified Hosting Interface (UHI) support 2015-06-26 09:08:50 +01:00
TODO target-mips: Change TODO file 2012-10-31 21:37:24 +01:00
cpu-qom.h target-mips: replace cpu_save/cpu_load with VMStateDescription 2015-03-11 14:13:57 +00:00
cpu.c target-mips: implement R6 multi-threading 2016-02-26 08:59:17 +00:00
cpu.h target-mips: indicate presence of IEEE 754-2008 FPU in R6/R5+MSA CPUs 2016-03-23 13:36:55 +00:00
dsp_helper.c mips: Clean up includes 2016-01-23 14:30:04 +00:00
gdbstub.c mips: Clean up includes 2016-01-23 14:30:04 +00:00
helper.c log: do not unnecessarily include qom/cpu.h 2016-02-03 09:19:10 +00:00
helper.h target-mips: implement R6 multi-threading 2016-02-26 08:59:17 +00:00
kvm.c mips/kvm: Support MSA in MIPS KVM guests 2016-02-26 08:59:17 +00:00
kvm_mips.h target-mips: kvm: Add main KVM support for MIPS 2014-06-18 16:58:52 +02:00
lmi_helper.c mips: Clean up includes 2016-01-23 14:30:04 +00:00
machine.c mips: Clean up includes 2016-01-23 14:30:04 +00:00
mips-defs.h target-mips: fix MIPS64R6-generic configuration 2015-07-15 14:07:10 +01:00
mips-semi.c mips: Clean up includes 2016-01-23 14:30:04 +00:00
msa_helper.c mips: Clean up includes 2016-01-23 14:30:04 +00:00
op_helper.c target-mips: implement R6 multi-threading 2016-02-26 08:59:17 +00:00
translate.c target-mips: indicate presence of IEEE 754-2008 FPU in R6/R5+MSA CPUs 2016-03-23 13:36:55 +00:00
translate_init.c target-mips: indicate presence of IEEE 754-2008 FPU in R6/R5+MSA CPUs 2016-03-23 13:36:55 +00:00