X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=kitten%2Fpalacios-glue%2Fvmm_stubs.c;h=789eee789a85f9053356f16914e74d4a5174dcd1;hb=e05033e42323e92783e8c93d77c0e4be63761667;hp=3d441025e7b20e9494679b7e924824a9a9537a45;hpb=ed150072069816c4f34cd7b9e129752a6e9e71b3;p=palacios.releases.git diff --git a/kitten/palacios-glue/vmm_stubs.c b/kitten/palacios-glue/vmm_stubs.c index 3d44102..789eee7 100644 --- a/kitten/palacios-glue/vmm_stubs.c +++ b/kitten/palacios-glue/vmm_stubs.c @@ -17,10 +17,15 @@ * redistribute, and modify it as specified in the file "V3VEE_LICENSE". */ -#include -#include - +#include +#include #include +#include +#include +#include +#include +#include +#include struct guest_info * g_vm_guest = NULL; @@ -44,12 +49,12 @@ void Init_Stubs(struct guest_info * info) { void * kitten_pa_to_va(void *ptr) { - return __va(ptr); + return (void*) __va(ptr); } void * kitten_va_to_pa(void *ptr) { - return __pa(ptr); + return (void*) __pa(ptr); } void * Allocate_VMM_Pages(int num_pages) @@ -80,7 +85,7 @@ void Free_VMM_Page(void * page) rc=pmem_query(&query,&result); if (!rc) { - result.allocated=FALSE; + result.allocated=0; pmem_update(&result); } else { // BAD @@ -88,15 +93,6 @@ void Free_VMM_Page(void * page) } -void * VMM_Malloc(unsigned int size) { - return Malloc((unsigned long) size); -} - - -void VMM_Free(void * addr) { - Free(addr); -} - void send_key_to_vmm(unsigned char status, unsigned char scancode) { @@ -178,3 +174,18 @@ unsigned int get_cpu_khz() } +struct v3_os_hooks v3vee_os_hooks = { + .print_debug = &printk, // serial print ideally + .print_info = &printk, // serial print ideally + .print_trace = &printk, // serial print ideally + .allocate_pages = &Allocate_VMM_Pages, // defined in vmm_stubs + .free_page = &Free_VMM_Page, // defined in vmm_stubs + .malloc = &kmem_alloc, + .free = &kmem_free, + .vaddr_to_paddr = &kitten_va_to_pa, + .paddr_to_vaddr = &kitten_pa_to_va, + .hook_interrupt = &kitten_hook_interrupt, + .ack_irq = &ack_irq, + .get_cpu_khz = &get_cpu_khz, +}; +