Ok, i think this all looks pretty realistic - but there's quite a bit of layering on top of pending changes in the x86 and irq trees. We could do this on top of those topic branches in -tip, and rebase in the merge window. Or delay it to .32.

... plus i think we are _very_ close to being able to remove all of bootmem on x86 (with some compatibility/migration mechanism in place). Which bootmem calls do we have before kmalloc init with Pekka's patch applied? I think it's mostly the page table init code.

( beyond the page allocator internal use - where we could use straight e820 based APIs that clip memory off from the beginning of existing e820 RAM ranges - enriched with NUMA/SRAT locality info. )