|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|