From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerone Young Subject: [PATCH] cpu barriers moved and x86-64 cpu barriers added Date: Tue, 01 Mar 2005 21:50:38 -0600 Message-ID: <1109735438.7560.1.camel@thinkpad> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-mPsGEkHRsDcxWojRte2q" 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 --=-mPsGEkHRsDcxWojRte2q Content-Type: text/plain Content-Transfer-Encoding: 7bit Apologies if this is comes in twice. I sent this earlier today but I don't see it on the list...;-0 We actually should have wmb() be defined as "asm volatile("":::"memory") since we are not using out of order io. The patch attached removes all the instances and places the definitions in libxc/xc.h as per the discussion last week between Anthony & Keir. Signed-off-by: Jerone Young -- Jerone Young Open Virtualization IBM Linux Technology Center jyoung5@us.ibm.com 512-838-1157 (T/L: 678-1157) --=-mPsGEkHRsDcxWojRte2q Content-Disposition: attachment; filename=cpu_barrier_patch.diff Content-Type: text/x-patch; name=cpu_barrier_patch.diff; charset=UTF-8 Content-Transfer-Encoding: 7bit diff -Nur xen-unstable-0301.orig/tools/blktap/blktaplib.h xen-unstable-0301-test/tools/blktap/blktaplib.h --- xen-unstable-0301.orig/tools/blktap/blktaplib.h 2005-03-01 06:54:49.000000000 -0600 +++ xen-unstable-0301-test/tools/blktap/blktaplib.h 2005-03-01 16:24:25.780124280 -0600 @@ -10,22 +10,6 @@ #include -typedef uint8_t u8; -typedef uint16_t u16; -typedef uint32_t u32; -typedef uint64_t u64; -typedef int8_t s8; -typedef int16_t s16; -typedef int32_t s32; -typedef int64_t s64; - -#if defined(__i386__) -#define rmb() __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" ) -#define wmb() __asm__ __volatile__ ( "" : : : "memory" ) -#else -#error "Define barriers" -#endif - #include #include #include diff -Nur xen-unstable-0301.orig/tools/libxc/xc.h xen-unstable-0301-test/tools/libxc/xc.h --- xen-unstable-0301.orig/tools/libxc/xc.h 2005-03-01 06:54:49.000000000 -0600 +++ xen-unstable-0301-test/tools/libxc/xc.h 2005-03-01 16:05:53.248254832 -0600 @@ -25,6 +25,21 @@ #include #include + +/*\ + * DEFINITIONS FOR CPU BARRIERS +\*/ +#if defined(__i386__) +#define rmb() __asm__ __volatile__ ("lock; addl $0,0(%%esp)" : : : "memory") +#define wmb() __asm__ __volatile__ ("" : : : "memory") +#elif defined(__x86_64__) +#define mb() asm volatile("mfence":::"memory") +#define rmb() asm volatile("lfence":::"memory") +#define wmb() asm volatile( "" :::"memory") +#else +#error "Define barriers" +#endif + /*\ * INITIALIZATION FUNCTIONS \*/ diff -Nur xen-unstable-0301.orig/tools/python/xen/lowlevel/xu/xu.c xen-unstable-0301-test/tools/python/xen/lowlevel/xu/xu.c --- xen-unstable-0301.orig/tools/python/xen/lowlevel/xu/xu.c 2005-03-01 06:54:49.000000000 -0600 +++ xen-unstable-0301-test/tools/python/xen/lowlevel/xu/xu.c 2005-03-01 16:01:13.083846296 -0600 @@ -49,14 +49,6 @@ /* Size of a machine page frame. */ #define PAGE_SIZE 4096 -#if defined(__i386__) -#define rmb() __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" ) -#define wmb() __asm__ __volatile__ ( "" : : : "memory" ) -#else -#error "Define barriers" -#endif - - /* Set the close-on-exec flag on a file descriptor. Doesn't currently bother * to check for errors. */ /* diff -Nur xen-unstable-0301.orig/tools/xcs/xcs.h xen-unstable-0301-test/tools/xcs/xcs.h --- xen-unstable-0301.orig/tools/xcs/xcs.h 2005-03-01 06:54:49.000000000 -0600 +++ xen-unstable-0301-test/tools/xcs/xcs.h 2005-03-01 16:02:22.707261928 -0600 @@ -39,13 +39,6 @@ /* Size of a machine page frame. */ #define PAGE_SIZE 4096 -#if defined(__i386__) -#define rmb() __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" ) -#define wmb() __asm__ __volatile__ ( "" : : : "memory" ) -#else -#error "Define barriers" -#endif - #ifndef timersub /* XOPEN and __BSD don't cooperate well... */ #define timersub(a, b, result) \ do { \ --=-mPsGEkHRsDcxWojRte2q-- ------------------------------------------------------- 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