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.


Merge branch 'ramdisk' into devel
Jack Lange [Thu, 2 Oct 2008 22:05:59 +0000 (17:05 -0500)]
Conflicts:
palacios/include/devices/generic.h
palacios/include/geekos/timer.h
palacios/include/palacios/vmcs.h
palacios/include/palacios/vmcs_gen.h
palacios/src/devices/generic.c
palacios/src/palacios/vmm_config.c

18 files changed:
palacios/include/devices/generic.h
palacios/include/geekos/timer.h
palacios/include/palacios/svm.h
palacios/include/palacios/vm_dev.h
palacios/include/palacios/vm_guest.h
palacios/include/palacios/vm_guest_mem.h
palacios/include/palacios/vmcs.h
palacios/include/palacios/vmcs_gen.h
palacios/include/palacios/vmm.h
palacios/include/palacios/vmm_config.h
palacios/include/palacios/vmm_ctrl_regs.h
palacios/include/palacios/vmm_debug.h
palacios/include/palacios/vmm_list.h
palacios/include/palacios/vmm_paging.h
palacios/include/palacios/vmm_time.h
palacios/include/palacios/vmm_types.h
palacios/include/palacios/vmx.h
palacios/src/devices/generic.c

index e2b4396..7a43e81 100644 (file)
@@ -5,6 +5,7 @@
 #ifndef __GENERIC_H__
 #define __GENERIC_H__
 
+
 #include <palacios/vm_dev.h>
 
 //
index b9f4eb4..f6add16 100644 (file)
@@ -36,6 +36,7 @@ int Start_Timer_Secs(int seconds, timerCallback cb, void * arg);
 int Start_Timer_MSecs(int msecs, timerCallback cb, void * arg);
 int Start_Timer(int ticks, timerCallback, void * arg);
 
+
 double Get_Remaining_Timer_Secs(int id);
 int Get_Remaining_Timer_MSecs(int id);
 int Get_Remaining_Timer_Ticks(int id);
index 22cb157..6a7f230 100644 (file)
@@ -6,11 +6,13 @@
 #define __SVM_H
 
 
-#include <palacios/vmm.h>
 
 
 #ifdef __V3VEE__
 
+#include <palacios/vmm.h>
+
+
 #include <palacios/vmcb.h>
 #include <palacios/vmm_util.h>
 
 #define SVM_HANDLER_ERROR     0x1
 #define SVM_HANDLER_HALT      0x2
 
-#endif
 
 
 void Init_SVM(struct vmm_ctrl_ops * vmm_ops);
 int is_svm_capable();
 
+#endif
 
 
 
index cae6f1f..795a3d1 100644 (file)
@@ -4,6 +4,8 @@
 #ifndef __VM_DEV_H
 #define __VM_DEV_H
 
+#ifdef __V3VEE__
+
 #include <palacios/vmm_types.h>
 #include <palacios/vmm_list.h>
 #include <palacios/vmm_dev_mgr.h>
