Fix typo in comment
[kqemu.git] / kqemu-kernel.h
blob78f6c2f8f2883d9e9076b4db2cc95f3b86a5021b
1 /*
2 * KQEMU kernel API
3 * Copyright (c) 2004-2005 Fabrice Bellard
4 */
5 #ifndef KQEMU_KERNEL_H
6 #define KQEMU_KERNEL_H
8 #include "kqemu.h"
10 struct kqemu_state;
11 struct kqemu_global_state;
13 #define CDECL __attribute__((regparm(0)))
15 struct kqemu_global_state * CDECL kqemu_global_init(int max_locked_pages);
16 void CDECL kqemu_global_delete(struct kqemu_global_state *g);
18 struct kqemu_state * CDECL kqemu_init(struct kqemu_init *d,
19 struct kqemu_global_state *g);
20 struct kqemu_cpu_state * CDECL kqemu_get_cpu_state(struct kqemu_state *s);
21 long CDECL kqemu_exec(struct kqemu_state *s);
22 int CDECL kqemu_set_phys_mem(struct kqemu_state *s,
23 const struct kqemu_phys_mem *kphys_mem);
24 void CDECL kqemu_delete(struct kqemu_state *s);
26 /* callbacks */
27 struct kqemu_page; /* opaque data for host page */
28 struct kqemu_user_page; /* opaque data for host user page */
30 struct kqemu_user_page *CDECL kqemu_lock_user_page(unsigned long *ppage_index,
31 unsigned long user_addr);
32 void CDECL kqemu_unlock_user_page(struct kqemu_user_page *page);
34 struct kqemu_page *CDECL kqemu_alloc_zeroed_page(unsigned long *ppage_index);
35 void CDECL kqemu_free_page(struct kqemu_page *page);
36 void * CDECL kqemu_page_kaddr(struct kqemu_page *page);
38 void * CDECL kqemu_vmalloc(unsigned int size);
39 void CDECL kqemu_vfree(void *ptr);
40 unsigned long CDECL kqemu_vmalloc_to_phys(const void *vaddr);
42 void * CDECL kqemu_io_map(unsigned long page_index, unsigned int size);
43 void CDECL kqemu_io_unmap(void *ptr, unsigned int size);
45 int CDECL kqemu_schedule(void);
47 void CDECL kqemu_log(const char *fmt, ...);
49 #endif /* KQEMU_KERNEL_H */