* [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.