initially used by i386's Multiboot support but will be useful in other situations too (think refactoring mount(2)'s API).