Wed, 10 Jan 2007

lhype/ll progress and the TODO list

The Great Renaming has not happened yet becase James Morris offered to look at SMP host support, and it would completely screw his merge if I rename everything.

However, my TODO list has been reordered into "before the merge" and "after the merge". Now the console is non-bufferred, I've been spending more time actually working inside an lhype guest. This has refocused me away from optimizations (and there are still plenty there) and back towards functionality. In particular, suspend/resume has moved to "before the merge", since obviously the startup and resume paths should be the same.

I want a trivial "lguest" program to live inside the kernel sources; since the lhype/ll ABI can change kernel to kernel, at least at this stage, distributing the launch tool separately doesn't make much sense. But obviously lhype_add is already 900 lines and will only grow with things like support for new devices, device hotplug and suspend/resume. I need to resolve this in a reasonable way, possibly through some sane use of dynamic libraries as fairly open-ended plugins.

So here's my "pre-merge" TODO at the moment:

  • SMP host support
  • Suspend/resume
  • Unlimited DMA receive buffers
  • Neaten get_dma proc op.
  • Plugins support
And afterwards (ie. less urgent/more blue-sky).
  • Debug trap/int3 support (ie. direct interrupt gates).
  • Don't COW pages when they are read in get_pfn
  • More intelligent cr3 reload
  • pte optimizations
  • Lazy mode support
  • Tickless idle
  • Stolen time.
  • Allow normal users to access lhype
  • Framebuffer support

[/tech] permanent link