Todo List

The list below gives an overview of some missing features in the current MIPS port. This list is far from being completed. If you want to undertake one of these items (or perhaps all of them), don't hesitate to ask on the linux-mips mailing list the status or clarification of the point you're interested in.

syscall return code

MIPS needs an implementation of force_successful_syscall_return() to handle a few corner cases.

Virtual alias handling

In include/linux/highmem.h, the non-definition of ARCH_HAS_FLUSH_KERNEL_DCACHE_PAGE leads to the use of broken default functions, which break XFS on non-coherent CPUs with aliases, amongst other things.

Prefetch handling

Prefetching needs to know the cache line size to be effective. Right now, RDHWR $reg, $ only gives access to the stride size to be used for SYNCI, which may be a different value than the number to be used for prefetching. And with PrepareForStore, you better get that right or ...
We may also take a fresh look at if we can safely implement cachectl(2), not necessarily as originally defined by Risc/OS or IRIX but with more control over available cache modes.

Kexec

Something like kexec /mnt/kernels/rescue/vmlinux --initrd=/mnt/initrds/rescue but --initrd seems not to be implemented for MIPS.

kexec: add kexec jump support

BPF JIT

BPF code is normally interpreted. Significant performance advantage can be obtained by compiling it into native machine code.

EDAC Drivers

Many systems support parity or ECC checking or even error correction for some of their busses, caches or other components. The Linux EDAC subsystem provided an infrastructure and drivers to use these facilities.