Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


assorted debugging stuff added while tracking down apic and shadow paging bugs (cr4...
Peter Dinda [Wed, 25 Feb 2009 18:40:00 +0000 (12:40 -0600)]
palacios/src/palacios/vmm_shadow_paging_64.h

index dd8397c..a33d0ca 100644 (file)
@@ -173,6 +173,13 @@ static int handle_pdpe_shadow_pagefault_64(struct guest_info * info, addr_t faul
  
   PrintDebug("Handling PDP fault\n");
 
+  if (fault_addr==0) { 
+    PrintDebug("Guest Page Tree for guest virtual address zero fault\n");
+    PrintGuestPageTree(info,fault_addr,(addr_t)(info->shdw_pg_state.guest_cr3));
+    PrintDebug("Host Page Tree for guest virtual address zero fault\n");
+    PrintHostPageTree(info,fault_addr,(addr_t)(info->ctrl_regs.cr3));
+  }
+
   // Check the guest page permissions
   guest_pdpe_access = v3_can_access_pdpe64(guest_pdp, fault_addr, error_code);
 
@@ -683,6 +690,8 @@ static int invalidation_cb_64(struct guest_info * info, page_type_t type,
 
 
 static inline int handle_shadow_invlpg_64(struct guest_info * info, addr_t vaddr) {
+  PrintDebug("INVLPG64 - %p\n",(void*)vaddr);
+
   int ret =  v3_drill_host_pt_64(info, info->ctrl_regs.cr3, vaddr, invalidation_cb_64, NULL);
   if (ret == -1) {
     PrintError("Page table drill returned error.... \n");