From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerone Young Subject: x86-64 tools fix question Date: Tue, 01 Mar 2005 13:56:46 -0600 Message-ID: <1109707006.13010.15.camel@thinkpad> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Sender: xen-devel-admin@lists.sourceforge.net Errors-To: xen-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , List-Archive: To: xen-devel List-Id: xen-devel@lists.xenproject.org In the tools there is a declaration: #if defined(__i386__) #define rmb() __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" ) #define wmb() __asm__ __volatile__ ( "" : : : "memory" ) #else #error "Define barriers" #endif located in: xcs/xcs.h tools/python/xen/lowlevel/xu/xu.c I'm assuming this has a convenient side-effect that it prevents read reordering. Otherwise I can't figure out why this is being done at all. Now I'm guessing that that using rsp instead of esp since we are in 64bit mode will give the same effect needed. #elif defined(__x86_64__) #define rmb() __asm__ __volatile__ ( "lock; addl $0,0(%%rsp)" : : : "memory" ) #define wmb() __asm__ __volatile__ ( "" : : : "memory" ) I would like to discuss is this correct, dead wrong, or even needed at all? -- Jerone Young Open Virtualization IBM Linux Technology Center jyoung5@us.ibm.com 512-838-1157 (T/L: 678-1157) ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click