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.


reverted naming changes to fix configuration breakage
[palacios.git] / palacios / src / devices / keyboard.c
index 08844e2..82d4543 100644 (file)
@@ -318,7 +318,9 @@ static int pull_from_output_queue(struct vm_device * dev, uint8_t * value) {
 
 
 #include <palacios/vmm_telemetry.h>
-
+#ifdef CONFIG_SYMMOD
+#include <palacios/vmm_symmod.h>
+#endif
 
 static int key_event_handler(struct v3_vm_info * vm, 
                             struct v3_keyboard_event * evt, 
@@ -335,8 +337,9 @@ static int key_event_handler(struct v3_vm_info * vm,
        }
        //      PrintGuestPageTables(info, info->shdw_pg_state.guest_cr3);
     } 
-#ifdef CONFIG_SYMBIOTIC
+#ifdef CONFIG_SYMCALL
     else if (evt->scan_code == 0x43) { // F9 Sym test
+       struct guest_info * core = &(vm->cores[0]);
        PrintDebug("Testing sym call\n");
        sym_arg_t a0 = 0x1111;
        sym_arg_t a1 = 0x2222;
@@ -346,13 +349,13 @@ static int key_event_handler(struct v3_vm_info * vm,
        uint64_t call_start = 0;
        uint64_t call_end = 0;
        
-       V3_Print("Exits before symcall: %d\n", (uint32_t)info->num_exits);
+       V3_Print("Exits before symcall: %d\n", (uint32_t)core->num_exits);
 
        rdtscll(call_start);
-       v3_sym_call5(info, SYMCALL_TEST, &a0, &a1, &a2, &a3, &a4);
+       v3_sym_call5(core, SYMCALL_TEST, &a0, &a1, &a2, &a3, &a4);
        rdtscll(call_end);
        
-       V3_Print("Symcall latency = %d cycles (%d exits)\n", (uint32_t)(call_end - call_start), (uint32_t)info->num_exits);
+       V3_Print("Symcall latency = %d cycles (%d exits)\n", (uint32_t)(call_end - call_start), (uint32_t)core->num_exits);
 
        V3_Print("Symcall  Test Returned arg0=%x, arg1=%x, arg2=%x, arg3=%x, arg4=%x\n",
                 (uint32_t)a0, (uint32_t)a1, (uint32_t)a2, (uint32_t)a3, (uint32_t)a4);
@@ -364,12 +367,19 @@ static int key_event_handler(struct v3_vm_info * vm,
        
        PrintDebug("Toggling Debugging\n");     
        v3_dbg_enable ^= 1;
-    } else if (evt->scan_code == 0x41) { // F7 telemetry dump
+
+    } 
 #ifdef CONFIG_TELEMETRY
+
+    else if (evt->scan_code == 0x41) { // F7 telemetry dump
        v3_print_telemetry(vm);
+    } 
 #endif
+#ifdef CONFIG_SYMMOD
+    else if (evt->scan_code == 0x40) { // F6 Test symmod load
+       v3_load_sym_module(vm, "test_32");
     }
-
+#endif
 
 
     addr_t irq_state = v3_lock_irqsave(state->kb_lock);