Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jun 2014 13:36:20 GMT
From:      mihai@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r269006 - soc2014/mihai/bhyve-icache-head/sys/amd64/vmm
Message-ID:  <201406031336.s53DaKl9066658@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mihai
Date: Tue Jun  3 13:36:19 2014
New Revision: 269006
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=269006

Log:
  sys: amd64: vmm: vmm_instruction_cache.c: fix cached page

Modified:
  soc2014/mihai/bhyve-icache-head/sys/amd64/vmm/vmm_instruction_cache.c

Modified: soc2014/mihai/bhyve-icache-head/sys/amd64/vmm/vmm_instruction_cache.c
==============================================================================
--- soc2014/mihai/bhyve-icache-head/sys/amd64/vmm/vmm_instruction_cache.c	Tue Jun  3 13:22:02 2014	(r269005)
+++ soc2014/mihai/bhyve-icache-head/sys/amd64/vmm/vmm_instruction_cache.c	Tue Jun  3 13:36:19 2014	(r269006)
@@ -195,8 +195,10 @@
 			if ((pte32 & PG_V) == 0)
 				goto error;
 
-			if (pte32 & PG_PS)
+			if (pte32 & PG_PS) {
+				vie_cached->pages_count--;
 				break;
+			}
 
 			ptpphys = pte32;
 		}
@@ -262,8 +264,10 @@
 		if (pte & PG_PS) {
 			if (pgsize > 1 * GB)
 				goto error;
-			else
+			else {
+				vie_cached->pages_count--;
 				break;
+			}
 		}
 
 		ptpphys = pte;
@@ -273,11 +277,12 @@
 	pte >>= ptpshift; pte <<= (ptpshift + 12); pte >>= 12;
 
 	vie_cached->pages_mask[vie_cached->pages_count] = (1 << ptpshift) - 1;
-	vie_cached->pages[vie_cached->pages_count++] = ptpphys;
+	vie_cached->pages[vie_cached->pages_count++] = pte;
 
 protect:
 	i=0;
 	for (i = 0; i < vie_cached->pages_count; i++) {
+//		printf("vm_map_protect %d, %lx -> %lx\n",i, vie_cached->pages[i], vie_cached->pages_mask[i]);
 		vm_map_protect(&(vm_get_vmspace(vm)->vm_map), vie_cached->pages[i],
 		    vie_cached->pages[i] + vie_cached->pages_mask[i] + 1,
 		    VM_PROT_READ | VM_PROT_EXECUTE, 0);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406031336.s53DaKl9066658>