All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Remove atomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its
       [not found] <200705101500.l4AF0N4b027027@latara.uk.xensource.com>
@ 2007-05-10 16:35 ` Alex Williamson
  2007-05-10 20:01   ` [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Removeatomic_set_bit, " Christian Limpach
  0 siblings, 1 reply; 3+ messages in thread
From: Alex Williamson @ 2007-05-10 16:35 UTC (permalink / raw)
  To: xen-devel; +Cc: Christian.Limpach

On Thu, 2007-05-10 at 16:00 +0100, Xen staging patchbot-unstable wrote:
> # HG changeset patch
> # User Christian Limpach <Christian.Limpach@xensource.com>
> # Date 1178809115 -3600
> # Node ID 8f510bf078c7745696547b5245ba95ac5a6192bc
> # Parent  a4467c0971ba0e876637478b7f5e37ce344768c0
> [qemu] Remove atomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its
> users.

   ia64intrin.h is all but empty in gcc 4.1.2, so there's no point in
including it.  dm-exec is still making use of a few of these too, but I
guess it's easy enough to inline them there.  Patch below.  Thanks,

	Alex

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
---

diff -r 07b1e917c9d8 tools/ioemu/exec-all.h
--- a/tools/ioemu/exec-all.h	Thu May 10 16:22:27 2007 +0100
+++ b/tools/ioemu/exec-all.h	Thu May 10 10:13:17 2007 -0600
@@ -474,8 +474,6 @@ static inline int testandset (int *p)
 #endif
 
 #ifdef __ia64
-#include <ia64intrin.h>
-
 static inline int testandset (int *p)
 {
     return __sync_lock_test_and_set (p, 1);
diff -r 07b1e917c9d8 tools/ioemu/target-i386-dm/exec-dm.c
--- a/tools/ioemu/target-i386-dm/exec-dm.c	Thu May 10 16:22:27 2007 +0100
+++ b/tools/ioemu/target-i386-dm/exec-dm.c	Thu May 10 10:11:38 2007 -0600
@@ -360,6 +360,11 @@ CPUReadMemoryFunc **cpu_get_io_memory_re
 }
 
 #ifdef __ia64__
+
+#define __ia64_fc(addr)	asm volatile ("fc %0" :: "r"(addr) : "memory")
+#define ia64_sync_i()	asm volatile (";; sync.i" ::: "memory")
+#define ia64_srlz_i()	asm volatile (";; srlz.i ;;" ::: "memory")
+
 /* IA64 has seperate I/D cache, with coherence maintained by DMA controller.
  * So to emulate right behavior that guest OS is assumed, we need to flush
  * I/D cache here.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Removeatomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its
  2007-05-10 16:35 ` [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Remove atomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its Alex Williamson
@ 2007-05-10 20:01   ` Christian Limpach
  2007-05-10 21:09     ` Alex Williamson
  0 siblings, 1 reply; 3+ messages in thread
From: Christian Limpach @ 2007-05-10 20:01 UTC (permalink / raw)
  To: Alex Williamson, xen-devel

>    ia64intrin.h is all but empty in gcc 4.1.2, so there's no point in
> including it.  dm-exec is still making use of a few of these 
> too, but I
> guess it's easy enough to inline them there.  Patch below.  Thanks,

Would it also work to just leave the include in exec-all.h?  I was
confused and thought that it was a local include which is why I put
#ifndef CONFIG_DM around all the testandset definitions.

So, if I remove the #ifndef CONFIG_DM, anything including exec-all.h
should still compile, right?  Do I still need the extra #define's in
that case?

    christian

> 
> 	Alex
> 
> Signed-off-by: Alex Williamson <alex.williamson@hp.com>
> ---
> 
> diff -r 07b1e917c9d8 tools/ioemu/exec-all.h
> --- a/tools/ioemu/exec-all.h	Thu May 10 16:22:27 2007 +0100
> +++ b/tools/ioemu/exec-all.h	Thu May 10 10:13:17 2007 -0600
> @@ -474,8 +474,6 @@ static inline int testandset (int *p)
>  #endif
>  
>  #ifdef __ia64
> -#include <ia64intrin.h>
> -
>  static inline int testandset (int *p)
>  {
>      return __sync_lock_test_and_set (p, 1);
> diff -r 07b1e917c9d8 tools/ioemu/target-i386-dm/exec-dm.c
> --- a/tools/ioemu/target-i386-dm/exec-dm.c	Thu May 10 
> 16:22:27 2007 +0100
> +++ b/tools/ioemu/target-i386-dm/exec-dm.c	Thu May 10 
> 10:11:38 2007 -0600
> @@ -360,6 +360,11 @@ CPUReadMemoryFunc **cpu_get_io_memory_re
>  }
>  
>  #ifdef __ia64__
> +
> +#define __ia64_fc(addr)	asm volatile ("fc %0" :: 
> "r"(addr) : "memory")
> +#define ia64_sync_i()	asm volatile (";; sync.i" ::: "memory")
> +#define ia64_srlz_i()	asm volatile (";; srlz.i ;;" 
> ::: "memory")
> +
>  /* IA64 has seperate I/D cache, with coherence maintained by 
> DMA controller.
>   * So to emulate right behavior that guest OS is assumed, we 
> need to flush
>   * I/D cache here.
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Removeatomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its
  2007-05-10 20:01   ` [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Removeatomic_set_bit, " Christian Limpach
@ 2007-05-10 21:09     ` Alex Williamson
  0 siblings, 0 replies; 3+ messages in thread
From: Alex Williamson @ 2007-05-10 21:09 UTC (permalink / raw)
  To: Christian Limpach; +Cc: xen-devel

On Thu, 2007-05-10 at 13:01 -0700, Christian Limpach wrote:
> >    ia64intrin.h is all but empty in gcc 4.1.2, so there's no point in
> > including it.  dm-exec is still making use of a few of these 
> > too, but I
> > guess it's easy enough to inline them there.  Patch below.  Thanks,
> 
> Would it also work to just leave the include in exec-all.h?  I was
> confused and thought that it was a local include which is why I put
> #ifndef CONFIG_DM around all the testandset definitions.
> 
> So, if I remove the #ifndef CONFIG_DM, anything including exec-all.h
> should still compile, right?  Do I still need the extra #define's in
> that case?

   ia64intrin.h is basically empty, so making it included for the
dm-exec build doesn't really help.  The defines still need to come from
somewhere.  We could replace <ia64intrin.h> with <asm/gcc_intrin.h>, but
for this trivial case, I'd rather not get tied up including kernel
headers in userspace tools.  Thanks,

	Alex

-- 
Alex Williamson                             HP Open Source & Linux Org.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-05-10 21:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <200705101500.l4AF0N4b027027@latara.uk.xensource.com>
2007-05-10 16:35 ` [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Remove atomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its Alex Williamson
2007-05-10 20:01   ` [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Removeatomic_set_bit, " Christian Limpach
2007-05-10 21:09     ` Alex Williamson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.