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.


added back in 32 bit support
[palacios.git] / palacios / src / palacios / vmm_sym_iface.c
index 43d62c5..fea864d 100644 (file)
@@ -22,6 +22,7 @@
 #include <palacios/vmm_msr.h>
 #include <palacios/vmm_mem.h>
 #include <palacios/vmm_hypercall.h>
+#include <palacios/vm_guest.h>
 
 #define SYM_PAGE_MSR 0x535
 
@@ -83,14 +84,14 @@ static int msr_write(uint_t msr, struct v3_msr src, void * priv_data) {
     struct v3_sym_state * state = &(info->sym_state);
 
     if (msr == SYM_PAGE_MSR) {
-       PrintDebug("Symbiotic MSR write for page %p\n", (void *)src.value);
+       PrintDebug("Symbiotic MSR write for page %p\n", (void *)(addr_t)src.value);
 
        if (state->active == 1) {
            // unmap page
            struct v3_shadow_region * old_reg = v3_get_shadow_region(info, (addr_t)state->guest_pg_addr);
 
            if (old_reg == NULL) {
-               PrintError("Could not find previously active symbiotic page (%p)\n", (void *)state->guest_pg_addr);
+               PrintError("Could not find previously active symbiotic page (%p)\n", (void *)(addr_t)state->guest_pg_addr);
                return -1;
            }
 
@@ -237,9 +238,8 @@ static int sym_call_err(struct guest_info * info, uint_t hcall_id, void * privat
 static int sym_call_ret(struct guest_info * info, uint_t hcall_id, void * private_data) {
     struct v3_sym_state * state = (struct v3_sym_state *)&(info->sym_state);
 
-    PrintError("Return from sym call\n");
-    v3_print_guest_state(info);
-    v3_print_mem_map(info);
+    //    PrintError("Return from sym call (ID=%x)\n", hcall_id);
+    //   v3_print_guest_state(info);
 
     state->sym_call_returned = 1;
 
@@ -269,8 +269,8 @@ int v3_sym_call(struct guest_info * info,
     struct v3_segment sym_ss;
     uint64_t trash_args[5] = { [0 ... 4] = 0 };
 
-    PrintDebug("Making Sym call\n");
-    v3_print_guest_state(info);
+    //   PrintDebug("Making Sym call\n");
+    //    v3_print_guest_state(info);
 
     if ((state->sym_page->sym_call_enabled == 0) ||
        (state->sym_call_active == 1)) {
@@ -318,14 +318,14 @@ int v3_sym_call(struct guest_info * info,
     state->sym_call_active = 1;
     state->sym_call_returned = 0;
 
-    PrintDebug("Sym state\n");
-    v3_print_guest_state(info);
+    //    PrintDebug("Sym state\n");
+    //  v3_print_guest_state(info);
 
     // Do the sym call entry
     if (execute_symcall(info) == -1) {
        PrintError("SYMCALL error\n");
        return -1;
-    } 
+    }
 
     // clear sym flags
     state->sym_call_active = 0;
@@ -348,8 +348,8 @@ int v3_sym_call(struct guest_info * info,
 
 
 
-    PrintDebug("restoring guest state\n");
-    v3_print_guest_state(info);
+    //    PrintError("restoring guest state\n");
+    //    v3_print_guest_state(info);
 
     return 0;
 }