On 2013-08-04 20:25, Gmail wrote: > 在 2013-8-5,2:08,Jan Kiszka <jan.kiszka@xxxxxx> 写道: > >> On 2013-08-04 20:04, Arthur Chunqi Li wrote: >>> @@ -432,6 +432,22 @@ enum Ctrl1 { >>> #define HYPERCALL_MASK 0xFFF >>> #define HYPERCALL_VMEXIT 0x1 >>> >>> + >>> +extern u64 hypercall_field; >>> +extern u32 vpid_cnt; >>> +extern ulong fix_cr0_set, fix_cr0_clr; >>> +extern ulong fix_cr4_set, fix_cr4_clr; >>> +extern struct regs regs; >>> +extern struct vmx_test *current; >>> +extern bool launched; >> >> You didn't address my question if we need them all to write test cases >> or if some are actually core internal. > You are right. Not all global variants in last version is necessary for test cases, so I move some of them to vmx.c internal. The rest ones in this version are needed by tests to identify some states. I can imagine 'regs' very well, but I've doubt about the rest. 'current', 'launched'? Again, rather export on demand than in advance. Two additional questions, not directly related to the patch: 1. hypercall_field - why not passing this parameter via a register? Helps in case you have multiple guests running. 2. vpid_cnt - what's the purpose, why writing VPID at all? It's not needed, and not even supported on some CPUs. Jan
Attachment:
signature.asc
Description: OpenPGP digital signature