#endif /* ifdef __INSIDE_MINIOS */
/********************* common i386 and x86_64 ****************************/
+#define xen_mb() mb()
+#define xen_rmb() rmb()
+#define xen_wmb() wmb()
+#define xen_barrier() asm volatile ( "" : : : "memory")
+
#define wrmsr(msr,val1,val2) \
__asm__ __volatile__("wrmsr" \
: /* no outputs */ \
#define XBT_NIL ((xenbus_transaction_t)0)
#ifdef CONFIG_XENBUS
+extern uint32_t xenbus_evtchn;
+
/* Initialize the XenBus system. */
void init_xenbus(void);
void get_xenbus(void *p);
#else
+#define xenbus_evtchn ~0
+
static inline void init_xenbus(void)
{
}
};
typedef struct xenbus_event *xenbus_event_queue;
-extern uint32_t xenbus_evtchn;
-
char *xenbus_watch_path_token(xenbus_transaction_t xbt, const char *path, const char *token, xenbus_event_queue *events);
char *xenbus_unwatch_path_token(xenbus_transaction_t xbt, const char *path, const char *token);
extern struct wait_queue_head xenbus_watch_queue;