This is an old revision of the document!
FreeBSD/mips TODO
| Item | Status | Contact |
| super pages for MIPS | Planning stages | WarnerLosh |
| Create mips binutils port in /usr/ports | Preliminary work done, needs more testing and integration | WarnerLosh |
| Create mips gcc port in /usr/ports | Started, doesn't work yet, issues with building libgcc as part of the port | WarnerLosh |
| Enable external tools more easily | Some support for external toolchain in tree, due to clang work, more work needed to expand that work to include binutils | WarnerLosh |
| Finish au1xxx port | Initial port in tree, much work is needed. NetBSD code could be a good base | WarnerLosh |
| Cleanup CPU_xxx usage in the tree | Almost all CPUs are configured as CPU_MIPS4k, which is wrong. They should migrate to the appropriate CPU_xxx (CNMIPS64, MIPS24K, etc). | WarnerLosh |
| QEMU with NIC support | There's only limited support for qemu with a NIC in the tree right now. This needs to be well tested so we can create 'virtual machines' running on fast x86 processors for easier development | WarnerLosh |
| uboot support for executive callbacks for /boot/loader | planning stages | WarnerLosh |
| A POW-only network interface on Octeon. | Planning stages | JuliMallett |
| Improved binutils in the base to compile /rescue properly | Likely needs to move binutils to 2.17 or 2.17.50.0.17 (last gplv2 of the redhat binutils fork | WarnerLosh |
| Support for the longsoon2 | wish list item | WarnerLosh |
| Mips16 support | wish list itme | WarnerLosh |
| Multilib build support | Need to hack the FreeBSD build system to allow for multilibs to be built and installed in the right place for o32, n32 and n64 | WarnerLosh |
| Add support for controlling switches attached to PHY | wish list item, generally true for all embedded work | WarnerLosh |
| Adopt the flattened device tree stuff to the MIPS platform | wish list item, work in progress on other platforms | WarnerLosh |
| Flash file system | wish list item, generally needed for embedded platforms | WarnerLosh |
| Shrink the mips kernel | Kernel is kinda beefy right now, need to shrink it down a bit | WarnerLosh |
| Push FreeBSD gcc changes for mips upstream | wish list item | WarnerLosh |
| Push FreeBSD binutils changes for mips upstream | wish list item | WarnerLosh |
| Push FreeBSD gcc changes for mips upstream | wish list item | WarnerLosh |
| PCI bus enumeration improvements | wish list item: freebsd needs to be able to allocate memory for PCI busses more generically. Also I/O space as well as bus numbering. Very important to embedded systems with no PCIBIOS and firmware that does not configure PCI resources optimally. | WarnerLosh JuliMallett |
| NanoBSD configuration for the RouterStation or similar device | wish list item | WarnerLosh |
| FreeBSD /usr/port of Cavium's pci booting tools so we can put cavium offload boards into x86 boxes and debug that way | wish list item | WarnerLosh |
| Provide better separation between SoC, CPU and board | preliminary doodles posted, but really need someone to drive this. NetBSD has a std.foo hierarchy that seems to work well. We should look at adopting it not only for FreeBSD/mips, but all platforms. | WarnerLosh |
| AR71xx CPUs need workaround for AR5212-based cards | committed | WarnerLosh |
| USB stack needs better awareness for cache-line size | hacks for one SoC published, but a more general solution is needed | WarnerLosh |
| Better support for threads for CPUs with thread support | sched_ule is better about threads and locality than sched_bsd, but other parts of the system need better thread awareness and support. Efficient use of the threading units needs to improve. | WarnerLosh |
| Add support for Octeon as a PCI bus device | wish list item | WarnerLosh |
| Launch simple executive images from FreeBSD on Octeon | wish list item | WarnerLosh |
| Build the kernel on Linux | wish list item. Also, this one is a general item for FreeBSD | WarnerLosh |
| Add support for processors with custom CP2 co-processors | Wish list item. Here we need to treat CP2 like we treat floating point and do lazy save/restore of these registers once the process has touched the CP2. | OleksandrTymoshenko |
| Flesh out support for hard floating point. Add support for doing lazy FPU register saving. | Wish list item | WarnerLosh |
| Extend COMPAT_FREEBSD32 to support emulating both n32 and o32 on n64 kernels. | Wish List item | WarnerLosh |
Pick one and code.