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.


V3VEE compiles. Segfaults, but the callback structures work.
[palacios.git] / kitten / include / lwk / palacios.h
index fb3fa5b..f17f08f 100644 (file)
 
 #ifdef CONFIG_V3VEE
 
+#include <lwk/types.h>
 #include <palacios/vmm.h>
+#include <palacios/vmm_host_events.h>
 
+
+
+extern int
+RunVMM( void );
+
+extern struct v3_os_hooks v3vee_os_hooks;
+
+/**** 
+ * 
+ * stubs called by geekos....
+ * 
+ ***/
+extern void Init_Stubs(struct guest_info * info);
+void send_key_to_vmm(unsigned char status, unsigned char scancode);
+void send_mouse_to_vmm(unsigned char packet[3]);
+void send_tick_to_vmm(unsigned int period_us);
+
+
+/* Location of the ROM Bios and VGA Bios used by palacios */
 extern uint8_t rombios_start, rombios_end;
 extern uint8_t vgabios_start, vgabios_end;
+extern paddr_t initrd_start, initrd_end;
+
+
+/*
+ * OS Hooks required to interface with the V3VEE library
+ */
+extern void
+v3vee_print_config(
+       const char * fmt,
+       ...
+) __attribute__((format(printf,1,2)));
+
+
+extern void
+v3vee_print_debug(
+       const char * fmt,
+       ...
+) __attribute__((format(printf,1,2)));
+
+
+extern void
+v3vee_print_trace(
+       const char * fmt,
+       ...
+) __attribute__((format(printf,1,2)));
+
+
+extern void *
+v3vee_allocate_pages( int num_pages );
+
+
+extern void
+v3vee_free_page( void * page );
+
+
+extern void *
+v3vee_malloc( unsigned int size );
+
+
+extern void
+v3vee_free( void * addr );
+
+
+extern void *
+v3vee_paddr_to_vaddr( void * addr );
+
+
+extern void *
+v3vee_vaddr_to_paddr( void * addr );
+
+
+extern int
+v3vee_hook_interrupt(
+       struct guest_info *     vm,
+       unsigned int            irq
+);
+
+
+extern int
+v3vee_ack_irq(
+       int                     irq
+);
+
+
+unsigned int
+v3vee_get_cpu_khz( void );
+
+
+void
+v3vee_start_kernel_thread( void );
+
+
+void
+v3vee_yield_cpu( void );
+
 
 #endif // CONFIG_V3VEE