rumprun rototill more or less complete

  • From: Antti Kantee <pooka@xxxxxx>
  • To: rumpkernel-users <rumpkernel-users@xxxxxxxxxxxxx>
  • Date: Tue, 21 Apr 2015 13:10:16 +0000

Hi,

I've finally more or less finished unifying the rumprun platforms -- I think I started talking about it maybe 6 months ago, so it took a while. The last unified bit was the scheduler, which was a surprising amount of work considering everything had derived from the same Mini-OS code.

You can observe how empty the rumprun/platform/* directories are now. Support for new hypervisors can now more or less be added by implementing the bmk_platform_*() group of functions and of course guest bootstrap code for that particular hypervisor. The rest of the platform-specific bits have to do with accessing the I/O device infrastructure offered by a given platform; mostly implemented by the non-shared rumpuser_*() interfaces.

There's still some minor cleanup left, such as killing the remaining layering violations, organizing the platform specific code into different subdirectories based on their layers, and limiting header visibility. However, those are minor safeguard things, and don't really affect development the same way as having to edit multiple slightly differently copypasted versions of the same code. In other words, maybe I can finally have some fun around here again.

Please send an issue report if something broke.

- antti

Other related posts:

  • » rumprun rototill more or less complete - Antti Kantee