From: Juergen Gross Date: Fri, 2 Sep 2016 08:56:45 +0000 (+0200) Subject: mini-os: fix builds with uncommon config settings X-Git-Tag: xen-4.8.0-rc1~6 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=e35295d724d64e6e025ec31c2e510e448b8641d1;p=mini-os.git mini-os: fix builds with uncommon config settings Some config settings won't build standalone. Fix the following cases: - all CONFIG_* set to "n" - standard config with latest Xen interface version Signed-off-by: Juergen Gross Reviewed-by: Samuel Thibault --- diff --git a/include/x86/os.h b/include/x86/os.h index 90ab6e6..0f5dd6c 100644 --- a/include/x86/os.h +++ b/include/x86/os.h @@ -514,6 +514,11 @@ static __inline__ unsigned long __ffs(unsigned long word) #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 */ \ diff --git a/include/xenbus.h b/include/xenbus.h index c254652..12391b9 100644 --- a/include/xenbus.h +++ b/include/xenbus.h @@ -7,10 +7,14 @@ typedef unsigned long xenbus_transaction_t; #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) { } @@ -33,8 +37,6 @@ struct xenbus_event { }; 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;