WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 1/9] Xen Share: Simplified I/O Mechanism

To: Harry Butterworth <harry@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 1/9] Xen Share: Simplified I/O Mechanism
From: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
Date: Wed, 07 Jun 2006 12:24:19 +1000
Cc: Xen Mailing List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 06 Jun 2006 19:24:53 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1149604314.7721.62.camel@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1149572143.5183.25.camel@xxxxxxxxxxxxxxxxxxxxx> <1149604314.7721.62.camel@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On Tue, 2006-06-06 at 15:31 +0100, Harry Butterworth wrote:
> On Tue, 2006-06-06 at 15:35 +1000, Rusty Russell wrote:
> > +        __asm__ __volatile__(
> > +            LOCK_PREFIX "cmpxchg8b %3"
> > +            : "=d" (nd), "=a" (y), "=c" (d),
> > +              "=m" (*(volatile u64 *)(&page->count_info))
> > +            : "0" (d), "1" (x), "c" (d), "b" (nx) );
> > +    }
> > +    while ( unlikely(nd != d) || unlikely(y != x) );
> > +
> > +    return 1;
> > +}
> 
> What is the "=c" (d) there for?  And doesn't cmpxchg8b modify the zero
> flag---is it necessary to clobber the condition code register?

Good questions.  I copied this code from below, though, so I can
conveniently punt on this one...

> > diff -r d5f98d23427a xen/include/public/xen.h
> > --- a/xen/include/public/xen.h      Tue May 30 10:44:23 2006
> > +++ b/xen/include/public/xen.h      Wed May 31 17:39:54 2006
> > @@ -64,6 +64,7 @@
> >  #define __HYPERVISOR_xenoprof_op          31
> >  #define __HYPERVISOR_event_channel_op     32
> >  #define __HYPERVISOR_physdev_op           33
> > +#define __HYPERVISOR_share_op             33
> 
> Sharing no 33?

Oops.  Good catch, this must have been my sloppy merging.  I've fixed
this locally.

Thanks!
Rusty.
-- 
 ccontrol: http://ccontrol.ozlabs.org


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