Re: [Xen-devel] [PATCH 1/3] mini-os: fix builds with uncommon config settings

2016-09-02 Thread Samuel Thibault
Juergen Gross, on Fri 02 Sep 2016 10:56:45 +0200, wrote:
> 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 

> ---
>  include/x86/os.h | 5 +
>  include/xenbus.h | 6 --
>  2 files changed, 9 insertions(+), 2 deletions(-)
> 
> 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;
> -- 
> 2.6.6
> 

-- 
Samuel
(03:13:14)  bon
(03:13:19)  il est tard :p
(03:13:25)  c'est l'heure de manger
(03:13:38)  hm j'ai mangé à 1h moi, j'ai des horaires raisonnables

___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel


[Xen-devel] [PATCH 1/3] mini-os: fix builds with uncommon config settings

2016-09-02 Thread Juergen Gross
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 
---
 include/x86/os.h | 5 +
 include/xenbus.h | 6 --
 2 files changed, 9 insertions(+), 2 deletions(-)

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;
-- 
2.6.6


___
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel