[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Information required on TRACE_VMEXIT working.
On 11/27/06, aditya shevalkar <aditya27783@xxxxxxxxxxx> wrote: Hi all, Can anybody explain the process of TRACE_VMEXIT ? I am trying to understand its use in xen3.0.3\xen\arch\x86\hvm\vmx\vmx.c file in the vmx_vmexit_handler function. Also explain the meaning of its arguments and from where does it fetches the values for different arguments. Some code snippets from above file are given below: TRACE_VMEXIT(0,exit_reason); switch ( exit_reason ) { case EXIT_REASON_EXCEPTION_NMI: vector &= INTR_INFO_VECTOR_MASK; TRACE_VMEXIT(1,vector); __vmread(EXIT_QUALIFICATION, &va); __vmread(VM_EXIT_INTR_ERROR_CODE, ®s->error_code); TRACE_VMEXIT(3, regs->error_code); TRACE_VMEXIT(4, va); Also trying to understand the following expression in the same file: #define TRACE_VMEXIT(index,value) this_cpu(trace_values)[index]=value I think the missing piece of the puzzle are the following functions, also found in vmx.c: asmlinkage void vmx_trace_vmentry(void) { struct vcpu *v = current; TRACE_5D(TRC_VMX_VMENTRY + current->vcpu_id, v->arch.hvm_vcpu.hvm_trace_values[0], v->arch.hvm_vcpu.hvm_trace_values[1], v->arch.hvm_vcpu.hvm_trace_values[2], v->arch.hvm_vcpu.hvm_trace_values[3], v->arch.hvm_vcpu.hvm_trace_values[4]); TRACE_VMEXIT(0, 0); TRACE_VMEXIT(1, 0); TRACE_VMEXIT(2, 0); TRACE_VMEXIT(3, 0); TRACE_VMEXIT(4, 0); } asmlinkage void vmx_trace_vmexit (void) { TRACE_3D(TRC_VMX_VMEXIT + current->vcpu_id, 0, 0, 0); } When a VMEXIT happens, vmx_trace_vmexit() is called, and a trace record is generated. (This includes an RDTSC timetamp). Then, as the VMEXIT is handled, the various trace_values[] are filled in, depending upon what kind of vmexit it is. Then, just before the next With Regards, Aditya Shevalkar. __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new http://in.answers.yahoo.com/ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |