MIPS64/Known Issues: Difference between revisions
No edit summary |
No edit summary |
||
Line 8: | Line 8: | ||
The MIPS64 port is soft-float, because many of the CPUs we are targeting have broken FPUs. This causes problems with math applications, such as those dependent on OpenBLAS. Similarly, binaries that are compiled with <code>-mhard-float</code> can't be linked on Alpine MIPS64. We may do a hard-float port later. | The MIPS64 port is soft-float, because many of the CPUs we are targeting have broken FPUs. This causes problems with math applications, such as those dependent on OpenBLAS. Similarly, binaries that are compiled with <code>-mhard-float</code> can't be linked on Alpine MIPS64. We may do a hard-float port later. | ||
== Go == | |||
Go itself works fine on MIPS64, but many libraries which make syscalls directly either assume that MIPS environments are 32-bit or do not have code for making syscalls on MIPS at all. As such, many Go packages are presently blocked on MIPS64. The solution is to fix the Go libraries, unfortunately Go does not make this easy to do. |
Revision as of 16:16, 8 April 2020
Run from RAM
At present, not much work has been done on run from RAM, because many of the Octeon boards do not have named memory blocks support, which is necessary to use an initramfs under Cavium Executive.
For those which do support named memory blocks, you can load an initramfs into one and then specify it as rd_name=initramfs
on the kernel command line.
Floating Point
The MIPS64 port is soft-float, because many of the CPUs we are targeting have broken FPUs. This causes problems with math applications, such as those dependent on OpenBLAS. Similarly, binaries that are compiled with -mhard-float
can't be linked on Alpine MIPS64. We may do a hard-float port later.
Go
Go itself works fine on MIPS64, but many libraries which make syscalls directly either assume that MIPS environments are 32-bit or do not have code for making syscalls on MIPS at all. As such, many Go packages are presently blocked on MIPS64. The solution is to fix the Go libraries, unfortunately Go does not make this easy to do.