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.


cosmetic changes
Kyle Hale [Fri, 3 Jun 2011 17:07:41 +0000 (12:07 -0500)]
palacios/include/palacios/vmm_execve_hook.h
palacios/include/palacios/vmm_linux_syscall_map.h
palacios/include/palacios/vmm_process_environment.h
palacios/src/palacios/svm.c
palacios/src/palacios/vmm_syscall_hijack.c

index 4791672..4341a30 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef __VMM_EXECVE_HOOK_H__
 #define __VMM_EXECVE_HOOK_H__
 
+#ifdef __V3VEE__
+
 
 struct v3_exec_hooks {
     struct list_head hook_list;
@@ -44,3 +46,6 @@ int v3_hook_executable (struct guest_info * core,
 
 
 #endif
+
+
+#endif
index fdecbba..0a40146 100644 (file)
 #ifndef __VMM_LINUX_SYSCALL_MAP_H__
 #define __VMM_LINUX_SYSCALL_MAP_H__
 
+#ifdef __V3VEE__
+
 #include <palacios/vmm_types.h>
 
-char * get_linux_syscall_name32(uint_t syscall_nr);
-char * get_linux_syscall_name64(uint_t syscall_nr);
+char * get_linux_syscall_name32 (uint_t syscall_nr);
+char * get_linux_syscall_name64 (uint_t syscall_nr);
 
+#endif
 
 #endif
index af9587f..f3cfb10 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef __VMM_PROCESS_ENVIRONMENT_H__
 #define __VMM_PROCESS_ENVIRONMENT_H__
 
+#ifdef __V3VEE__
+
 
 #include <palacios/vmm.h>
 #include <palacios/vmm_types.h>
@@ -33,5 +35,7 @@ int v3_inject_strings (struct guest_info * core, const char ** argstrs, const ch
 
 addr_t v3_prepare_guest_stack (struct guest_info * core, uint_t bytes_needed);
 
+#endif
+
 #endif 
 
index 6f160c7..5aa0e30 100644 (file)
@@ -229,7 +229,7 @@ static void Init_VMCB_BIOS(vmcb_t * vmcb, struct guest_info * core) {
                core);
 
 #ifdef CONFIG_HIJACK_MSR
-    /* KCH: for syscall hijacking */
+    /* KCH: for SYSCALL and SYSENTER interception */
     v3_hook_msr(core->vm_info, STAR_MSR,
         &v3_handle_star_read,
         &v3_handle_star_write,
index 05ea002..ecf1fb2 100644 (file)
@@ -124,6 +124,8 @@ int v3_hook_syscall (struct guest_info * core,
     void * priv_data) 
 {
     struct v3_syscall_hook * hook = (struct v3_syscall_hook *)V3_Malloc(sizeof(struct v3_syscall_hook));
+
+    // TODO: ensure that software interrupts & SYSENTER are hooked
     
     if (hook == NULL) {
         return -1;