1 /* Copyright (c) 2007,2008 Sandia National Laboratories */
3 #ifndef _LWK_PALACIOS_H_
4 #define _LWK_PALACIOS_H_
9 #include <palacios/vmm.h>
10 #include <palacios/vmm_host_events.h>
13 extern void v3vee_init_stubs( struct guest_info * info );
16 v3vee_run_vmm( void );
18 extern struct v3_os_hooks v3vee_os_hooks;
22 * stubs called by geekos....
25 void send_key_to_vmm(unsigned char status, unsigned char scancode);
26 void send_mouse_to_vmm(unsigned char packet[3]);
27 void send_tick_to_vmm(unsigned int period_us);
30 /* Location of the ROM Bios and VGA Bios used by palacios */
31 extern uint8_t rombios_start, rombios_end;
32 extern uint8_t vgabios_start, vgabios_end;
33 extern paddr_t initrd_start, initrd_end;
37 * OS Hooks required to interface with the V3VEE library
43 ) __attribute__((format(printf,1,2)));
50 ) __attribute__((format(printf,1,2)));
57 ) __attribute__((format(printf,1,2)));
61 v3vee_allocate_pages( int num_pages );
65 v3vee_free_page( void * page );
69 v3vee_malloc( unsigned int size );
73 v3vee_free( void * addr );
77 v3vee_paddr_to_vaddr( void * addr );
81 v3vee_vaddr_to_paddr( void * addr );
86 struct guest_info * vm,
98 v3vee_get_cpu_khz( void );
102 v3vee_start_kernel_thread( void );
106 v3vee_yield_cpu( void );
109 #endif // CONFIG_V3VEE