3 * Copyright (c) 2004-2005 Fabrice Bellard
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
);
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 */