+Source files
+------------
+
We build all the tools into a single virt-mem executable, in order to
share the most runtime. Almost all the code between individual tools
is shared anyway.
- This brings everything together and links it into a single executable.
Other than that purpose, there is almost nothing in this directory.
+
+General structure of lib/virt_mem.ml
+------------------------------------
+
+We start with a bare kernel memory image ('Virt_mem_types.image0')
+which gets successively enhanced with extra data along the way:
+
+ Parse command line arguments,
+ work out what virtual machines to
+ process, load kernel images
+
+ |
+ | (passes a 'Virt_mem_types.image0')
+ V
+
+ Find kernel symbols
+
+ |
+ | (enhanced into a 'Virt_mem_types.image1')
+ V
+
+ Find kernel version (uname)
+
+ |
+ | (enhanced into a 'Virt_mem_types.image2')
+ V
+
+ Call tool's "run" function.
+
+Tools can register other callbacks which get called at earlier stages.
\ No newline at end of file