On Sat, 3 Jun 2017, Stuart Longland wrote: > Now, on a single-processor MIPS64r2 VM, this same root filesystem works. > It won't work though for a 8-core I6400 system. If I try to run a SMP > MIPS64r2 VM, I get "unable to proceed without a CM", so clearly there is > a feature in the I6400 that doesn't exist in the MIPS64r2. Your userland likely requires the legacy NaN encoding (as specified by the IEEE 754-1985 floating point standard) whereas I6400 hardware only supports the 2008 NaN encoding (as specified by the IEEE 754-2008 floating point standard), as per the R6 architecture requirement. These encodings are incompatible with each other and all binaries are annotated in their ELF header as to which is required; use `readelf -h' and check `Flags:' for the presence of `nan2008' among the features reported. There are a couple of ways to move forward. First is rebuilding your userland for the 2008 NaN encoding. I'm sure someone already did it, but I don't have a pointer at hand. This might be the best option however. Second, since you're running on a simulator anyway, disabling the use of FPU hardware and using the Linux kernel FPU emulator should have little performance impact, although there surely be some for the Coprocessor Unusable exception handling overhead. The Linux kernel FPU emulator supports both NaN encodings at once, so any userland will work irrespectively of which NaN encoding it requires and produce correct results. Use the "nofpu" kernel parameter to activate this option. Finally, you might also ask the kernel to ignore the binary incompatibility and let binaries requiring the wrong NaN encoding run anyway. This will make IEEE 754 floating point produce incorrect results in the uncommon case of software relying on NaN arithmetic; it may crash for example. The vast majority of software does not rely on NaN arithmetic though. Use the "ieee754=relaxed" kernel parameter to activate this option. You can have a look at Documentation/admin-guide/kernel-parameters.txt in the kernel sources for some further discussion about these kernel parameters. These will have to be added to the QEMU's `-append' command line option. HTH, Maciej