svn commit: r271891 - in head/sys/amd64/vmm: . io

Neel Natu neel at FreeBSD.org
Sat Sep 20 05:13:04 UTC 2014


Author: neel
Date: Sat Sep 20 05:13:03 2014
New Revision: 271891
URL: http://svnweb.freebsd.org/changeset/base/271891

Log:
  Add some more KTR events to help debugging.

Modified:
  head/sys/amd64/vmm/io/vlapic.c
  head/sys/amd64/vmm/vmm.c

Modified: head/sys/amd64/vmm/io/vlapic.c
==============================================================================
--- head/sys/amd64/vmm/io/vlapic.c	Sat Sep 20 05:12:34 2014	(r271890)
+++ head/sys/amd64/vmm/io/vlapic.c	Sat Sep 20 05:13:03 2014	(r271891)
@@ -633,6 +633,7 @@ vlapic_fire_timer(struct vlapic *vlapic)
 	// The timer LVT always uses the fixed delivery mode.
 	lvt = vlapic_get_lvt(vlapic, APIC_OFFSET_TIMER_LVT);
 	if (vlapic_fire_lvt(vlapic, lvt | APIC_LVT_DM_FIXED)) {
+		VLAPIC_CTR0(vlapic, "vlapic timer fired");
 		vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_INTR_TIMER, 1);
 	}
 }

Modified: head/sys/amd64/vmm/vmm.c
==============================================================================
--- head/sys/amd64/vmm/vmm.c	Sat Sep 20 05:12:34 2014	(r271890)
+++ head/sys/amd64/vmm/vmm.c	Sat Sep 20 05:13:03 2014	(r271891)
@@ -1197,8 +1197,12 @@ vm_handle_paging(struct vm *vm, int vcpu
 	if (ftype == VM_PROT_READ || ftype == VM_PROT_WRITE) {
 		rv = pmap_emulate_accessed_dirty(vmspace_pmap(vm->vmspace),
 		    vme->u.paging.gpa, ftype);
-		if (rv == 0)
+		if (rv == 0) {
+			VCPU_CTR2(vm, vcpuid, "%s bit emulation for gpa %#lx",
+			    ftype == VM_PROT_READ ? "accessed" : "dirty",
+			    vme->u.paging.gpa);
 			goto done;
+		}
 	}
 
 	map = &vm->vmspace->vm_map;
@@ -1239,6 +1243,8 @@ vm_handle_inst_emul(struct vm *vm, int v
 	paging = &vme->u.inst_emul.paging;
 	cpu_mode = paging->cpu_mode;
 
+	VCPU_CTR1(vm, vcpuid, "inst_emul fault accessing gpa %#lx", gpa);
+
 	vie_init(vie);
 
 	/* Fetch, decode and emulate the faulting instruction */


More information about the svn-src-all mailing list