Warner Losh is a sometimes member of the core team of FreeBSD, but don't hold it against him. He's mostly harmless at all parties where everclear and fire are not present.
When he's not experimenting with giant flame ball creation with everclear, Warner can be found hacking on FreeBSD/mips, FreeBSD/arm and other embedded things.
You may wish to visit my hacking blog for other cool, or not, things.
Warner's Crazy Ideas for Projects
These are ideas I've had for projects. Help yourself, though it would be nice to contact me if you are working on one of them.
- Rework Loader's md so that it needn't be compiled in. Either through a command line arg, or added elf section or, for compat, compiled in. It would be cool if we could add a MD to a specific loader (like loader.efi, or loader.kboot).
- Reworking config(8) to spit out its data as UCL so we can maybe start config.lua to replace it with better config language.
- generate loader's conf.c from a config file.
Add ability to download a chain of reviews from phabricator with git arc patch -r D1234 (-r is recursive, but I'm easy)
- Add priority boost to a driver. Have a tuneable / sysctl that lets you say "iwl:-3" or "iwl:+5" which will make iwl a little less (or more) likely to attach to a device that another device might have matched. This is used for breaking ties and dynamically selecting driver winners for things like wifi where two or more drivers could drive things
- Teach camcontrol and nvmecontrol libxo
- Create an installboot program that knows how to install all the different boot stuff there is
- Write hints glue for my devmasq code which allows one to say treat a found pnp device id as something else that we already have a driver for.
- Finish camio
- Finish libification of syscall stuff and use it to create a new qemu bsd-user (after maybe augmenting the current syscalls.conf for missing data needed to do all of that).
- Add net support to loader.kboot
- Bring in bits of musl related to socket system calls, defines and structs -- contact me if interested
- Add https support to loader.kboot
- generalize protocol handlers in the boot loader so the above two tasks are easier.
- add FDT lua bindings to boot loader
- add pci lua bindings to boot loader
- export pci complex
- Have ways to look at vendor/product and subvendor/subproduct as well as IF and other config vars
- add ACPI lua bindings to loader
- Add UEFI lua bindings to loader
- Add linker.hints lua bindings to loader?
- Add auto load based on pnp using LUA script maybe?
- hack ofwdump to produce dts output
- or hack our in-tree dtc compiler to grok the ioctl interface of /dev/openfirm
- or hack together a read-only interface that can read the data as a dtb (eg /dev/openfirm.dtb)
- Complete files.x86 to have all the common i386/amd64 stuff that only runs there and nowhere else.
- Add vmm(4) support to QEMU
- nvmecontrol ns needs to be documented in the manual
- nvme kernel interface that's linux compatible
- add new nvme 2.0 logpages to to nvmecontrol
- and nvme-cli compatible command line options to nvmecontrol
- nvme-cli port
- Need an effective 'build on install' method to allow pkg for kernel modules
- Need a way to build for a specific release for things like kernel modules
- ZFS features supported by the boot loader: Integrate that with the zpool upgrade stuff to add a 'sanity check' to make sure we can support the upgrade with the installed boot blocks. This needs a lot of work.
- Need help with a github landing script
- Need help with phabricator landing script
- Need help with src parts of bugzilla landing script
- Rework geli to only allocate 64 or 128k chunks of memory to deal with ZFS choosing 138k as the ideal size to use. This would eliminate issues there.
- Create a framework to have 'allocation free' I/O stack. In this scheme, all the memory for the I/O is allocated at the top of the stack, rather than a little bit at each layer. This will make things more robust against deadlock in low memory situations.
- Enhance the boot loader to allow loading the user to ask for a module unconditionally, but only load it if it isn't in the kernel.
- Enhance the boot loader to use the devinfo/devmatch/linker.hints information with PCI. We already have it for FDT.
- Enhance the boot loader to automatically load the .ko we need for the root filesystem.
Enhance /sys/ emulation for programs witten for Linux that expect this information. This is an infinite project
- gstat with autoscale mode for bandwidth. So rather than in kBps, we have xBps and report 4 sig figs: 1.234M 12.34G 123.4k etc