[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] RE: [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Removeatomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its


  • To: "Alex Williamson" <alex.williamson@xxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Christian Limpach" <Christian.Limpach@xxxxxxxxxxxxx>
  • Date: Thu, 10 May 2007 13:01:09 -0700
  • Delivery-date: Thu, 10 May 2007 13:00:16 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: AceTIUqd5je47wTkStuu2ZzW68xuRwAG8OXA
  • Thread-topic: [PATCH] Re: [Xen-staging] [xen-unstable] [qemu] Removeatomic_set_bit, atomic_clear_bit and ia64_intrinsic.h and its

>    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@xxxxxx>
> ---
> 
> 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.
> 
> 
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.