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.


Prototypes for kitten hooks to v3vee callbacks
[palacios-OLD.git] / kitten / include / lwk / palacios.h
1 /* Copyright (c) 2007,2008 Sandia National Laboratories */
2
3 #ifndef _LWK_PALACIOS_H_
4 #define _LWK_PALACIOS_H_
5
6 #ifdef CONFIG_V3VEE
7
8 #include <palacios/vmm.h>
9
10 extern uint8_t rombios_start, rombios_end;
11 extern uint8_t vgabios_start, vgabios_end;
12
13
14 /*
15  * OS Hooks required to interface with the V3VEE library
16  */
17 extern void
18 v3vee_print_config(
19         const char * fmt,
20         ...
21 ) __attribute__((format(printf,1,2)));
22
23
24 extern void
25 v3vee_print_debug(
26         const char * fmt,
27         ...
28 ) __attribute__((format(printf,1,2)));
29
30
31 extern void
32 v3vee_print_trace(
33         const char * fmt,
34         ...
35 ) __attribute__((format(printf,1,2)));
36
37
38 extern void *
39 v3vee_allocate_pages( int num_pages );
40
41
42 extern void
43 v3vee_free_page( void * page );
44
45
46 extern void *
47 v3vee_malloc( unsigned int size );
48
49
50 extern void
51 v3vee_free( void * addr );
52
53
54 extern void *
55 v3vee_paddr_to_vaddr( void * addr );
56
57
58 extern void *
59 v3vee_vaddr_to_paddr( void * addr );
60
61
62 extern int
63 v3vee_hook_interrupt(
64         struct guest_info *     vm,
65         unsigned int            irq
66 );
67
68
69 extern int
70 v3vee_ack_irq(
71         int                     irq
72 );
73
74
75 unsigned int
76 v3vee_get_cpu_khz( void );
77
78
79 void
80 v3vee_start_kernel_thread( void );
81
82
83 void
84 v3vee_yield_cpu( void );
85
86
87 #endif // CONFIG_V3VEE
88
89 #endif