The OpenBSD bootloader provides many features. It provides a decent way to obtain boot arguments; will load ELF kernel files; and will probe somethings for you. It probes memory and passes a fairly easy to follow memory map(that can be changed by the user manually at boot). It passes disk and com-port info, along with a few other things.
The only bad part about using the OpenBSD bootloader really is that it is has not been ported to any FS but FFS and FFS2. There are both i386 and amd64 version of the bootloader. I will be discussing the i386 version, though most of this should be shared with amd64.