X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=kitten%2Finclude%2Flwk%2Fpalacios.h;h=599b6c6ca5fbb3661a4e1a6f1c0c9152fcff9350;hb=1eb4663834440ff09c48fe9c95a0cc7ad6bbf2bc;hp=fb3fa5bcf804faae8a152ece8b786304c7f017f8;hpb=33e59b4f73c24aa953e12d9427dafac88b19cfaa;p=palacios.releases.git diff --git a/kitten/include/lwk/palacios.h b/kitten/include/lwk/palacios.h index fb3fa5b..599b6c6 100644 --- a/kitten/include/lwk/palacios.h +++ b/kitten/include/lwk/palacios.h @@ -10,6 +10,80 @@ 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 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 #endif