#ifdef CONFIG_V3VEE
+#include <lwk/types.h>
#include <palacios/vmm.h>
+#include <palacios/vmm_host_events.h>
-extern uint8_t rombios_start, rombios_end;
-extern uint8_t vgabios_start, vgabios_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 struct guest_info * g_vm_guest;
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
-);
+v3vee_init_stubs( void );
extern int
-v3vee_ack_irq(
- int irq
-);
+v3vee_run_vmm( void );
-unsigned int
-v3vee_get_cpu_khz( void );
+extern struct v3_os_hooks v3vee_os_hooks;
+/****
+ *
+ * stubs called by geekos....
+ *
+ ***/
+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);
-void
-v3vee_start_kernel_thread( void );
-
-void
-v3vee_yield_cpu( void );
+/* 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;
#endif // CONFIG_V3VEE