@@ -83,4 +85,7 @@ int dev_hook_irq(struct vm_device * dev,
 int dev_unhook_irq(struct vm_device * dev, uint_t irq);
 
 
+
+#endif // ! __V3VEE__
+
 #endif
index 5b37d8f..8bdf0c0 100644 (file)
@@ -157,7 +157,7 @@ void PrintV3Segments(struct guest_info * info);
 void PrintV3CtrlRegs(struct guest_info * info);
 void PrintV3GPRs(struct guest_info * info);
 
-#endif
+#endif // ! __V3VEE__
 
 
 
index 4f17c5b..bc1a288 100644 (file)
@@ -4,6 +4,9 @@
 #ifndef __VM_GUEST_MEM_H
 #define __VM_GUEST_MEM_H
 
+
+#ifdef __V3VEE__
+
 #include <palacios/vm_guest.h>
 #include <palacios/vmm_mem.h>
 
@@ -92,7 +95,7 @@ int write_guest_pa_memory(struct guest_info * guest_info, addr_t guest_pa, int c
 // TODO int write_guest_va_memory(struct guest_info * guest_info, addr_t guest_va, int count, char * src);
 
 
-
+#endif // ! __V3VEE__
 
 
 #endif
index 01d6ba2..8851bae 100644 (file)
@@ -2,8 +2,12 @@
 /* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
 /* (c) 2008, The V3VEE Project <http://www.v3vee.org> */
 
-#ifndef __VMCS_H
-#define __VMCS_H
+
+#ifndef __VMCS_H__
+#define __VMCS_H__
+
+#ifdef __V3VEE__
+
 
 #include <palacios/vmm_types.h>
 
@@ -582,4 +586,7 @@ extern uint_t VMCS_READ();
 
 #include <palacios/vmcs_gen.h>
 
+#endif // ! __V3VEE__
+
+
 #endif 
index 467ae78..fa941b4 100644 (file)
@@ -1,8 +1,10 @@
 /* (c) 2008, The V3VEE Project <http://www.v3vee.org> */
+#ifndef __VMCS_GEN__
+#define __VMCS_GEN__
+
+#ifdef __V3VEE__
 
 
-#ifndef vmcs_gen
-#define vmcs_gen
 #include <palacios/vmcs.h>
 #include <palacios/vmm.h>
 
@@ -780,4 +782,11 @@ uint_t  Get_HOST_RIP();
 void    PrintTrace_HOST_RIP();
 
 void PrintTrace_VMCS_ALL();
+
+
+#endif // !__V3VEE
+
 #endif
+
+
+
index 4d725d1..c648692 100644 (file)
@@ -174,10 +174,10 @@ struct vmm_intr_state {
 
   // This is the value given when the interrupt is hooked.
   // This will never be NULL
-  void *opaque;
+  void * opaque;
 };
 
-void deliver_interrupt_to_vmm(struct vmm_intr_state *state);
+void deliver_interrupt_to_vmm(struct vmm_intr_state * state);
 
 
 /* This will contain function pointers that provide OS services */
index 1b41387..5072ef9 100644 (file)
@@ -7,6 +7,7 @@
 
 
 #ifdef __V3VEE__
+
 #include <palacios/vm_guest.h>
 
 
index 96d5d16..1c61613 100644 (file)
@@ -4,6 +4,8 @@
 #ifndef __VMM_CTRL_REGS_H
 #define __VMM_CTRL_REGS_H
 
+#ifdef __V3VEE__
+
 
 #include <palacios/vm_guest.h>
 
@@ -189,9 +191,7 @@ int handle_cr3_write(struct guest_info * info);
 int handle_cr3_read(struct guest_info * info);
 
 
-#define CR3_32_SAME_BASE(source1,source2) ((source1)->pdt_base_addr == (source2)->pdt_base_addr)
-#define CR3_32_COPY_FLAGS(source,dest) do { (dest)->rsvd1=(source)->rsvd1; (dest)->pwt=(source)->pwt; (dest)->pcd=(source)->pcd; } while (0)
-#define CR3_32_COPY_BASE(source,dest) do { (dest)->pdt_base_addr = (source)->pdt_base_addr; } while (0)
+#endif // ! __V3VEE__
 
 
 #endif
index 5424ab7..9718f74 100644 (file)
@@ -6,6 +6,7 @@
 
 
 #ifdef __V3VEE__
+
 #include <palacios/vmm.h>
 
 struct dbg_bp32 {
index 9bcf7f8..9fc2e5c 100644 (file)
@@ -6,8 +6,8 @@
 #ifndef _VMM_LIST_H
 #define _VMM_LIST_H
 
-// JRL FIXME
-// #ifdef __V3VEE__
+
+#ifdef __V3VEE__
 
 #include <palacios/vmm_string.h>
 
@@ -533,7 +533,7 @@ static inline void hlist_add_after(struct hlist_node *n,
             pos = n)
 
 
-// JRL FIXME
-//#endif // ! __V3VEE__
+
+#endif // ! __V3VEE__
 
 #endif
index e11a452..7b6836b 100644 (file)
@@ -5,6 +5,8 @@
 #define __VMM_PAGING_H
 
 
+#ifdef __V3VEE__
+
 #include <palacios/vmm_types.h>
 #include <palacios/vmm_util.h>
 
@@ -71,7 +73,7 @@ the host state in the vmcs before entering the guest.
 */
 
 
-#ifdef __V3VEE__
+
 
 #define MAX_PTE32_ENTRIES          1024
 #define MAX_PDE32_ENTRIES          1024
index ccc7775..3cbd2ed 100644 (file)
@@ -4,6 +4,7 @@
 #ifndef __VMM_TIME_H
 #define __VMM_TIME_H
 
+#ifdef __V3VEE__
 
 #include <palacios/vmm_types.h>
 #include <palacios/vmm_list.h>
@@ -28,7 +29,7 @@ struct vm_time {
 };
 
 
-#ifdef __V3VEE__
+
 
 struct vm_timer_ops {
  void (*update_time)(ullong_t cpu_cycles, ullong_t cpu_freq, void * priv_data);
index 6f1aade..504b520 100644 (file)
@@ -46,6 +46,8 @@ typedef char sint8_t;
 
 typedef ulong_t addr_t;
 
+#endif // ! __V3VEE__
+
 #endif
 
 #endif
index 3b40784..91f13a8 100644 (file)
@@ -5,6 +5,8 @@
 #ifndef __VMX_H
 #define __VMX_H
 
+#ifdef __V3VEE__
+
 #include <palacios/vmm_types.h>
 #include <palacios/vmcs.h>
 
@@ -112,6 +114,6 @@ int VMLaunch(struct VMDescriptor *vm);
 int Do_VMM(struct VMXRegs regs);
 
 
-
+#endif // ! __V3VEE__
 
 #endif 
index 905a9a7..dc018ab 100644 (file)
@@ -2,6 +2,8 @@
 /* (c) 2008, The V3VEE Project <http://www.v3vee.org> */
 
 
+
+
 #include <devices/generic.h>
 #include <palacios/vmm.h>
 #include <palacios/vmm_types.h>
@@ -99,7 +101,10 @@ int generic_write_port_passthrough(ushort_t port,
 
   switch (length) {
   case 1:
+<<<<<<< HEAD:palacios/src/devices/generic.c
+=======
 
+>>>>>>> ramdisk:palacios/src/devices/generic.c
     v3_outb(port,((uchar_t*)src)[0]);
     break;
   case 2:
@@ -107,7 +112,10 @@ int generic_write_port_passthrough(ushort_t port,
     break;
   case 4:
     v3_outdw(port,((uint_t*)src)[0]);
+<<<<<<< HEAD:palacios/src/devices/generic.c
+=======
 
+>>>>>>> ramdisk:palacios/src/devices/generic.c
     break;
   default:
     for (i = 0; i < length; i++) {