[Kos-cvs] kos/modules/vmm Makefile,1.21,1.22 _vmm_as.c,1.26,1.27

thomas at kos.enix.org thomas at kos.enix.org
Tue Jan 4 23:19:21 CET 2005


Update of /home/kos/cvs/kos/modules/vmm
In directory the-doors:/tmp/cvs-serv9995/modules/vmm

Modified Files:
	Makefile _vmm_as.c 
Log Message:
2005-01-04  Thomas Petazzoni  <thomas at crazy.kos.nx>

	* modules/arch/mm/_pgflt.c (_page_fault): Display some
	informations even if pf_nested_level != 1.

	* modules/test/vmm_test.c (vmm_test): Allow the VMM stress test to
	be run multiple times.

	* modules/scheduler/_synchq.c (synchq_wait_unsafe): After the
	wakeup of the thread the synchq should still be locked. Check
	this.



Index: Makefile
===================================================================
RCS file: /home/kos/cvs/kos/modules/vmm/Makefile,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- Makefile	28 Dec 2004 18:44:56 -0000	1.21
+++ Makefile	4 Jan 2005 22:19:19 -0000	1.22
@@ -1,6 +1,6 @@
 OBJS= _vmm_as.o _vmm_map.o vmm.o _dev_zero.o
 
-DEBUG_LEVEL=2
+DEBUG_LEVEL=3
 
 all: vmm.ro
 

Index: _vmm_as.c
===================================================================
RCS file: /home/kos/cvs/kos/modules/vmm/_vmm_as.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- _vmm_as.c	29 Dec 2004 19:28:51 -0000	1.26
+++ _vmm_as.c	4 Jan 2005 22:19:19 -0000	1.27
@@ -1016,6 +1016,7 @@
       if(vr == NULL)
 	{
 	  DEBUG_PRINT2("Out of any region -> FAULT\n");
+	  as_dump(as);
 	  CONCEPTION_ASSERT(kmutex_unlock(& as->mutex) == ESUCCESS);
 	  return -EFAULT;
 	}
@@ -1031,8 +1032,6 @@
 
   vaddr = PAGE_ALIGN_INF(vaddr);
 
-  /* TODO : Make sure nobody else will use the tmp_cow_page buffer */
-
   /* Write access denied, but region is writeable => Copy on
      write. First step is to copy the contents of the current page to
      a temporary buffer */
@@ -1232,7 +1231,16 @@
   DEBUG_PRINT3 (_B_BLUE "*********** AS DUMP @0x%p ************\n", as);
 
   CONCEPTION_ASSERT(kmutex_lock(& as->mutex) == ESUCCESS);
-  bst_visit_in_order ( (tree_node_t*) as->vr_tree, (visitor_t) visitor, NULL);
+
+  if(! as->vr_tree)
+    {
+      DEBUG_PRINT3("No virtual regions\n");
+    }
+  else
+    {
+      bst_visit_in_order ( (tree_node_t*) as->vr_tree, (visitor_t) visitor, NULL);
+    }
+
   CONCEPTION_ASSERT(kmutex_unlock(& as->mutex) == ESUCCESS);
 
   DEBUG_PRINT3 ("**********************************\n" _B_NORM);



More information about the Kos-cvs mailing list