+/* (c) 2008, Jack Lange <jarusl@cs.northwestern.edu> */
+/* (c) 2008, The V3VEE Project <http://www.v3vee.org> */
+
#ifndef __VMM_H
#define __VMM_H
-#define PrintError(fmt, args...) \
- do { \
- extern struct vmm_os_hooks * os_hooks; \
- if ((os_hooks) && (os_hooks)->print_debug) { \
- (os_hooks)->print_debug((fmt), ##args); \
- } \
+#define PrintError(fmt, args...) \
+ do { \
+ extern struct vmm_os_hooks * os_hooks; \
+ if ((os_hooks) && (os_hooks)->print_debug) { \
+ (os_hooks)->print_debug("%s(%d): " fmt, __FILE__, __LINE__, ##args); \
+ } \
} while (0)
#if VMM_TRACE
-#define PrintTrace(fmt, args...) \
- do { \
- extern struct vmm_os_hooks * os_hooks; \
- if ((os_hooks) && (os_hooks)->print_trace) { \
- (os_hooks)->print_trace((fmt), ##args); \
- } \
+#define PrintTrace(fmt, args...) \
+ do { \
+ extern struct vmm_os_hooks * os_hooks; \
+ if ((os_hooks) && (os_hooks)->print_trace) { \
+ (os_hooks)->print_trace(fmt, ##args); \
+ } \
} while (0)
#else
#define PrintTrace(fmt, args...)
#define V3_Hook_Interrupt(irq, opaque) \
({ \
- int ret = 0; \
+ int ret = 0; \
extern struct vmm_os_hooks * os_hooks; \
if ((os_hooks) && (os_hooks)->hook_interrupt) { \
ret = (os_hooks)->hook_interrupt(irq, opaque); \
#endif //!__V3VEE__
-/*
- #ifdef __V3VEE__
- typedef struct guest_info v3_guest_t;
- #else
- typedef void v3_guest_t;
- #endif
-*/
//
- // Filled in by initialization
-
};