
			Xvisor Coding Style

We follow Linux coding style (refer Documentation/CodingStyle in Linux source)
for most part of the code, but there are slight modifications to this style:

1. Code Prefixes: We use small prefixes for code that is globally accessible 
   like important structures, global functions, macros, etc. The idea behind 
   such prefixes is to make the code more readable. The core code will 
   mandatorily use prefix "vmm_". The CPU specific code will use prefix "cpu_"
   and the BOARD specific code will use prefix "brd_". We are only religious 
   about the code prefixes in core, cpu, and board specific code, all other 
   place you are free to choose your own naming convention. 

2. Typedefs: Unlike Linux coding style, we allow typedefs but not for enum and 
   built-in data types such as: char, short, int, long, etc. We accept typedefs 
   only for structures only. When you want add a typedef for structure then 
   the typedef declaration and the structure declaration should be separate, 
   for e.g:

   struct abc {
	u32 a;
	u32 b;
	u32 c;
   };

   typedef struct abc abc_t;

   The "_t" prefix for structure typedefs is mandatory. The only place where
   the built-in types are typedefed is vmm_types.h & vmm_cpu_types.h, no other 
   place should have typedef to a built-in type.
    
(Note: This document is still a work in progress. More detailed instructions
 will be added later. Post you queries on our developer mailing list.)
