From: Richard W.M. Jones <"Richard W.M. Jones "> Date: Wed, 23 Jul 2008 17:32:41 +0000 (+0100) Subject: Updated HACKING docs. X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=66ad27b9b9e8e35a5df9da53d322b3fce349c819;p=virt-mem.git Updated HACKING docs. --- diff --git a/HACKING b/HACKING index 12cb191..bedcc68 100644 --- a/HACKING +++ b/HACKING @@ -1,3 +1,6 @@ +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. @@ -20,3 +23,33 @@ mem/ - 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