Add the skeleton for vm support
authorRonald G. Minnich <rminnich@google.com>
Fri, 3 Jan 2014 22:17:38 +0000 (14:17 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 17 Jan 2014 22:35:29 +0000 (14:35 -0800)
commit1d793fff2ffe398a1bf208ebbfc78651b03220c8
treee783fedbf9b35a1a3fe4129eceb7b4c20b09a67d
parent9f2bded861f4a2c4258d09345665db623a6dc7e9
Add the skeleton for vm support

This code is from my litevm project, which is a redo of the early
kvm stuff as driver-only. That makes it easy to pull into akaros.
No need to driver-ize all of akaros for VMs. I'm not sure
we'd ever want to go that far anyway, it opens up the door to all
kinds of nasty attacks (as it has in Linux) that we don't want.

kern/drivers/dev/vm.c is an architecture-independent vm driver. Note that the
include files do not have an architecture type in the name (different
from linux) such that they can be included as arch/file and it will
work on any arch (which we need to keep in mind). This is
in the Plan 9 model of making things build in the architecture-independent
code when you build for an arch, by making the include file names
arch-independent.

Next steps are to keep bringing code over, which will live in
arch/x86.

All this is open to change once everyone is back from vacation
of course.

Suggestions on efficiently pulling in the vm image are welcome.

Signed-off-by: Ronald G. Minnich <rminnich@google.com>
kern/arch/x86/emulate.h [new file with mode: 0644]
kern/arch/x86/litevm.h [new file with mode: 0644]
kern/arch/x86/types.h
kern/arch/x86/vmdebug.h [new file with mode: 0644]
kern/arch/x86/vmx.h [new file with mode: 0644]
kern/drivers/dev/vm.c