|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
Re: [Xen-devel] regression from c/s 22071:c5aed2e049bc (ept: Put	locks a
 
On 17/12/2010 14:03, "Olaf Hering" <olaf@xxxxxxxxx> wrote:
> On Thu, Dec 16, Keir Fraser wrote:
> 
>> Excellent. I will lay groundwork and fix pte_{read,write}_atomic directly in
>> -unstable and -4.0-testing. I will then post a proposed fix for EPT to the
>> list. I don't know that code so well and I may not otherwise catch all
>> places that require use of the new accessor macros.
> 
> Keir,
> 
> this failure may be related to the changes that went just into
> xen-unstable, fails in openSuSE 11.2 and 11.3 on 32bit:
Oops, I stared at the atomic_write64() implementation a while, I had an old
version to basically copy across, and still I got it wrong. It's fixed by
xen-unstable c/s 22572.
 Thanks,
 Keir
> make[2]: Entering directory `/usr/src/packages/BUILD/xen-unstable.hg-4.1.22571
> /xen/arch/x86'
> gcc -fomit-frame-pointer -fmessage-length=0 -O2 -Wall 
> -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables 
> -fasynchronous-unwind-tables -O1 -fno-omit-frame-pointer 
> -fno-optimize-sibling-calls -m32 -march=i686 -g -fno-strict-aliasing 
> -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value 
> -Wdeclaration-after-statement  -nostdinc -fno-builtin -fno-common 
> -Wredundant-decls -iwithprefix include -Werror -Wno-pointer-arith -pipe 
> -I/usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/include  
> -I/usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/include/asm-x86/mach-g
> eneric   
> -I/usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/include/asm-x86/mach-d
> efault  -msoft-float -fno-stack-protector -fno-exceptions -g -D__XEN__ 
> -DVERBOSE -DCRASH_DEBUG -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER 
> -DMAX_PHYS_CPUS=32 -MMD -MF .xen.d -O1 -fno-omit-frame-pointer 
> -fno-optimize-sibling-calls -m32 -march=i686 -g -fno-strict-aliasing 
> -std=gnu99 -Wall -Wstrict-prototypes -Wno-unused-value 
> -Wdeclaration-after-statement  -nostdinc -fno-builtin -fno-common 
> -Wredundant-decls -iwithprefix include -Werror -Wno-pointer-arith -pipe 
> -I/usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/include  
> -I/usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/include/asm-x86/mach-g
> eneric   
> -I/usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/include/asm-x86/mach-d
> efault  -msoft-float -fno-stack-protector -fno-exceptions -g -D__XEN__ 
> -DVERBOSE -DCRASH_DEBUG -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER 
> -DMAX_PHYS_CPUS=32 -MMD -MF .asm-offsets.s.d -S -o asm-offsets.s 
> x86_32/asm-offsets.c
> cc1: warnings being treated as errors
> In file included from /usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/in
> clude/asm/spinlock.h:6,
>                  from /usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/in
> clude/xen/spinlock.h:6,
>                  from /usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/in
> clude/xen/sched.h:7,
>                  from x86_32/asm-offsets.c:9:
> /usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/include/asm/atomic.h: In
>  function 'atomic_write64':
> /usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/xen/include/asm/atomic.h:39:
>  error: operation on 'old' may be undefined
> make[2]: *** [asm-offsets.s] Error 1
> make[2]: Leaving directory `/usr/src/packages/BUILD/xen-unstable.hg-4.1.22571/
> xen/arch/x86'
> 
>  36 static inline void atomic_write64(volatile uint64_t *addr, uint64_t val)
>  37 {
>  38     uint64_t old = *addr, new, *__addr = (uint64_t *)addr;
>  39     while ( (old = __cmpxchg8b(__addr, old, val)) != old )
>  40         old = new;
>  41 }
> 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
 | 
    | 
  
  
    |   | 
    |